Memory and resource leak defects and their repairs in Java projects

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...

Full description

Saved in:
Bibliographic Details
Main Authors: Ghanavati, Mohammadreza (Author) , Damesceno Costa, Diego Elias (Author) , Seboek, Janos (Author) , Lo, David (Author) , Andrzejak, Artur (Author)
Format: Article (Journal)
Language:English
Published: 2020
In: Empirical software engineering
Year: 2019, Volume: 25, Issue: 1, Pages: 678-718
ISSN:1573-7616
DOI:10.1007/s10664-019-09731-8
Online Access:Verlag, lizenzpflichtig, Volltext: https://doi.org/10.1007/s10664-019-09731-8
Get full text
Author Notes:Mohammadreza Ghanavati, Diego Costa, Janos Seboek, David Lo, Artur Andrzejak

MARC

LEADER 00000caa a2200000 c 4500
001 1693428237
003 DE-627
005 20220818022022.0
007 cr uuu---uuuuu
008 200327r20202019xx |||||o 00| ||eng c
024 7 |a 10.1007/s10664-019-09731-8  |2 doi 
035 |a (DE-627)1693428237 
035 |a (DE-599)KXP1693428237 
035 |a (OCoLC)1341311225 
040 |a DE-627  |b ger  |c DE-627  |e rda 
041 |a eng 
084 |a 28  |2 sdnb 
100 1 |a Ghanavati, Mohammadreza  |e VerfasserIn  |0 (DE-588)1051602459  |0 (DE-627)78644035X  |0 (DE-576)406888647  |4 aut 
245 1 0 |a Memory and resource leak defects and their repairs in Java projects  |c Mohammadreza Ghanavati, Diego Costa, Janos Seboek, David Lo, Artur Andrzejak 
264 1 |c 2020 
300 |a 41 
336 |a Text  |b txt  |2 rdacontent 
337 |a Computermedien  |b c  |2 rdamedia 
338 |a Online-Ressource  |b cr  |2 rdacarrier 
500 |a Published online: 26 July 2019 
500 |a Gesehen am 27.03.2020 
520 |a 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. 
534 |c 2019 
700 1 |a Damesceno Costa, Diego Elias  |d 1991-  |e VerfasserIn  |0 (DE-588)1194500528  |0 (DE-627)1676516069  |4 aut 
700 1 |a Seboek, Janos  |e VerfasserIn  |4 aut 
700 1 |a Lo, David  |e VerfasserIn  |4 aut 
700 1 |a Andrzejak, Artur  |d 1969-  |e VerfasserIn  |0 (DE-588)122012216  |0 (DE-627)705736253  |0 (DE-576)29304712X  |4 aut 
773 0 8 |i Enthalten in  |t Empirical software engineering  |d Dordrecht [u.a.] : Springer Science + Business Media B.V, 1996  |g 25(2020), 1, Seite 678-718  |h Online-Ressource  |w (DE-627)271350032  |w (DE-600)1479898-0  |w (DE-576)110350596  |x 1573-7616  |7 nnas  |a Memory and resource leak defects and their repairs in Java projects 
773 1 8 |g volume:25  |g year:2020  |g number:1  |g pages:678-718  |g extent:41  |a Memory and resource leak defects and their repairs in Java projects 
856 4 0 |u https://doi.org/10.1007/s10664-019-09731-8  |x Verlag  |x Resolving-System  |z lizenzpflichtig  |3 Volltext 
951 |a AR 
992 |a 20200327 
993 |a Article 
994 |a 2020 
998 |g 122012216  |a Andrzejak, Artur  |m 122012216:Andrzejak, Artur  |d 110000  |d 110300  |e 110000PA122012216  |e 110300PA122012216  |k 0/110000/  |k 1/110000/110300/  |p 5  |y j 
998 |g 1194500528  |a Damesceno Costa, Diego Elias  |m 1194500528:Damesceno Costa, Diego Elias  |d 110000  |d 110300  |e 110000PD1194500528  |e 110300PD1194500528  |k 0/110000/  |k 1/110000/110300/  |p 2 
998 |g 1051602459  |a Ghanavati, Mohammadreza  |m 1051602459:Ghanavati, Mohammadreza  |d 110000  |d 110300  |e 110000PG1051602459  |e 110300PG1051602459  |k 0/110000/  |k 1/110000/110300/  |p 1  |x j 
999 |a KXP-PPN1693428237  |e 3614744175 
BIB |a Y 
SER |a journal 
JSO |a {"origin":[{"dateIssuedKey":"2020","dateIssuedDisp":"2020"}],"language":["eng"],"relHost":[{"title":[{"title_sort":"Empirical software engineering","subtitle":"an international journal","title":"Empirical software engineering"}],"disp":"Memory and resource leak defects and their repairs in Java projectsEmpirical software engineering","language":["eng"],"note":["Gesehen am 01.11.05"],"physDesc":[{"extent":"Online-Ressource"}],"part":{"year":"2020","pages":"678-718","issue":"1","volume":"25","text":"25(2020), 1, Seite 678-718","extent":"41"},"type":{"bibl":"periodical","media":"Online-Ressource"},"origin":[{"dateIssuedDisp":"1996-","publisher":"Springer Science + Business Media B.V ; Kluwer","publisherPlace":"Dordrecht [u.a.] ; Dordrecht [u.a.]","dateIssuedKey":"1996"}],"pubHistory":["1.1996 -"],"recId":"271350032","id":{"issn":["1573-7616"],"zdb":["1479898-0"],"eki":["271350032"]}}],"physDesc":[{"extent":"41 S."}],"note":["Published online: 26 July 2019","Gesehen am 27.03.2020"],"name":{"displayForm":["Mohammadreza Ghanavati, Diego Costa, Janos Seboek, David Lo, Artur Andrzejak"]},"recId":"1693428237","id":{"eki":["1693428237"],"doi":["10.1007/s10664-019-09731-8"]},"title":[{"title_sort":"Memory and resource leak defects and their repairs in Java projects","title":"Memory and resource leak defects and their repairs in Java projects"}],"person":[{"role":"aut","family":"Ghanavati","given":"Mohammadreza","roleDisplay":"VerfasserIn","display":"Ghanavati, Mohammadreza"},{"role":"aut","given":"Diego Elias","roleDisplay":"VerfasserIn","display":"Damesceno Costa, Diego Elias","family":"Damesceno Costa"},{"display":"Seboek, Janos","roleDisplay":"VerfasserIn","given":"Janos","family":"Seboek","role":"aut"},{"role":"aut","roleDisplay":"VerfasserIn","display":"Lo, David","given":"David","family":"Lo"},{"role":"aut","family":"Andrzejak","roleDisplay":"VerfasserIn","given":"Artur","display":"Andrzejak, Artur"}],"type":{"media":"Online-Ressource","bibl":"article-journal"}} 
SRT |a GHANAVATIMMEMORYANDR2020