New Directions in Static Analysis for Error-Detection and Garbage Collection

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=4kqQReDhHho



Duration: 54:45
33 views
0


Pointer analysis is critical for effectively analyzing programs written in languages like C, C++, and Java, which make heavy use of pointers and pointer-based data structures. Unfortunately, pointer analysis continues to be one of the most persistent and difficult problems in static analysis. One reason for this is that previous work has viewed pointer analysis as a single, monolithic problem that can be solved in isolation. However, pointer analysis is not a stand-alone task: its purpose is to provide pointer information to other client analysis algorithms. Since the needs of these clients vary widely, research has so far been unable to produce an efficient pointer analysis algorithm that satisfies them all. Our view is that pointer analysis is not a single problem that can be separated from its client analysis problems. Instead, pointer analysis comprises a family of algorithms, which are selected and customized to meet the specific requirements of each client. In this talk I will present two such customized algorithms. The first is a pointer analysis that we developed for compiler-assisted garbage collection in Java. This analysis supports dynamic object colocation by finding objects that will be connected and instrumenting the program to ensure that they are allocated together in the same garbage collection space. This algorithm is unique because it is unsound: it can miss potential pointer relationships. However, the client (in this case the garbage collector) does not require soundness because allocation decisions do not affect correctness. The second algorithm is a more general approach to customization, called client-driven pointer analysis, which automatically adapts its precision to match the needs of client analyses. Many whole-program analysis problems need precise pointer information, but often they need it only in specific parts of the target program. Our algorithm uses a fast initial analysis pass to determine where more precision is needed, then reruns the analysis with fine-grained precision policy that is customized for the particular client and program. We demonstrate this algorithm on a suite of real, open-source C programs, using a set of error detection problems as clients. Our algorithm achieves high error detection accuracy at a fraction of the cost of comparably accurate fixed-precision algorithms.




Other Videos By Microsoft Research


2016-09-08Computational Aspects of Biological Information Workshop Session 5
2016-09-08Average-case analysis for combinatorial problems featuring subset sums and stochastic spanning trees
2016-09-08Making Smart Science Easier: The CombeChem Experience - eScience from the Laboratory to the Library
2016-09-08Music Information Retrieval: Query-By-Humming and Source Estimation
2016-09-08Should Russia be looked upon as a Western partner or does Russia pose an ongoing strategic threat?
2016-09-08Information Technologies and International Development: An Overview of Results from Africa & India
2016-09-08New Directions in Static Analysis for Error-Detection and Garbage Collection
2016-09-08Darwin’s Devices: What Evolving Robots Can Teach Us About the History of Life and the Future of Tech
2016-09-08Using Statistical Monitoring to Detect Failures in Internet Services [1/8]
2016-09-08Perelman's work on the Thurston's Geometrization Conjecture.
2016-09-08New Directions in Static Analysis for Error-Detection and Garbage Collection
2016-09-08SCS '06 - Lightning Round 3: Interactions in Online ΓÇ£SpacesΓÇ¥ - Part
2016-09-08SCS '06 - Lightning Round 3: Interactions in Online ΓÇ£SpacesΓÇ¥ - Part
2016-09-08Computer Human Interaction - the Near and Long-Term Prospects [1/8]
2016-09-08Modernist Cuisine at Home
2016-09-0818 Minutes: Find Your Focus, Master Distraction, and Get the Right Things Done
2016-09-08Antifragile: Things that Gain from Disorder
2016-09-08The Joy of X: A Guided Tour of Math, From One to Infinity
2016-09-08How to Be Black
2016-09-08TuringΓÇÖs Cathedral: The Origins of the Digital Universe
2016-09-08Regenesis: How Synthetic Biology Will Reinvent Nature and Ourselves



Tags:
microsoft research