Error Detection using Shape Analysis with Local Reasoning

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



Duration: 1:12:15
37 views
0


Shape analyses are static analyses aimed at extracting invariants that describe the shapes of dynamically allocated recursive structures. Although existing shape analyses have been successful at verifying complex heap manipulations, they had limited success at being practical for larger programs. In particular, they have not been incorporated in scalable error-detection tools so far. In this talk I will present a novel approach to shape analysis: using local reasoning about individual heap locations instead of global reasoning about entire heap abstractions. The key feature of this approach is a novel memory abstraction that models the heap using a set of independent configurations, each of which characterizes one single heap location. This approach: 1) leads to simpler algorithm specifications, because of local reasoning about the single location; 2) leads to efficient algorithms, because of the smaller abstraction granularity; and 3) makes it easier to develop context-sensitive, demand-driven, and incremental shape analyses. I will also present a prototype system that uses shape analysis to detect memory leaks and accesses through dangling pointers in C programs. The current results suggest that the local reasoning approach is both sufficiently precise to accurately analyze a large class of heap manipulation algorithms, and sufficiently lightweight to scale to larger programs.




Other Videos By Microsoft Research


2016-09-05Dynamosaics: Dynamic Mosaics with Non-Chronological Time
2016-09-05Automatic Failure Diagnosis in Large-Scale Systems
2016-09-05The Economics of Software Dependability
2016-09-05An Overview of Recent CMU Research on Model-Based Face Processing
2016-09-05Resource acquisition via an unsupervised WSD system
2016-09-05Fast Infinite-State Model Checking in Integer-Based Systems
2016-09-05WeΓÇÖre Friends, Right?: Inside KidsΓÇÖ Culture [1/4]
2016-09-05Accelerated Democracy: How technology might change voting
2016-09-05When Can Formal Methods Make a Real Difference?
2016-09-05Dynamic Semantics of Programming Languages and Applications to Testing
2016-09-05Error Detection using Shape Analysis with Local Reasoning
2016-09-05Social Network Analysis meets the Semantic Web: What FOAF Reveals About LiveJournal
2016-09-05Distributed Multi-robot Exploration and Mapping
2016-09-051.Vision: Extraordinary Computing Experiences & 2. Robots for the Masses: Fiction or Reality
2016-09-05Modeling and Facilitating Human Communication [1/5]
2016-09-05Reducing Errors in Computer Recognition of Handwritten Material
2016-09-05Information wants to be free (but is everywhere in chains)
2016-09-05The art and technology of electronic textiles
2016-09-05Quantum Loop Gas Approach to Topological Phases of Correlated Electrons
2016-09-05Computational History In Action: Discovering Gutenberg's Printing Process
2016-09-05A World Filled With Cameras: Security at the Cost of Freedom? Or Can We Have Both?



Tags:
microsoft research