Litcius/Paper detail

Testing static analyses for precision and soundness

Jubi Taneja, Zhengyang Liu, John Regehr

202036 citationsDOI

Abstract

Static analyses compute properties of programs that are true in all executions, and compilers use these properties to justify optimizations such as dead code elimination. Each static analysis in a compiler should be as precise as possible while remaining sound and being sufficiently fast. Unsound static analyses typically lead to miscompilations, whereas imprecisions typically lead to missed optimizations. Neither kind of bug is easy to track down.

Topics & Concepts

SoundnessStatic analysisCompilerComputer scienceOptimizing compilerProgramming languageParallel computingCompile timeCode (set theory)Static program analysisAbstract interpretationProgram analysisIntermediate languageSoftwareSet (abstract data type)Software developmentSoftware Testing and Debugging TechniquesParallel Computing and Optimization TechniquesLogic, programming, and type systems
Testing static analyses for precision and soundness | Litcius