Sie befinden Sich nicht im Netzwerk der Universität Paderborn. Der Zugriff auf elektronische Ressourcen ist gegebenenfalls nur via VPN oder Shibboleth (DFN-AAI) möglich. mehr Informationen...
Empirical software engineering : an international journal, 2020-01, Vol.25 (1), p.678-718
2020

Details

Autor(en) / Beteiligte
Titel
Memory and resource leak defects and their repairs in Java projects
Ist Teil von
  • Empirical software engineering : an international journal, 2020-01, Vol.25 (1), p.678-718
Ort / Verlag
New York: Springer US
Erscheinungsjahr
2020
Link zum Volltext
Quelle
Alma/SFX Local Collection
Beschreibungen/Notizen
  • Despite huge software engineering efforts and programming language support, resource and memory leaks are still a troublesome issue, even in memory-managed languages such as Java. Understanding the properties of leak-inducing defects, how the leaks manifest, and how they are repaired is an essential prerequisite for designing better approaches for avoidance, diagnosis, and repair of leak-related bugs. We conduct a detailed empirical study on 491 issues from 15 large open-source Java projects. The study proposes taxonomies for the leak types, for the defects causing them, and for the repair actions. We investigate, under several aspects, the distributions within each taxonomy and the relationships between them. We find that manual code inspection and manual runtime detection are still the main methods for leak detection. We find that most of the errors manifest on error-free execution paths, and developers repair the leak defects in a shorter time than non-leak defects. We also identify 13 recurring code transformations in the repair patches. Based on our findings, we draw a variety of implications on how developers can avoid, detect, isolate and repair leak-related bugs.
Sprache
Englisch
Identifikatoren
ISSN: 1382-3256
eISSN: 1573-7616
DOI: 10.1007/s10664-019-09731-8
Titel-ID: cdi_proquest_journals_2264477750

Weiterführende Literatur

Empfehlungen zum selben Thema automatisch vorgeschlagen von bX