ACM Home Page
Please provide us with feedback. Feedback
Exception analysis and points-to analysis: better together
Full text PdfPdf (441 KB)
Source
International Symposium on Software Testing and Analysis archive
Proceedings of the eighteenth international symposium on Software testing and analysis table of contents
Chicago, IL, USA
SESSION: Static analysis and verification table of contents
Pages 1-12  
Year of Publication: 2009
ISBN:978-1-60558-338-9
Authors
Martin Bravenboer  University of Massachusetts, Amherst, Amherst, MA, USA
Yannis Smaragdakis  University of Massachusetts, Amherst, Amherst, MA, USA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
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): 72,   Citation Count: 0
Additional Information:

abstract   references   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/1572272.1572274
What is a DOI?

ABSTRACT

Exception analysis and points-to analysis are typically done in complete separation. Past algorithms for precise exception analysis (e.g., pairing throw clauses with catch statements) use pre-computed points-to information. Past points-to analyses either unsoundly ignore exceptions, or conservatively compute a crude approximation of exception throwing (e.g., considering an exception throw as an assignment to a global variable, accessible from any catch clause). We show that this separation results in significant slowdowns or vast imprecision. The two kinds of analyses are interdependent: neither can be performed accurately without the other. The interdependency leads us to propose a joint handling for performance and precision. We show that our exception analysis is expressible highly elegantly in a declarative form, and can apply to points-to analyses of varying precision. In fact, our specification of exception analysis is "fully precise", as it models closely the Java exception handling semantics. The necessary approximation is provided only through whichever abstractions are used for contexts and objects in the base points-to analysis. Our combined approach achieves similar precision relative to exceptions (exception-catch links) as the best past precise exception analysis, with a runtime of seconds instead of tens of minutes. At the same time, our analysis achieves much higher precision of points-to information (an average of half as many values for each reachable variable for most of the DaCapo benchmarks) than points-to analyses that treat exceptions conservatively, all at a fraction of the execution time.


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
M. Bravenboer and Y. Smaragdakis. Strictly declarative specification of sophisticated points-to analyses. In submission to OOPSLA '09: 24th annual ACM SIGPLAN conference on Object Oriented Programming, Systems, Languages, and Applications, 2009.
2
 
3
4
5
6
 
7
S. J. Fink. T. J. Watson libraries for analysis (WALA). http://wala.sourceforge.net.
 
8
 
9
10
 
11
E. Hajiyev, M. Verbaere, and O. de Moor. Codequest: Scalable source code queries with Datalog. In ECOOP'06: Proceedings of the 20th European Conference on Object-Oriented Programming, 2006.
 
12
N. Immerman. Descriptive Complexity. Springer, 1998.
 
13
 
14
J. Jorgensen. Improving the precision and correctness of exception analysis in Soot. Technical Report 2003-3, McGill University, 2004.
15
 
16
O. Lhoták. Program Analysis using Binary Decision Diagrams. PhD thesis, McGill University, 2006.
 
17
O. Lhoták and L. Hendren. Scaling Java points-to analysis using Spark. In Compiler Construction, 12th International Conference, 2003.
18
19
 
20
 
21
T. Reps. Demand interprocedural program analysis using logic databases. In Applications of Logic Databases, 1994.
22
 
23
 
24
 
25
J. Whaley, D. Avots, M. Carbin, and M. S. Lam. Using Datalog with binary decision diagrams for program analysis. In Proc. of the 3rd Asian Symposium on Programming Languages and Systems, 2005.
26
 
27

Collaborative Colleagues:
Martin Bravenboer: colleagues
Yannis Smaragdakis: colleagues