[RiceCS]
DEPARTMENT
RESEARCHACADEMICS
PEOPLENEWS
[Rice]
Rice Computer Science
  SEARCH:
  

Department of Computer Science
Rice University

Selector-based Versus Conditional-constraint-based Data-flow Analysis of Programs

Philippe Meunier
Master of Science Thesis Defense

Abstract

Static analysis of programs encompasses a whole set of techniques used during many stages of the software development process, from compiler optimization, to debugging, to security analysis. One important such technique is data-flow analysis, to compute the set of values each expression in a program might evaluate to.

In this talk, I will first describe the set-based analysis used by MrSpidey, the old PLT/DrScheme static debugger, and how this analysis uses selectors to simulate the flow of values in a program. I will show why selectors are not adequate enough when trying to analyze language constructs such as case-lambda functions with rest arguments, show how selectors can then be extended with annotations to improve the analysis, and explain why adding annotations is, in the end, not desirable. I will then describe a conditional-constraint-based analysis, explain how it can compute results at least as good as the ones computed by the old analysis, and present experimental data showing why this analysis is preferable to the old one. Finally I will shortly explain how to extend the new analysis to handle enough language constructs to be able to analyze R5RS Scheme.

Thursday, Dec. 13 at 2 p.m. in Duncan Hall 3076

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---