Affiliation:
1. University of California, Los Angeles, CA
2. Purdue University, West Lafayette, IN
Abstract
Object-oriented languages provide little support for encapsulating objects. Reference semantics allows objects to escape their defining scope, and the pervasive aliasing that ensues remains a major source of software defects. This paper presents Kacheck/J, a tool for inferring object encapsulation properties of large Java programs. Our goal is to develop practical tools to assist software engineers, thus we focus on simple and scalable techniques. Kacheck/J is able to infer
confinement
—the property that all instances of a given type are encapsulated in their defining package. This simple property can be used to identify accidental leaks of sensitive objects, as well as for compiler optimizations. We report on the analysis of a large body of code and discuss language support and refactoring for confinement.
Publisher
Association for Computing Machinery (ACM)
Cited by
15 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Prioritizing refactorings for security-critical code;Automated Software Engineering;2021-05-18
2. Constraint-Based Refactoring;ACM Transactions on Programming Languages and Systems;2018-03-31
3. Refactoring Tools and Their Kin;Lecture Notes in Computer Science;2017
4. Over-exposed classes in Java: An empirical study;Computer Languages, Systems & Structures;2016-11
5. A large-scale study on the usage of Java’s concurrent programming constructs;Journal of Systems and Software;2015-08