summary refs log tree commit diff homepage
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,