ABSTRACT
AliasJava is a type annotation system that extends Java to express how data is confined within, passed among, or shared between objects in a software system. We present an implementation of the AliasJava system as Java 1.5 annotations and an analysis using the Eclipse infrastructure.
- ArchJava website. http://www.archjava.org. 2006.Google Scholar
- M. Abi-Antoun and J. Aldrich. JavaD: Bringing ownership domains to mainstream java. Technical Report CMU-ISRI-06-110, Carnegie Mellon University, 2006.Google ScholarCross Ref
- M. Abi-Antoun, J. Aldrich, and W. Coelho. A case study in reengineering a legacy application to enforce architectural control flow and data sharing. Journal of Systems and Software, 2006. To appear. Google ScholarDigital Library
- J. Aldrich and C. Chambers. Ownership domains: Separating aliasing policy from mechanism. In ECOOP, 2004.Google ScholarCross Ref
- J. Aldrich, V. Kostadinov, and C. Chambers. Alias annotations for program understanding. In OOPSLA, 2002. Google ScholarDigital Library
- D. Clarke and T. Wrigstad. External uniqueness is unique enough. In ECOOP, 2003.Google ScholarCross Ref
Index Terms
- Bringing ownership domains to mainstream Java
Recommendations
Bringing java's wild native world under control
For performance and for incorporating legacy libraries, many Java applications contain native-code components written in unsafe languages such as C and C++. Native-code components interoperate with Java components through the Java Native Interface (JNI)...
Ownership and immutability in generic Java
OOPSLA '10The Java language lacks the important notions of ownership (an object owns its representation to prevent unwanted aliasing) and immutability (the division into mutable, immutable, and readonly data and references). Programmers are prone to design errors,...
Inferring aliasing and encapsulation properties for java
OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems, languages and applicationsThere are many proposals for language techniques to control aliasing and encapsulation in object oriented programs, typically based on notions of object ownership and pointer uniqueness. Most of these systems require extensive manual annotations, and ...
Comments