Predicting Data Dependences for Slice Inspection Prioritization

Data dependences play a central role in program debugging and comprehension. They serve as building blocks for program slicing and statistical fault localization, among other debugging approaches. Unfortunately, static analysis reports many data dependences that, in reality, are infeasible or unlike...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Yiji Zhang, Santelices, R.
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Data dependences play a central role in program debugging and comprehension. They serve as building blocks for program slicing and statistical fault localization, among other debugging approaches. Unfortunately, static analysis reports many data dependences that, in reality, are infeasible or unlikely to occur at runtime. This phenomenon is exacerbated by the extensive use of pointers and object-oriented features in modern software. Dynamic analysis, in contrast, reports only data dependences that occur in an execution but misses all other dependences that can occur in the program. To tackle the imprecision of data-dependence analysis, we present a novel static analysis that predicts the likelihood of occurrence of data dependences. Although it is hard to predict execution frequencies accurately, our preliminary results suggest that our analysis can distinguish the data dependences most likely to occur from those less likely to occur, which helps engineers prioritize their inspection of dependences in slices. These are promising results that encourage further research.
DOI:10.1109/ISSREW.2012.43