Leveraging contextual information from function call chains to improve fault localization

A. Beszédes, F. Horváth, Massimiliano Di Penta, T. Gyimóthy

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

In Spectrum-Based Fault Localization, program elements such as statements or functions are ranked according to a suspiciousness score which can guide the programmer in finding the fault more efficiently. However, such a ranking does not include any additional information about the element under investigation. In this work, we propose to complement function-level spectrum based fault localization with function call chains-i.e., snapshots of the call stack occurring during execution-on which the fault localization is first performed, and then narrowed down to functions. Our experiments using defects from four Defects4J programs show that (i) 84% of the defective functions can be found in call chains with highest scores, (ii) the proposed approach improves Ochiai ranking of 1 to 6 positions on average, with a relative improvement of 45%, and (iii) the improvement is substantial when Ochiai produces bad rankings.

Original languageEnglish
Title of host publicationProceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering
Subtitle of host publicationCompanion, ICSE-Companion 2019
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages296-297
Number of pages2
ISBN (Electronic)9781728117645
DOIs
Publication statusPublished - May 1 2019
Event41st IEEE/ACM International Conference on Software Engineering: Companion, ICSE-Companion 2019 - Montreal, Canada
Duration: May 25 2019May 31 2019

Publication series

NameProceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019

Conference

Conference41st IEEE/ACM International Conference on Software Engineering: Companion, ICSE-Companion 2019
CountryCanada
CityMontreal
Period5/25/195/31/19

Fingerprint

ranking
Fault
Localization
Defects
experiment
Ranking
Experiments
Experiment

Keywords

  • Call stack trace
  • Function call chains
  • Spectrum Based Fault Localization
  • Testing and debugging

ASJC Scopus subject areas

  • Organizational Behavior and Human Resource Management
  • Software
  • Safety, Risk, Reliability and Quality
  • Education

Cite this

Beszédes, A., Horváth, F., Di Penta, M., & Gyimóthy, T. (2019). Leveraging contextual information from function call chains to improve fault localization. In Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019 (pp. 296-297). [8802804] (Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019). Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/ICSE-Companion.2019.00122

Leveraging contextual information from function call chains to improve fault localization. / Beszédes, A.; Horváth, F.; Di Penta, Massimiliano; Gyimóthy, T.

Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019. Institute of Electrical and Electronics Engineers Inc., 2019. p. 296-297 8802804 (Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Beszédes, A, Horváth, F, Di Penta, M & Gyimóthy, T 2019, Leveraging contextual information from function call chains to improve fault localization. in Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019., 8802804, Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019, Institute of Electrical and Electronics Engineers Inc., pp. 296-297, 41st IEEE/ACM International Conference on Software Engineering: Companion, ICSE-Companion 2019, Montreal, Canada, 5/25/19. https://doi.org/10.1109/ICSE-Companion.2019.00122
Beszédes A, Horváth F, Di Penta M, Gyimóthy T. Leveraging contextual information from function call chains to improve fault localization. In Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019. Institute of Electrical and Electronics Engineers Inc. 2019. p. 296-297. 8802804. (Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019). https://doi.org/10.1109/ICSE-Companion.2019.00122
Beszédes, A. ; Horváth, F. ; Di Penta, Massimiliano ; Gyimóthy, T. / Leveraging contextual information from function call chains to improve fault localization. Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019. Institute of Electrical and Electronics Engineers Inc., 2019. pp. 296-297 (Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019).
@inproceedings{038b6aa4c05c4710b4c78ac06d23aad3,
title = "Leveraging contextual information from function call chains to improve fault localization",
abstract = "In Spectrum-Based Fault Localization, program elements such as statements or functions are ranked according to a suspiciousness score which can guide the programmer in finding the fault more efficiently. However, such a ranking does not include any additional information about the element under investigation. In this work, we propose to complement function-level spectrum based fault localization with function call chains-i.e., snapshots of the call stack occurring during execution-on which the fault localization is first performed, and then narrowed down to functions. Our experiments using defects from four Defects4J programs show that (i) 84{\%} of the defective functions can be found in call chains with highest scores, (ii) the proposed approach improves Ochiai ranking of 1 to 6 positions on average, with a relative improvement of 45{\%}, and (iii) the improvement is substantial when Ochiai produces bad rankings.",
keywords = "Call stack trace, Function call chains, Spectrum Based Fault Localization, Testing and debugging",
author = "A. Besz{\'e}des and F. Horv{\'a}th and {Di Penta}, Massimiliano and T. Gyim{\'o}thy",
year = "2019",
month = "5",
day = "1",
doi = "10.1109/ICSE-Companion.2019.00122",
language = "English",
series = "Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "296--297",
booktitle = "Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering",

}

TY - GEN

T1 - Leveraging contextual information from function call chains to improve fault localization

AU - Beszédes, A.

AU - Horváth, F.

AU - Di Penta, Massimiliano

AU - Gyimóthy, T.

PY - 2019/5/1

Y1 - 2019/5/1

N2 - In Spectrum-Based Fault Localization, program elements such as statements or functions are ranked according to a suspiciousness score which can guide the programmer in finding the fault more efficiently. However, such a ranking does not include any additional information about the element under investigation. In this work, we propose to complement function-level spectrum based fault localization with function call chains-i.e., snapshots of the call stack occurring during execution-on which the fault localization is first performed, and then narrowed down to functions. Our experiments using defects from four Defects4J programs show that (i) 84% of the defective functions can be found in call chains with highest scores, (ii) the proposed approach improves Ochiai ranking of 1 to 6 positions on average, with a relative improvement of 45%, and (iii) the improvement is substantial when Ochiai produces bad rankings.

AB - In Spectrum-Based Fault Localization, program elements such as statements or functions are ranked according to a suspiciousness score which can guide the programmer in finding the fault more efficiently. However, such a ranking does not include any additional information about the element under investigation. In this work, we propose to complement function-level spectrum based fault localization with function call chains-i.e., snapshots of the call stack occurring during execution-on which the fault localization is first performed, and then narrowed down to functions. Our experiments using defects from four Defects4J programs show that (i) 84% of the defective functions can be found in call chains with highest scores, (ii) the proposed approach improves Ochiai ranking of 1 to 6 positions on average, with a relative improvement of 45%, and (iii) the improvement is substantial when Ochiai produces bad rankings.

KW - Call stack trace

KW - Function call chains

KW - Spectrum Based Fault Localization

KW - Testing and debugging

UR - http://www.scopus.com/inward/record.url?scp=85071868181&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85071868181&partnerID=8YFLogxK

U2 - 10.1109/ICSE-Companion.2019.00122

DO - 10.1109/ICSE-Companion.2019.00122

M3 - Conference contribution

AN - SCOPUS:85071868181

T3 - Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019

SP - 296

EP - 297

BT - Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering

PB - Institute of Electrical and Electronics Engineers Inc.

ER -