Identifying Failure-Correlated Dependence Chains

  • Authors:
  • Rawad Abou Assi;Wes Masri

  • Affiliations:
  • -;-

  • Venue:
  • ICSTW '11 Proceedings of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Coverage-based fault localization techniques aim at locating faulty code by first identifying the executing program elements that correlate the most with failure. It often happens that the correlation measure of such elements is not high enough to successfully guide the developer to the fault. This shortcoming is likely due to the fact that the covered program elements are simple (e.g., statements, branches, or def-use pairs), and thus, cannot characterize most defects that are typically non trivial. In this work we aim at identifying short dependence chains that are highly correlated with failure, which we term failure correlated dependence chains. For more effective fault localization, both the number and length of these failure correlated chains should be minimal. In addition to considering data and control dependences, we augment each chain by computing a set of predicates involving the source values and target values of its edges. This supplementary state information can potentially help identify failure-correlated chains that are shorter in length and can better assist in locating the faulty code. We used 18 versions of the Siemens test suite to evaluate the effectiveness of our technique in comparison to when statement coverage is used. In our experimental study we empirically quantified the following: How often is our technique successful at identifying chains that are relatively more correlated with failure? Our results were promising as the technique successfully identified more correlated chains in 17 out of 18 versions.