ACM Home Page
Please provide us with feedback. Feedback
Enabling static analysis for partial java programs
Full text PdfPdf (262 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications table of contents
Nashville, TN, USA
SESSION: Program analysis table of contents
Pages 313-328  
Year of Publication: 2008
ISBN:978-1-60558-215-3
Also published in ...
Authors
Barthélémy Dagenais  McGill University, Montreal, PQ, Canada
Laurie Hendren  McGill University, Montreal, PQ, Canada
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 23,   Downloads (12 Months): 222,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1449764.1449790
What is a DOI?

ABSTRACT

Software engineering tools often deal with the source code of programs retrieved from the web or source code repositories. Typically, these tools only have access to a subset of a program's source code (one file or a subset of files) which makes it difficult to build a complete and typed intermediate representation (IR). Indeed, for incomplete object-oriented programs, it is not always possible to completely disambiguate the syntactic constructs and to recover the declared type of certain expressions because the declaration of many types and class members are not accessible.

We present a framework that performs partial type inference and uses heuristics to recover the declared type of expressions and resolve ambiguities in partial Java programs. Our framework produces a complete and typed IR suitable for further static analysis. We have implemented this framework and used it in an empirical study on four large open source systems which shows that our system recovers most declared types with a low error rate, even when only one class is accessible.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
JFreeChart. http://www.object-refinery.com/jfreechart/.
 
2
Jython. http://www.jython.org.
 
3
Lucene. http://lucene.apache.org.
 
4
Spring Framework. http://www.springframework.org.
5
6
7
8
9
 
10
 
11
 
12
 
13
 
14
 
15
Nathaniel Nystrom, Michael R. Clarkson, and Andrew C. Myers. Polyglot: An extensible compiler framework for java. In Proc. of the 12th International Conference on Compiler Construction, pages 138--152, 2003.
 
16
17
18
19
 
20
21
 
22


Collaborative Colleagues:
Barthélémy Dagenais: colleagues
Laurie Hendren: colleagues