A dynamic approach to detecting, eliminating and fixing memory leaks
Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the progra...
Ausführliche Beschreibung
Autor*in: |
Yu, Bin [verfasserIn] |
---|
Format: |
Artikel |
---|---|
Sprache: |
Englisch |
Erschienen: |
2019 |
---|
Schlagwörter: |
---|
Anmerkung: |
© Springer Science+Business Media, LLC, part of Springer Nature 2019 |
---|
Übergeordnetes Werk: |
Enthalten in: Journal of combinatorial optimization - Springer US, 1997, 42(2019), 3 vom: 16. März, Seite 409-426 |
---|---|
Übergeordnetes Werk: |
volume:42 ; year:2019 ; number:3 ; day:16 ; month:03 ; pages:409-426 |
Links: |
---|
DOI / URN: |
10.1007/s10878-019-00398-x |
---|
Katalog-ID: |
OLC2077323620 |
---|
LEADER | 01000caa a22002652 4500 | ||
---|---|---|---|
001 | OLC2077323620 | ||
003 | DE-627 | ||
005 | 20230505143532.0 | ||
007 | tu | ||
008 | 221220s2019 xx ||||| 00| ||eng c | ||
024 | 7 | |a 10.1007/s10878-019-00398-x |2 doi | |
035 | |a (DE-627)OLC2077323620 | ||
035 | |a (DE-He213)s10878-019-00398-x-p | ||
040 | |a DE-627 |b ger |c DE-627 |e rakwb | ||
041 | |a eng | ||
082 | 0 | 4 | |a 510 |q VZ |
084 | |a 3,2 |2 ssgn | ||
100 | 1 | |a Yu, Bin |e verfasserin |4 aut | |
245 | 1 | 0 | |a A dynamic approach to detecting, eliminating and fixing memory leaks |
264 | 1 | |c 2019 | |
336 | |a Text |b txt |2 rdacontent | ||
337 | |a ohne Hilfsmittel zu benutzen |b n |2 rdamedia | ||
338 | |a Band |b nc |2 rdacarrier | ||
500 | |a © Springer Science+Business Media, LLC, part of Springer Nature 2019 | ||
520 | |a Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools. | ||
650 | 4 | |a Memory leaks | |
650 | 4 | |a Leak detection | |
650 | 4 | |a Leak fixing | |
650 | 4 | |a Dynamic symbolic execution | |
650 | 4 | |a Low level virtual machine | |
700 | 1 | |a Tian, Cong |4 aut | |
700 | 1 | |a Zhang, Nan |4 aut | |
700 | 1 | |a Duan, Zhenhua |0 (orcid)0000-0003-2772-1433 |4 aut | |
700 | 1 | |a Du, Hongwei |4 aut | |
773 | 0 | 8 | |i Enthalten in |t Journal of combinatorial optimization |d Springer US, 1997 |g 42(2019), 3 vom: 16. März, Seite 409-426 |w (DE-627)216539323 |w (DE-600)1339574-9 |w (DE-576)094421935 |x 1382-6905 |7 nnns |
773 | 1 | 8 | |g volume:42 |g year:2019 |g number:3 |g day:16 |g month:03 |g pages:409-426 |
856 | 4 | 1 | |u https://doi.org/10.1007/s10878-019-00398-x |z lizenzpflichtig |3 Volltext |
912 | |a GBV_USEFLAG_A | ||
912 | |a SYSFLAG_A | ||
912 | |a GBV_OLC | ||
912 | |a SSG-OLC-MAT | ||
912 | |a SSG-OLC-WIW | ||
912 | |a SSG-OPC-MAT | ||
912 | |a GBV_ILN_70 | ||
912 | |a GBV_ILN_2108 | ||
951 | |a AR | ||
952 | |d 42 |j 2019 |e 3 |b 16 |c 03 |h 409-426 |
author_variant |
b y by c t ct n z nz z d zd h d hd |
---|---|
matchkey_str |
article:13826905:2019----::dnmcprahoeetneiiaignf |
hierarchy_sort_str |
2019 |
publishDate |
2019 |
allfields |
10.1007/s10878-019-00398-x doi (DE-627)OLC2077323620 (DE-He213)s10878-019-00398-x-p DE-627 ger DE-627 rakwb eng 510 VZ 3,2 ssgn Yu, Bin verfasserin aut A dynamic approach to detecting, eliminating and fixing memory leaks 2019 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © Springer Science+Business Media, LLC, part of Springer Nature 2019 Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools. Memory leaks Leak detection Leak fixing Dynamic symbolic execution Low level virtual machine Tian, Cong aut Zhang, Nan aut Duan, Zhenhua (orcid)0000-0003-2772-1433 aut Du, Hongwei aut Enthalten in Journal of combinatorial optimization Springer US, 1997 42(2019), 3 vom: 16. März, Seite 409-426 (DE-627)216539323 (DE-600)1339574-9 (DE-576)094421935 1382-6905 nnns volume:42 year:2019 number:3 day:16 month:03 pages:409-426 https://doi.org/10.1007/s10878-019-00398-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT SSG-OLC-WIW SSG-OPC-MAT GBV_ILN_70 GBV_ILN_2108 AR 42 2019 3 16 03 409-426 |
spelling |
10.1007/s10878-019-00398-x doi (DE-627)OLC2077323620 (DE-He213)s10878-019-00398-x-p DE-627 ger DE-627 rakwb eng 510 VZ 3,2 ssgn Yu, Bin verfasserin aut A dynamic approach to detecting, eliminating and fixing memory leaks 2019 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © Springer Science+Business Media, LLC, part of Springer Nature 2019 Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools. Memory leaks Leak detection Leak fixing Dynamic symbolic execution Low level virtual machine Tian, Cong aut Zhang, Nan aut Duan, Zhenhua (orcid)0000-0003-2772-1433 aut Du, Hongwei aut Enthalten in Journal of combinatorial optimization Springer US, 1997 42(2019), 3 vom: 16. März, Seite 409-426 (DE-627)216539323 (DE-600)1339574-9 (DE-576)094421935 1382-6905 nnns volume:42 year:2019 number:3 day:16 month:03 pages:409-426 https://doi.org/10.1007/s10878-019-00398-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT SSG-OLC-WIW SSG-OPC-MAT GBV_ILN_70 GBV_ILN_2108 AR 42 2019 3 16 03 409-426 |
allfields_unstemmed |
10.1007/s10878-019-00398-x doi (DE-627)OLC2077323620 (DE-He213)s10878-019-00398-x-p DE-627 ger DE-627 rakwb eng 510 VZ 3,2 ssgn Yu, Bin verfasserin aut A dynamic approach to detecting, eliminating and fixing memory leaks 2019 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © Springer Science+Business Media, LLC, part of Springer Nature 2019 Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools. Memory leaks Leak detection Leak fixing Dynamic symbolic execution Low level virtual machine Tian, Cong aut Zhang, Nan aut Duan, Zhenhua (orcid)0000-0003-2772-1433 aut Du, Hongwei aut Enthalten in Journal of combinatorial optimization Springer US, 1997 42(2019), 3 vom: 16. März, Seite 409-426 (DE-627)216539323 (DE-600)1339574-9 (DE-576)094421935 1382-6905 nnns volume:42 year:2019 number:3 day:16 month:03 pages:409-426 https://doi.org/10.1007/s10878-019-00398-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT SSG-OLC-WIW SSG-OPC-MAT GBV_ILN_70 GBV_ILN_2108 AR 42 2019 3 16 03 409-426 |
allfieldsGer |
10.1007/s10878-019-00398-x doi (DE-627)OLC2077323620 (DE-He213)s10878-019-00398-x-p DE-627 ger DE-627 rakwb eng 510 VZ 3,2 ssgn Yu, Bin verfasserin aut A dynamic approach to detecting, eliminating and fixing memory leaks 2019 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © Springer Science+Business Media, LLC, part of Springer Nature 2019 Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools. Memory leaks Leak detection Leak fixing Dynamic symbolic execution Low level virtual machine Tian, Cong aut Zhang, Nan aut Duan, Zhenhua (orcid)0000-0003-2772-1433 aut Du, Hongwei aut Enthalten in Journal of combinatorial optimization Springer US, 1997 42(2019), 3 vom: 16. März, Seite 409-426 (DE-627)216539323 (DE-600)1339574-9 (DE-576)094421935 1382-6905 nnns volume:42 year:2019 number:3 day:16 month:03 pages:409-426 https://doi.org/10.1007/s10878-019-00398-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT SSG-OLC-WIW SSG-OPC-MAT GBV_ILN_70 GBV_ILN_2108 AR 42 2019 3 16 03 409-426 |
allfieldsSound |
10.1007/s10878-019-00398-x doi (DE-627)OLC2077323620 (DE-He213)s10878-019-00398-x-p DE-627 ger DE-627 rakwb eng 510 VZ 3,2 ssgn Yu, Bin verfasserin aut A dynamic approach to detecting, eliminating and fixing memory leaks 2019 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © Springer Science+Business Media, LLC, part of Springer Nature 2019 Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools. Memory leaks Leak detection Leak fixing Dynamic symbolic execution Low level virtual machine Tian, Cong aut Zhang, Nan aut Duan, Zhenhua (orcid)0000-0003-2772-1433 aut Du, Hongwei aut Enthalten in Journal of combinatorial optimization Springer US, 1997 42(2019), 3 vom: 16. März, Seite 409-426 (DE-627)216539323 (DE-600)1339574-9 (DE-576)094421935 1382-6905 nnns volume:42 year:2019 number:3 day:16 month:03 pages:409-426 https://doi.org/10.1007/s10878-019-00398-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT SSG-OLC-WIW SSG-OPC-MAT GBV_ILN_70 GBV_ILN_2108 AR 42 2019 3 16 03 409-426 |
language |
English |
source |
Enthalten in Journal of combinatorial optimization 42(2019), 3 vom: 16. März, Seite 409-426 volume:42 year:2019 number:3 day:16 month:03 pages:409-426 |
sourceStr |
Enthalten in Journal of combinatorial optimization 42(2019), 3 vom: 16. März, Seite 409-426 volume:42 year:2019 number:3 day:16 month:03 pages:409-426 |
format_phy_str_mv |
Article |
institution |
findex.gbv.de |
topic_facet |
Memory leaks Leak detection Leak fixing Dynamic symbolic execution Low level virtual machine |
dewey-raw |
510 |
isfreeaccess_bool |
false |
container_title |
Journal of combinatorial optimization |
authorswithroles_txt_mv |
Yu, Bin @@aut@@ Tian, Cong @@aut@@ Zhang, Nan @@aut@@ Duan, Zhenhua @@aut@@ Du, Hongwei @@aut@@ |
publishDateDaySort_date |
2019-03-16T00:00:00Z |
hierarchy_top_id |
216539323 |
dewey-sort |
3510 |
id |
OLC2077323620 |
language_de |
englisch |
fullrecord |
<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01000caa a22002652 4500</leader><controlfield tag="001">OLC2077323620</controlfield><controlfield tag="003">DE-627</controlfield><controlfield tag="005">20230505143532.0</controlfield><controlfield tag="007">tu</controlfield><controlfield tag="008">221220s2019 xx ||||| 00| ||eng c</controlfield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1007/s10878-019-00398-x</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627)OLC2077323620</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-He213)s10878-019-00398-x-p</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-627</subfield><subfield code="b">ger</subfield><subfield code="c">DE-627</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1=" " ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="082" ind1="0" ind2="4"><subfield code="a">510</subfield><subfield code="q">VZ</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">3,2</subfield><subfield code="2">ssgn</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Yu, Bin</subfield><subfield code="e">verfasserin</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">A dynamic approach to detecting, eliminating and fixing memory leaks</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="c">2019</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">Text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">ohne Hilfsmittel zu benutzen</subfield><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">Band</subfield><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">© Springer Science+Business Media, LLC, part of Springer Nature 2019</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Memory leaks</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Leak detection</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Leak fixing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Dynamic symbolic execution</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Low level virtual machine</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Tian, Cong</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Zhang, Nan</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Duan, Zhenhua</subfield><subfield code="0">(orcid)0000-0003-2772-1433</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Du, Hongwei</subfield><subfield code="4">aut</subfield></datafield><datafield tag="773" ind1="0" ind2="8"><subfield code="i">Enthalten in</subfield><subfield code="t">Journal of combinatorial optimization</subfield><subfield code="d">Springer US, 1997</subfield><subfield code="g">42(2019), 3 vom: 16. März, Seite 409-426</subfield><subfield code="w">(DE-627)216539323</subfield><subfield code="w">(DE-600)1339574-9</subfield><subfield code="w">(DE-576)094421935</subfield><subfield code="x">1382-6905</subfield><subfield code="7">nnns</subfield></datafield><datafield tag="773" ind1="1" ind2="8"><subfield code="g">volume:42</subfield><subfield code="g">year:2019</subfield><subfield code="g">number:3</subfield><subfield code="g">day:16</subfield><subfield code="g">month:03</subfield><subfield code="g">pages:409-426</subfield></datafield><datafield tag="856" ind1="4" ind2="1"><subfield code="u">https://doi.org/10.1007/s10878-019-00398-x</subfield><subfield code="z">lizenzpflichtig</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_USEFLAG_A</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SYSFLAG_A</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_OLC</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SSG-OLC-MAT</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SSG-OLC-WIW</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SSG-OPC-MAT</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_70</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_2108</subfield></datafield><datafield tag="951" ind1=" " ind2=" "><subfield code="a">AR</subfield></datafield><datafield tag="952" ind1=" " ind2=" "><subfield code="d">42</subfield><subfield code="j">2019</subfield><subfield code="e">3</subfield><subfield code="b">16</subfield><subfield code="c">03</subfield><subfield code="h">409-426</subfield></datafield></record></collection>
|
author |
Yu, Bin |
spellingShingle |
Yu, Bin ddc 510 ssgn 3,2 misc Memory leaks misc Leak detection misc Leak fixing misc Dynamic symbolic execution misc Low level virtual machine A dynamic approach to detecting, eliminating and fixing memory leaks |
authorStr |
Yu, Bin |
ppnlink_with_tag_str_mv |
@@773@@(DE-627)216539323 |
format |
Article |
dewey-ones |
510 - Mathematics |
delete_txt_mv |
keep |
author_role |
aut aut aut aut aut |
collection |
OLC |
remote_str |
false |
illustrated |
Not Illustrated |
issn |
1382-6905 |
topic_title |
510 VZ 3,2 ssgn A dynamic approach to detecting, eliminating and fixing memory leaks Memory leaks Leak detection Leak fixing Dynamic symbolic execution Low level virtual machine |
topic |
ddc 510 ssgn 3,2 misc Memory leaks misc Leak detection misc Leak fixing misc Dynamic symbolic execution misc Low level virtual machine |
topic_unstemmed |
ddc 510 ssgn 3,2 misc Memory leaks misc Leak detection misc Leak fixing misc Dynamic symbolic execution misc Low level virtual machine |
topic_browse |
ddc 510 ssgn 3,2 misc Memory leaks misc Leak detection misc Leak fixing misc Dynamic symbolic execution misc Low level virtual machine |
format_facet |
Aufsätze Gedruckte Aufsätze |
format_main_str_mv |
Text Zeitschrift/Artikel |
carriertype_str_mv |
nc |
hierarchy_parent_title |
Journal of combinatorial optimization |
hierarchy_parent_id |
216539323 |
dewey-tens |
510 - Mathematics |
hierarchy_top_title |
Journal of combinatorial optimization |
isfreeaccess_txt |
false |
familylinks_str_mv |
(DE-627)216539323 (DE-600)1339574-9 (DE-576)094421935 |
title |
A dynamic approach to detecting, eliminating and fixing memory leaks |
ctrlnum |
(DE-627)OLC2077323620 (DE-He213)s10878-019-00398-x-p |
title_full |
A dynamic approach to detecting, eliminating and fixing memory leaks |
author_sort |
Yu, Bin |
journal |
Journal of combinatorial optimization |
journalStr |
Journal of combinatorial optimization |
lang_code |
eng |
isOA_bool |
false |
dewey-hundreds |
500 - Science |
recordtype |
marc |
publishDateSort |
2019 |
contenttype_str_mv |
txt |
container_start_page |
409 |
author_browse |
Yu, Bin Tian, Cong Zhang, Nan Duan, Zhenhua Du, Hongwei |
container_volume |
42 |
class |
510 VZ 3,2 ssgn |
format_se |
Aufsätze |
author-letter |
Yu, Bin |
doi_str_mv |
10.1007/s10878-019-00398-x |
normlink |
(ORCID)0000-0003-2772-1433 |
normlink_prefix_str_mv |
(orcid)0000-0003-2772-1433 |
dewey-full |
510 |
title_sort |
a dynamic approach to detecting, eliminating and fixing memory leaks |
title_auth |
A dynamic approach to detecting, eliminating and fixing memory leaks |
abstract |
Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools. © Springer Science+Business Media, LLC, part of Springer Nature 2019 |
abstractGer |
Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools. © Springer Science+Business Media, LLC, part of Springer Nature 2019 |
abstract_unstemmed |
Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools. © Springer Science+Business Media, LLC, part of Springer Nature 2019 |
collection_details |
GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT SSG-OLC-WIW SSG-OPC-MAT GBV_ILN_70 GBV_ILN_2108 |
container_issue |
3 |
title_short |
A dynamic approach to detecting, eliminating and fixing memory leaks |
url |
https://doi.org/10.1007/s10878-019-00398-x |
remote_bool |
false |
author2 |
Tian, Cong Zhang, Nan Duan, Zhenhua Du, Hongwei |
author2Str |
Tian, Cong Zhang, Nan Duan, Zhenhua Du, Hongwei |
ppnlink |
216539323 |
mediatype_str_mv |
n |
isOA_txt |
false |
hochschulschrift_bool |
false |
doi_str |
10.1007/s10878-019-00398-x |
up_date |
2024-07-03T14:56:34.688Z |
_version_ |
1803570217947758592 |
fullrecord_marcxml |
<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01000caa a22002652 4500</leader><controlfield tag="001">OLC2077323620</controlfield><controlfield tag="003">DE-627</controlfield><controlfield tag="005">20230505143532.0</controlfield><controlfield tag="007">tu</controlfield><controlfield tag="008">221220s2019 xx ||||| 00| ||eng c</controlfield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1007/s10878-019-00398-x</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627)OLC2077323620</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-He213)s10878-019-00398-x-p</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-627</subfield><subfield code="b">ger</subfield><subfield code="c">DE-627</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1=" " ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="082" ind1="0" ind2="4"><subfield code="a">510</subfield><subfield code="q">VZ</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">3,2</subfield><subfield code="2">ssgn</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Yu, Bin</subfield><subfield code="e">verfasserin</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">A dynamic approach to detecting, eliminating and fixing memory leaks</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="c">2019</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">Text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">ohne Hilfsmittel zu benutzen</subfield><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">Band</subfield><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">© Springer Science+Business Media, LLC, part of Springer Nature 2019</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Abstract This paper presents a dynamic approach to detecting, eliminating and fixing memory leaks. With our approach, a program to be analyzed is instrumented before its execution. Dynamic symbolic execution is employed so as to expose memory leaks occurring in all execution paths. During the program execution, information about each allocated memory area is updated when corresponding statements are executed. Based on this information, a back-end leak checker records the changes of variables pointing to each memory area, detects memory leaks and deallocates leaked memory areas. After the program execution, a fixed program containing deallocation statements is generated. We have implemented our approach in a tool called DEF_LEAK based on Low Level Virtual Machine compiler infrastructure. Experiments show that DEF_LEAK can detect more leaks than the existing dynamic detection tools for programs with user inputs. Moreover, DEF_LEAK is more effective for helping programmers understand and fix memory leaks than other detection tools.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Memory leaks</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Leak detection</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Leak fixing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Dynamic symbolic execution</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Low level virtual machine</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Tian, Cong</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Zhang, Nan</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Duan, Zhenhua</subfield><subfield code="0">(orcid)0000-0003-2772-1433</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Du, Hongwei</subfield><subfield code="4">aut</subfield></datafield><datafield tag="773" ind1="0" ind2="8"><subfield code="i">Enthalten in</subfield><subfield code="t">Journal of combinatorial optimization</subfield><subfield code="d">Springer US, 1997</subfield><subfield code="g">42(2019), 3 vom: 16. März, Seite 409-426</subfield><subfield code="w">(DE-627)216539323</subfield><subfield code="w">(DE-600)1339574-9</subfield><subfield code="w">(DE-576)094421935</subfield><subfield code="x">1382-6905</subfield><subfield code="7">nnns</subfield></datafield><datafield tag="773" ind1="1" ind2="8"><subfield code="g">volume:42</subfield><subfield code="g">year:2019</subfield><subfield code="g">number:3</subfield><subfield code="g">day:16</subfield><subfield code="g">month:03</subfield><subfield code="g">pages:409-426</subfield></datafield><datafield tag="856" ind1="4" ind2="1"><subfield code="u">https://doi.org/10.1007/s10878-019-00398-x</subfield><subfield code="z">lizenzpflichtig</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_USEFLAG_A</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SYSFLAG_A</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_OLC</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SSG-OLC-MAT</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SSG-OLC-WIW</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SSG-OPC-MAT</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_70</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_2108</subfield></datafield><datafield tag="951" ind1=" " ind2=" "><subfield code="a">AR</subfield></datafield><datafield tag="952" ind1=" " ind2=" "><subfield code="d">42</subfield><subfield code="j">2019</subfield><subfield code="e">3</subfield><subfield code="b">16</subfield><subfield code="c">03</subfield><subfield code="h">409-426</subfield></datafield></record></collection>
|
score |
7.3980417 |