Andrew Ruef
Research Subjects
Research Interests
Andrew Ruef has a total of 11 co-authors. Here are the top co-authors by number of shared publications:
- Jeffrey S. Foster
University of Maryland
2 shared publications Michael Hicks
University of Maryland
2 shared publications- Piotr Mardziel
Carnegie Mellon University
2 shared publications - Shiyi Wei
University of Texas at Dallas, Richardson, Texas, USA
2 shared publications Arlen Cox
Institute for Defense Analyses
1 shared publication- Chris Rohlf
Yahoo Inc
1 shared publication
Latest Publications
- Open Access
- 3 April 2019
- Published by Springer Nature
- p. 76-98
Achieving Safety Incrementally with Checked C
- 3 April 2019
- Published by Springer Nature
- p. 76-98
Open AccessAchieving Safety Incrementally with Checked C
- 29 August 2018
- Published by Springer Nature
- p. 383-401
Volume-Based Merge Heuristics for Disjunctive Numeric Domains
- 29 August 2018
- Published by Springer Nature
- p. 383-401
Volume-Based Merge Heuristics for Disjunctive Numeric Domains
- Open Access
- 14 April 2018
- Published by Springer Nature
- p. 653-682
Evaluating Design Tradeoffs in Numeric Static Analysis for Java
- 14 April 2018
- Published by Springer Nature
- p. 653-682
Open AccessEvaluating Design Tradeoffs in Numeric Static Analysis for Java
- Open Access
Evaluating Design Tradeoffs in Numeric Static Analysis for Java
Numeric static analysis for Java has a broad range of potentially useful applications, including array bounds checking and resource usage estimation. However, designing a scalable numeric static analysis for real-world Java programs presents a multitude of design choices, each of which may interact with others. For example, an analysis could handle method calls via either a top-down or bottom-up interprocedural analysis. Moreover, this choice could interact with how we choose to represent aliasing in the heap and/or whether we use a relational numeric domain, e.g., convex polyhedra. In this paper, we present a family of abstract interpretation-based numeric static analyses for Java and systematically evaluate the impact of 162 analysis configurations on the DaCapo benchmark suite. Our experiment considered the precision and performance of the analyses for discharging array bounds checks. We found that top-down analysis is generally a better choice than bottom-up analysis, and that using access paths to describe heap objects is better than using summary objects corresponding to points-to analysis locations. Moreover, these two choices are the most significant, while choices about the numeric domain, representation of abstract objects, and context-sensitivity make much less difference to the precision/performance tradeoff.
Open AccessEvaluating Design Tradeoffs in Numeric Static Analysis for Java
Numeric static analysis for Java has a broad range of potentially useful applications, including array bounds checking and resource usage estimation. However, designing a scalable numeric static analysis for real-world Java programs presents a multitude of design choices, each of which may interact with others. For example, an analysis could handle method calls via either a top-down or bottom-up interprocedural analysis. Moreover, this choice could interact with how we choose to represent aliasing in the heap and/or whether we use a relational numeric domain, e.g., convex polyhedra. In this paper, we present a family of abstract interpretation-based numeric static analyses for Java and systematically evaluate the impact of 162 analysis configurations on the DaCapo benchmark suite. Our experiment considered the precision and performance of the analyses for discharging array bounds checks. We found that top-down analysis is generally a better choice than bottom-up analysis, and that using access paths to describe heap objects is better than using summary objects corresponding to points-to analysis locations. Moreover, these two choices are the most significant, while choices about the numeric domain, representation of abstract objects, and context-sensitivity make much less difference to the precision/performance tradeoff.
- 10 April 2015
- Published by Springer Nature
- p. 307-321
Programming Language Theoretic Security in the Real World: A Mirage or the Future?
- 10 April 2015
- Published by Springer Nature
- p. 307-321
Programming Language Theoretic Security in the Real World: A Mirage or the Future?