Specification-Based Annotation Inference

Subscribers:
349,000
Published on ● Video Link: https://www.youtube.com/watch?v=2Md5cwK59EI



Duration: 1:07:51
57 views
0


A great wealth of information about a program may be implicit in the source code itself; for example, in C and C++ this includes parameter usage and -ness, buffer extents, potential taint, and resource management obligations.  When this information is added to existing programs in the form of annotations, aspects of the program's correctness can be verified by checking the source code on a function-by-function basis.  However, it is time-consuming to manually annotate millions of lines of legacy code.   In this talk we present a specification language and engine to be used for automatically inferring annotations in very large programs.  A specification consists of a collection of rules for deriving possible program states and annotations in a flow-sensitive manner, and the engine performs a graph search to exhaustively apply those rules.  Specifications are independent from the actual program semantics, so the engine may both miss annotations and infer spurious ones; we discuss the usage of soundness (accuracy) and completeness (coverage) as metrics to evaluate specifications.   We present the results of inferring annotations about parameter usage, -ness, and buffer sizes in the complete Windows code base.  As part of the Windows SAL effort, these annotations are currently being reviewed and checked in by developers.




Other Videos By Microsoft Research


2016-09-05ME++
2016-09-05Structural Comparison of Executable Objects
2016-09-05Indifference is Death: Responsibility, Leadership, & Innovation
2016-09-05TQFTs and tight contact structures on 3-manifolds      
2016-09-05Wireless Embedded Networks/The Ecosystem and Cool Challenges
2016-09-05Data Mining & Machine Learning to empower business strategy
2016-09-05Some uses of orthogonal polynomials
2016-09-05Approximation Algorithms for Embedding with Extra Information and Ordinal Relaxation
2016-09-05Evaluating Retrieval System Effectiveness
2016-09-05Exploiting the Transients of Adaptation for RoQ Attacks on Internet Resources
2016-09-05Specification-Based Annotation Inference
2016-09-05Emotion Recognition in Speech Signal: Experimental Study, Development and Applications
2016-09-05Text summarization: News and Beyond
2016-09-05Data Streaming Algorithms for Efficient and Accurate Estimation of Flow Size Distribution
2016-09-05Learning and Inferring Transportation Routines
2016-09-05Raising the Bar: Integrity and Passion in Life and Business: The Story of Clif Bar, Inc.
2016-09-05Revelationary Computing, Proactive Displays and The Experience UbiComp Project
2016-09-05The Design of A Formal Property-Specification Language
2016-09-05Data Harvesting: A Random Coding Approach to Rapid Dissemination and Efficient Storage of Data
2016-09-05Runtime Refinement Checking for Concurrent Data Structures
2016-09-05Lost in Space: The Fall of NASA and the Dream of a New Space Age



Tags:
microsoft research