Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 3 of 3

Full-Text Articles in Physical Sciences and Mathematics

Reasoning About The Behavior Of Aspect-Oriented Programs, Neelam Soundarajan, Raffi T. Khatchadourian, Johan Dovland Nov 2007

Reasoning About The Behavior Of Aspect-Oriented Programs, Neelam Soundarajan, Raffi T. Khatchadourian, Johan Dovland

Publications and Research

Aspect-oriented programming (AOP) has become increasingly popular over the last few years. At the same time, reasoning about the behavior of these programs poses serious challenges. In this paper, we present a rely-guarantee approach to such reasoning. The rely-guarantee approach has proven useful in reasoning about concurrent and distributed programs. We show that some of the key problems encountered in reasoning about aspect-oriented programs are similar to those encountered in reasoning about concurrent programs; and that the rely-guarantee approach, appropriately modified, helps address these problems. We illustrate our approach with a simple example.


Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi T. Khatchadourian, Jason Sawin, Atanas Rountev Oct 2007

Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi T. Khatchadourian, Jason Sawin, Atanas Rountev

Publications and Research

Modern Java languages introduce several new features that offer significant improvements over older Java technology. In this article we consider the new enum construct, which provides language support for enumerated types. Prior to recent Java languages, programmers needed to employ various patterns (e.g., the weak enum pattern) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. We present a novel fully-automated approach for transforming legacy Java code to use the new enumeration construct. This semantics-preserving approach increases type safety, produces code that is …


Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi T. Khatchadourian, Jason Sawin, Atanas Rountev Apr 2007

Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi T. Khatchadourian, Jason Sawin, Atanas Rountev

Publications and Research

Modern Java languages introduce several new features that offer significant improvements over older Java technology. In this article we consider the new enum construct, which provides language support for enumerated types. Prior to recent Java languages, programmers needed to employ various patterns (e.g., the weak enum pattern) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. We present a novel fully-automated approach for transforming legacy Java code to use the new enumeration construct. This semantics-preserving approach increases type safety, produces code that is …