Concerto: a framework for combined concrete and abstract interpretation

Abstract

Abstract interpretation promises sound but computable static summarization of program behavior. However, modern software engineering practices pose significant challenges to this vision, specifically the extensive use of frameworks and complex libraries. Frameworks heavily use reflection, metaprogramming, and multiple layers of abstraction, all of which confound even state-of-the-art abstract interpreters. Sound but conservative analysis of frameworks is impractically imprecise, and unsoundly ignoring reflection and metaprogramming is untenable given the prevalence of these features. Manually modeling framework behaviors offers excellent precision, at the cost of immense effort by the tool designer.

Document Details

Document Type
Pub Defense Publication
Publication Date
Jan 02, 2019
Source ID
10.1145/3290356

Entities

People

  • Dan Grossman
  • John Toman

Organizations

  • Defense Advanced Research Projects Agency
  • University of Washington

Tags

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Distributed Systems and Data Platform Development
  • Systems Analysis and Design