Sofya: Supporting Rapid Development of Dynamic Program Analyses for Java

  • Authors:
  • Alex Kinneer;Matthew B. Dwyer;Gregg Rothermel

  • Affiliations:
  • University of Nebraska-Lincoln, USA;University of Nebraska-Lincoln, USA;University of Nebraska-Lincoln, USA

  • Venue:
  • ICSE COMPANION '07 Companion to the proceedings of the 29th International Conference on Software Engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic analysis is an increasingly important means of supporting software validation and maintenance. To date, developers of dynamic analyses have used low-level instrumentation and debug interfaces to realize their analyses. Many dynamic analyses, however, share multiple common high-level requirements, e.g., capture of program data state as well as events, and efficient and accurate event capture in the presence of threading. We present SOFYA -- an infra-structure designed to provide high-level, efficient, concurrency-aware support for building analyses that reason about rich observations of program data and events. It provides a layered, modular architecture, which has been successfully used to rapidly develop and evaluate a variety of demanding dynamic program analyses. In this paper, we describe the SOFYA framework, the challenges it addresses, and survey several such analyses.