CEMENT: On the Use of Evolutionary Coupling Between Tests and Code Units. A Case Study on Fault Localization

Jeongju Sohn, Mike Papadakis

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

Many software engineering techniques, such as fault localization, operate based on relevance relationships between tests and code. These relationships are often inferred using dynamic test execution information that approximates the link between relevant code units and asserted, by the tests, program behaviour. Unfortunately, in practice, dynamic information is not always available due to the instrumentation overheads or the nature of the production environments. This paper proposes CEMENT, a static technique that automatically infers such test and code relationships given the projects' evolution. The key idea is that developers make relevant changes to tests and code units around the same period, and thus their co-evolution reflects probable links between them. We evaluate CEMENT on 15 open-source projects, showing that it captures relevant links. We further conduct a fault localization case study and demonstrate that CEMENT can perform comparably to a current Information Retrieval-based Fault Localization (IRFL) approach. Additional analysis reveals that CEMENT and the IRFL localize different faults, suggesting complementarity. We leverage this complementarity by combining these two through voting, identifying 82% (32) of the faults located by at least one of them. These results suggest that test and code evolutionary coupling can effectively support test and debugging activities.

Original languageEnglish
Title of host publicationProceedings - 2022 IEEE 33rd International Symposium on Software Reliability Engineering, ISSRE 2022
PublisherIEEE Computer Society
Pages133-144
Number of pages12
ISBN (Electronic)9781665451321
DOIs
StatePublished - 2022
Event33rd IEEE International Symposium on Software Reliability Engineering, ISSRE 2022 - Charlotte, United States
Duration: 31 Oct 20213 Nov 2021

Publication series

NameProceedings - International Symposium on Software Reliability Engineering, ISSRE
Volume2022-October
ISSN (Print)1071-9458

Conference

Conference33rd IEEE International Symposium on Software Reliability Engineering, ISSRE 2022
Country/TerritoryUnited States
CityCharlotte
Period31/10/213/11/21

Keywords

  • fault localization
  • software evolution
  • software maintenance

Fingerprint

Dive into the research topics of 'CEMENT: On the Use of Evolutionary Coupling Between Tests and Code Units. A Case Study on Fault Localization'. Together they form a unique fingerprint.

Cite this