PreprintCited by 9Software Testing and Debugging TechniquesSoftware Engineering ResearchSoftware Reliability and Analysis Research

Entropy Guided Spectrum Based Bug Localization Using Statistical Language Model

Open access
Chakraborty, Saikat, Li, Yujian, Irvine, Matt, Saha, Ripon, Ray, Baishakhi·2018·arXiv

Abstract

Locating bugs is challenging but one of the most important activities in software development and maintenance phase because there are no certain rules to identify all types of bugs. Existing automatic bug localization tools use various heuristics based on test coverage, pre-determined buggy patterns, or textual similarity with bug report, to rank suspicious program elements. However, since these techniques rely on information from single source, they often suffer when the respective source information is inadequate. For instance, the popular spectrum based bug localization may not work well under poorly written test suite. In this paper, we propose a new approach, EnSpec, that guides spectrum based bug localization using code entropy, a metric that basically represents naturalness of code derived from a statistical language model. Our intuition is that since buggy code are high entropic, spectrum based bug localization with code entropy would be more robust in discriminating buggy lines vs. non-buggy lines. We realize our idea in a prototype, and performed an extensive evaluation on two popular publicly available benchmarks. Our results demonstrate that EnSpec outperforms a state-of-the-art spectrum based bug localization technique.

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

DataCite · 10.48550/arxiv.1802.06947

Cites

47 of 47 references verified0 citation errors · 0 not checkable

Statistics

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • SWE-bench unites many separate software engineering tasks under a single task formulation that faithfully mirrors practical software engineering.

    “We use SWE-bench because it unites many separate SE tasks, such as automated program repair [10, 40, 55], bug localization [4, 58], and testing [22, 46, 56] under a single task formulation that faithfully mirrors practical SE.”

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

Cites

Flagged first, then by citations

1 of the 48 references couldn’t be matched to a known paper.

Research works printed but not linked: 14

  1. [5][5] N. Ayewah, D. Hovemeyer, J. D. Morgenthaler, J. Penix, and W. Pugh. Using static analysis to find bugs. IEEE software , 25(5), 2008. -
  2. [12][12] N. V. Chawla, N. Japkowicz, and A. Kotcz. Editorial: special issue on learning from imbalanced data sets. ACM Sigkdd Explorations Newsletter , 6(1):1-6, 2004. -
  3. [13][13] B. Chelf, D. Engler, and S. Hallem. How to write system-specific, static checkers in metal. In Proceedings of the 2002 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering , PASTE '02, pages 51-60, New York, NY, USA, 2002. ACM. -
  4. [21][21] Y. Freund, R. Iyer, R. E. Schapire, and Y. Singer. An efficient boosting algorithm for combining preferences. Journal of machine learning research , 4(Nov):933-969, 2003. -
  5. [25][25] V. J. Hellendoorn, P. T. Devanbu, and A. Bacchelli. Will they like this?: evaluating code contributions with language models. In Proceedings of the 12th Working Conference on Mining Software Repositories , pages 157-167. IEEE Press, 2015. -
  6. [27][27] A. Hindle, E. T. Barr, Z. Su, M. Gabel, and P. Devanbu. On the naturalness of software. In 2012 34th International Conference on Software Engineering (ICSE) , pages 837-847. IEEE, 2012. -
  7. [29][29] B. Johnson, Y. Song, E. Murphy-Hill, and R. Bowdidge. Why don't software developers use static analysis tools to find bugs? In Software Engineering (ICSE), 2013 35th International Conference on , pages 672-681. IEEE, 2013. -
  8. [38][38] C. Liu, X. Yan, L. Fei, J. Han, and S. P. Midkiff. Sober: statistical model-based bug localization. In ACM SIGSOFT Software Engineering Notes , volume 30, pages 286-295. ACM, 2005. -
  9. [42][42] B. Pytlik, M. Renieris, S. Krishnamurthi, and S. P. Reiss. Automated fault localization using potential invariants. arXiv preprint cs/0310040 , 2003. - · arXiv
  10. [43][43] F. Rahman, S. Khatri, E. T. Barr, and P. Devanbu. Comparing static bug finders and statistical prediction. In Proceedings of the 36th International Conference on Software Engineering , pages 424-434. ACM, 2014. -
  11. [47][47] T. Reps, T. Ball, M. Das, and J. Larus. The use of program profiling for software maintenance with applications to the year 2000 problem. In Software Engineeringâ ˘ A ˇ TESEC/FSE'97 , pages 432-449. Springer, 1997. -
  12. [50][50] J. ´ Sliwerski, T. Zimmermann, and A. Zeller. When do changes induce fixes? In ACM sigsoft software engineering notes , volume 30, pages 1-5. ACM, 2005. -
  13. [52][52] Z. Tu, Z. Su, and P. Devanbu. On the localness of software. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering , pages 269-280. ACM, 2014. -
  14. [58][58] X. Ye, R. Bunescu, and C. Liu. Learning to rank relevant files for bug reports using domain knowledge. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering , pages 689-699. ACM, 2014. -

Cited by

Sorted by citations

Authors
Chakraborty, S., Li, Y., Irvine, M., Saha, R., & Ray, B.
Venue
arXiv
Publisher
arXiv
Published
2018
ISSN
2331-8422 (ISSN-L)
OpenAlex
W2789200353
Cited by
7
References
48
Citations by year
2022: 2 · 2021: 1 · 2020: 3 · 2019: 1
Type
posted content
Language
en
Open access
Locations
  • arXiv (Cornell University) (submittedVersion)
  • arXiv (Cornell University)
Topics
  • Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Software › Software Reliability and Analysis Research
Keywords
statistical language models, test suite quality

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review