summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNguyễn Gia Phong <cnx@loang.net>2023-11-13 17:02:11 +0900
committerNguyễn Gia Phong <cnx@loang.net>2023-11-13 17:02:11 +0900
commit012580d5797e62505fcf9a7c8f658d9245cc5400 (patch)
treef6483376b14546290e5f2144e9c9e4554c7984a3
parentf4f58aaaef8ae3bcaf66bb1c0ec76c4c761eec99 (diff)
downloadthesis-012580d5797e62505fcf9a7c8f658d9245cc5400.tar.gz
Rename background chapter
-rw-r--r--all.tex2
-rw-r--r--bg.tex (renamed from praelimen.tex)4
-rw-r--r--ref.bib107
3 files changed, 81 insertions, 32 deletions
diff --git a/all.tex b/all.tex
index b195a57..ba7aeed 100644
--- a/all.tex
+++ b/all.tex
@@ -92,7 +92,7 @@
\clearpage
\include{intro.tex}
-\include{praelimen.tex}
+\include{bg.tex}
\include{technique.tex}
\include{eval.tex}
\include{result.tex}
diff --git a/praelimen.tex b/bg.tex
index e2dfea3..6bc4638 100644
--- a/praelimen.tex
+++ b/bg.tex
@@ -1,7 +1,7 @@
-\section{Preliminaries}
+\section{Background}
Our \gls{difftest} generation is based on the symbolic executor
\textsc{klee}'s architecture, which at a high level is an interpreter loop.
At each iteration, it selects a symbolic process, also known as a \gls{state},
-in whose context an instruction is then executed.
+in whose context an instruction is then executed~\cite{klee}.
% TODO: base symb exec algo
diff --git a/ref.bib b/ref.bib
index 52e1f75..4d4598d 100644
--- a/ref.bib
+++ b/ref.bib
@@ -1,6 +1,14 @@
+@inproceedings{klee,
+ author = {Cristian {Cadar} and Daniel {Dunbar} and Dawson {Engler}},
+ title = {{KLEE}: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs},
+ booktitle = {USENIX Symp. Oper. Syst. Des. and Implement. (OSDI)},
+ year = 2008,
+ url = {https://www.usenix.org/conference/osdi-08/klee-unassisted-and-automatic-generation-high-coverage-tests-complex-systems},
+ month = dec,
+ doi = {10.5555/1855741.1855756}}
+
@inproceedings{join-split,
- author = {{Hansen}, Trevor and {Schachte}, Peter and {S{\o}ndergaard}, Harald},
- editor= {Bensalem, Saddek and Peled, Doron A.},
+ author = {Trevor {Hansen} and Peter {Schachte} and Harald {S{\o}ndergaard}},
title = {State Joining and Splitting for the Symbolic Execution of Binaries},
booktitle = {Runtime Verification},
year = 2009,
@@ -10,26 +18,23 @@
doi = {10.1007/978-3-642-04694-0_6}}
@inproceedings{rsc,
- author = {Qi, Dawei and Nguyen, Hoang D.T. and Roychoudhury, Abhik},
+ author = {{Qi} Dawei and {Nguyen} D.T. Hoang and Abhik {Roychoudhury}},
title = {Path Exploration Based on Symbolic Output},
year = 2011,
isbn = {9781450304436},
publisher = {Association for Computing Machinery},
- address = {New York, NY, USA},
url = {https://doi.org/10.1145/2025113.2025152},
doi = {10.1145/2025113.2025152},
- booktitle = {Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering},
+ booktitle = {Proc. ACM SIGSOFT Symp. and Eur. Conf. Found. Softw. Eng.},
pages = {278--288},
numpages = 11,
keywords = {relevant slice condition, symbolic execution, path exploration},
- location = {Szeged, Hungary},
series = {ESEC/FSE '11}}
@article{merge,
- author = {Kuznetsov, Volodymyr and Kinder, Johannes and Bucur, Stefan and Candea, George},
+ author = {Volodymyr {Kuznetsov} and Johannes {Kinder} and Stefan {Bucur} and George {Candea}},
title = {Efficient State Merging in Symbolic Execution},
year = 2012,
- issue_date = {June 2012},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = 47,
@@ -44,28 +49,51 @@
keywords = {verification, symbolic execution, bounded software model checking, state merging, testing}}
@inproceedings{cgs,
- author = {Seo, Hyunmin and Kim, Sunghun},
+ author = {{Seo} Hyunmin and {Kim} Sunghun},
title = {How We Get There: A Context-Guided Search Strategy in Concolic Testing},
year = 2014,
isbn = {9781450330565},
publisher = {Association for Computing Machinery},
- address = {New York, NY, USA},
url = {https://doi.org/10.1145/2635868.2635872},
doi = {10.1145/2635868.2635872},
- booktitle = {Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
+ booktitle = {Proc. ACM SIGSOFT Int. Symp. Found. Softw. Eng.},
pages = {413-424},
numpages = 12,
keywords = {symbolic execution, search strategies, Concolic testing},
- location = {Hong Kong, China},
series = {FSE 2014}}
+@inproceedings{overfit,
+ author = {Edward K. {Smith} and Earl T. {Barr} and Claire {Le Goues} and Yuriy {Brun}},
+ title = {Is the Cure Worse than the Disease? Overfitting in Automated Program Repair},
+ year = 2015,
+ isbn = {9781450336758},
+ publisher = {Association for Computing Machinery},
+ url = {https://doi.org/10.1145/2786805.2786825},
+ doi = {10.1145/2786805.2786825},
+ booktitle = {Proc. Joint Meet. Found. Softw. Eng.},
+ pages = {532--543},
+ numpages = 12,
+ keywords = {GenProg, TrpAutoRepair, independent evaluation, IntroClass, empirical evaluation, automated program repair},
+ series = {ESEC/FSE 2015}}
+
+@article{repairnator,
+ author = {Martin {Monperrus} and Simon {Urli} and Thomas {Durieux} and Matias {Martinez} and Benoit {Baudry} and Lionel {Seinturier}},
+ title = {Repairnator Patches Programs Automatically},
+ year = 2019,
+ publisher = {Association for Computing Machinery},
+ volume = 2019,
+ url = {https://doi.org/10.1145/3349589},
+ doi = {10.1145/3349589},
+ journal = {Ubiquity},
+ month = jul,
+ articleno = 2,
+ numpages = 12}
+
@article{shadow,
- author = {Kuchta, Tomasz and Palikareva, Hristina and Cadar, Cristian},
+ author = {Tomasz {Kuchta} and Hristina {Palikareva} and Cristian {Cadar}},
title = {Shadow Symbolic Execution for Testing Software Patches},
year = 2018,
- issue_date = {July 2018},
publisher = {Association for Computing Machinery},
- address = {New York, NY, USA},
volume = 27,
number = 3,
issn = {1049-331X},
@@ -78,56 +106,77 @@
keywords = {regression bugs, cross-version checks, Symbolic patch testing}}
@inproceedings{homi,
- author = {Cha, Sooyoung and Oh, Hakjoo},
+ author = {{Cha} Sooyoung and {Oh} Hakjoo},
title = {Making Symbolic Execution Promising by Learning Aggressive State-Pruning Strategy},
year = 2020,
isbn = {9781450370431},
publisher = {Association for Computing Machinery},
- address = {New York, NY, USA},
url = {https://doi.org/10.1145/3368089.3409755},
doi = {10.1145/3368089.3409755},
- booktitle = {Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering},
+ booktitle = {Proc. ACM Joint Meet. Eur. Softw. Eng. Conf. and Symp. Found. Softw. Eng.},
pages = {147--158},
numpages = 12,
keywords = {Online Learning, Dynamic Symbolic Execution},
- location = {Virtual Event, USA},
series = {ESEC/FSE 2020}}
@inproceedings{hydiff,
- author = {Noller, Yannic and P\u{a}s\u{a}reanu, Corina S. and B\"{o}hme, Marcel and Sun, Youcheng and Nguyen, Hoang Lam and Grunske, Lars},
+ author = {Yannic {Noller} and Corina S. {P\u{a}s\u{a}reanu} and Marcel {B\"{o}hme} and {Sun} Youcheng and {Nguyen} Hoang Lam and Lars {Grunske}},
title = {HyDiff: Hybrid Differential Software Analysis},
year = 2020,
isbn = {9781450371216},
publisher = {Association for Computing Machinery},
- address = {New York, NY, USA},
url = {https://doi.org/10.1145/3377811.3380363},
doi = {10.1145/3377811.3380363},
- booktitle = {Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering},
+ booktitle = {Proc. ACM/IEEE Int. Conf. Softw. Eng.},
pages = {1273--1285},
numpages = 13,
keywords = {fuzzing, symbolic execution, differential program analysis},
- location = {Seoul, South Korea},
series = {ICSE '20}}
@inproceedings{ddset,
- author = {Gopinath, Rahul and Kampmann, Alexander and Havrikov, Nikolas and Soremekun, Ezekiel O. and Zeller, Andreas},
+ author = {Rahul {Gopinath} and Alexander {Kampmann} and Nikolas {Havrikov} and Ezekiel O. {Soremekun} and Andreas {Zeller}},
title = {Abstracting Failure-Inducing Inputs},
year = 2020,
isbn = {9781450380089},
publisher = {Association for Computing Machinery},
- address = {New York, NY, USA},
url = {https://doi.org/10.1145/3395363.3397349},
doi = {10.1145/3395363.3397349},
- booktitle = {Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis},
+ booktitle = {Proc. ACM SIGSOFT Int. Symp. Softw. Test. and Analysis},
pages = {237--248},
numpages = 12,
keywords = {failure-inducing inputs, debugging, error diagnosis, grammars},
- location = {Virtual Event, USA},
series = {ISSTA 2020}}
+@inproceedings{test-based,
+ author = {{Liu} Kui and {Wang} Shangwen and Anil {Koyuncu} and {Kim} Kisub and Tegawend\'{e} F. {Bissyand\'{e}} and {Kim} Dongsun and {Wu} Peng and Jacques {Klein} and {Mao} Xiaoguang and Yves {Le Traon}},
+ title = {On the Efficiency of Test Suite Based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programs},
+ year = 2020,
+ isbn = {9781450371216},
+ publisher = {Association for Computing Machinery},
+ doi = {10.1145/3377811.3380338},
+ booktitle = {Proc. ACM/IEEE Int. Conf. Softw. Eng.},
+ pages = {615--627},
+ numpages = 13,
+ keywords = {patch generation, program repair, empirical assessment, efficiency},
+ series = {ICSE '20}}
+
+@article{apr,
+ author = {Claire {Le Goues} and M. {Pradel} and Abhik {Roychoudhury} and S. {Chandra}},
+ journal = {IEEE Software},
+ title = {Automatic Program Repair},
+ year = 2021,
+ volume = 38,
+ number = {04},
+ issn = {1937-4194},
+ pages = {22--27},
+ doi = {10.1109/MS.2021.3072577},
+ publisher = {IEEE Computer Society},
+ address = {Los Alamitos, CA, USA},
+ month = jul}
+
@article{paradyse,
- author = {Cha, Sooyoung and Hong, Seongjoon and Bak, Jiseong and Kim, Jingyoung and Lee, Junhee and Oh, Hakjoo},
- journal = {IEEE Transactions on Software Engineering},
+ author = {{Cha} Sooyoung and {Hong} Seongjoon and {Bak} Jiseong and {Kim} Jingyoung and {Lee} Junhee and {Oh} Hakjoo},
+ journal = {IEEE Trans. Softw. Eng.},
title = {Enhancing Dynamic Symbolic Execution by Automatically Learning Search Heuristics},
year = 2022,
volume = 48,