ABSTRACT
Issue tracking systems are commonly used in modern software development for collecting feedback from users and developers. An ultimate automation target of software maintenance is then the systematization of patch generation for user-reported bugs. Although this ambition is aligned with the momentum of automated program repair, the literature has, so far, mostly focused on generate-and- validate setups where fault localization and patch generation are driven by a well-defined test suite. On the one hand, however, the common (yet strong) assumption on the existence of relevant test cases does not hold in practice for most development settings: many bugs are reported without the available test suite being able to reveal them. On the other hand, for many projects, the number of bug reports generally outstrips the resources available to triage them. Towards increasing the adoption of patch generation tools by practitioners, we investigate a new repair pipeline, iFixR, driven by bug reports: (1) bug reports are fed to an IR-based fault localizer; (2) patches are generated from fix patterns and validated via regression testing; (3) a prioritized list of generated patches is proposed to developers. We evaluate iFixR on the Defects4J dataset, which we enriched (i.e., faults are linked to bug reports) and carefully-reorganized (i.e., the timeline of test-cases is naturally split). iFixR generates genuine/plausible patches for 21/44 Defects4J faults with its IR-based fault localizer. iFixR accurately places a genuine/plausible patch among its top-5 recommendation for 8/13 of these faults (without using future test cases in generation-and-validation).
- 2019. D&C. https://github.com/d-and-c/d-and-c. 2019. NTLK framework. https://www.nltk.org/.Google Scholar
- Rui Abreu, Arjan JC Van Gemund, and Peter Zoeteweij. 2007. On the accuracy of spectrum-based fault localization. In Proceedings of TAICPART-MUTATION. IEEE, 89–98. Google ScholarDigital Library
- Rui Abreu, Peter Zoeteweij, Rob Golsteijn, and Arjan JC Van Gemund. 2009. A practical evaluation of spectrum-based fault localization. JSS 82, 11 (2009), 1780–1792. Google ScholarDigital Library
- Rui Abreu, Peter Zoeteweij, and Arjan JC Van Gemund. 2009. Spectrum-based multiple fault localization. In Proceedings of the 24th ASE. IEEE, 88–99. Google ScholarDigital Library
- John Anvik, Lyndon Hiew, and Gail C Murphy. 2006. Who should fix this bug?. In Proceedings of the 28th ICSE. ACM, 361–370. Google ScholarDigital Library
- Kent Beck. 2003. Test-driven development: by example. Addison-Wesley Professional. Google ScholarDigital Library
- Moritz Beller, Georgios Gousios, Annibale Panichella, and Andy Zaidman. 2015. When, how, and why developers (do not) test in their IDEs. In Proceedings of the 10th FSE. ACM, 179–190. Google ScholarDigital Library
- Sahil Bhatia, Pushmeet Kohli, and Rishabh Singh. 2018. Neuro-symbolic program corrector for introductory programming assignments. In Proceedings of the 40th ICSE. ACM, 60–70. Google ScholarDigital Library
- Tegawendé F Bissyandé. 2015. Harvesting Fix Hints in the History of Bugs. arXiv preprint arXiv:1507.05742 (2015).Google Scholar
- Marcel Böhme, Ezekiel O Soremekun, Sudipta Chattopadhyay, Emamurho Ugherughe, and Andreas Zeller. 2017. Where is the bug and how is it fixed? an experiment with practitioners. In Proceedings of the 11th FSE. ACM, 117–128. Google ScholarDigital Library
- José Campos, André Riboira, Alexandre Perez, and Rui Abreu. 2012. Gzoltar: an eclipse plug-in for testing and debugging. In Proceedings of the 27th ASE. IEEE/ACM, 378–381. Google ScholarDigital Library
- Liushan Chen, Yu Pei, and Carlo A Furia. 2017. Contract-based program repair without the contracts. In Proceedings of the 32nd ASE. IEEE, 637–647. Google ScholarDigital Library
- Zack Coker and Munawar Hafiz. 2013. Program transformations to fix C integers. In Proceedings of the 35th ICSE. IEEE/ACM, 792–801. Google ScholarDigital Library
- Thomas Durieux, Benoit Cornu, Lionel Seinturier, and Martin Monperrus. 2017. Dynamic patch generation for null pointer exceptions using metaprogramming. In Proceedings of the 24th SANER. IEEE, 349–358.Google ScholarCross Ref
- Michael Fischer, Martin Pinzger, and Harald Gall. 2003. Populating a release history database from version control and bug tracking systems. In Proceeding of the 19th ICSM. IEEE, 23–32. Google ScholarDigital Library
- Rahul Gupta, Soham Pal, Aditya Kanade, and Shirish Shevade. 2017. DeepFix: Fixing Common C Language Errors by Deep Learning. In Proceedings of the 31st AAAI. AAAI Press, 1345–1351. Google ScholarDigital Library
- Pieter Hooimeijer and Westley Weimer. 2007. Modeling bug report quality. In Proceedings of the 22nd ASE. ACM, 34–43. Google ScholarDigital Library
- Jinru Hua, Mengshi Zhang, Kaiyuan Wang, and Sarfraz Khurshid. 2018. Towards practical program repair with on-demand candidate generation. In Proceedings of the 40th ICSE. ACM, 12–23. Google ScholarDigital Library
- Jiajun Jiang, Yingfei Xiong, Hongyu Zhang, Qing Gao, and Xiangqun Chen. 2018. Shaping Program Repair Space with Existing Patches and Similar Code. In Proceedings of the 27th ISSTA. ACM, 298–309. Google ScholarDigital Library
- James A Jones and Mary Jean Harrold. 2005. Empirical evaluation of the tarantula automatic fault-localization technique. In Proceedings of the 20th ASE. ACM, 273–282. Google ScholarDigital Library
- René Just, Darioush Jalali, and Michael D Ernst. 2014. Defects4J: A database of existing faults to enable controlled testing studies for Java programs. In Proceedings of the 23rd ISSTA. ACM, 437–440. Google ScholarDigital Library
- René Just, Chris Parnin, Ian Drosos, and Michael D Ernst. 2018. Comparing developer-provided to user-provided tests for fault localization and automated program repair. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis. ACM, 287–297. Google ScholarDigital Library
- Natalia Juristo Juzgado, Ana María Moreno, and Wolfgang Strigel. 2006. Guest editors’ introduction: Software testing practices in industry. IEEE Software 23, 4 (2006), 19–21. Google ScholarDigital Library
- Wahiba Ben Abdessalem Karaa and Nidhal Gribâa. 2013. Information retrieval with porter stemmer: a new version for English. In Advances in computational science, engineering and information technology. Springer, 243–254.Google Scholar
- Yalin Ke, Kathryn T Stolee, Claire Le Goues, and Yuriy Brun. 2015. Repairing programs with semantic code search (t). In Proceedings of the 30th ASE. IEEE, 295–306. Google ScholarDigital Library
- Dongsun Kim, Jaechang Nam, Jaewoo Song, and Sunghun Kim. 2013. Automatic patch generation learned from human-written patches. In Proceedings of the 35th ICSE. IEEE, 802–811. Google ScholarDigital Library
- Pavneet Singh Kochhar, Tegawendé F Bissyandé, David Lo, and Lingxiao Jiang. 2013. An empirical study of adoption of software testing in open source projects. In Proceedings of the 13th QRS. IEEE, 103–112. Google ScholarDigital Library
- A. N. Kolmogorov and S. V. Fomin. 1999. Elements of the Theory of Functions and Functional Analysis (dover books on mathematics edition ed.). Dover Publications, Mineola, NY.Google Scholar
- Anil Koyuncu, Tegawendé F Bissyandé, Dongsun Kim, Jacques Klein, Martin Monperrus, and Yves Le Traon. 2017. Impact of tool support in patch construction. In Proceedings of the 26th ISSTA. ACM, 237–248. Google ScholarDigital Library
- Anil Koyuncu, Tegawendé F Bissyandé, Dongsun Kim, Kui Liu, Jacques Klein, Martin Monperrus, and Yves Le Traon. 2019. D&C: A Divide-and-Conquer Approach to IR-based Bug Localization. arXiv preprint arXiv:1902.02703 (2019).Google Scholar
- Anil Koyuncu, Kui Liu, Tegawendé F. Bissyandé, Dongsun Kim, Jacques Klein, Martin Monperrus, and Yves Le Traon. 2018. FixMiner: Mining Relevant Fix Patterns for Automated Program Repair. arXiv preprint arXiv:1810.01791 (2018).Google Scholar
- Xuan-Bach D Le, Duc-Hiep Chu, David Lo, Claire Le Goues, and Willem Visser. 2017. S3: syntax-and semantic-guided repair synthesis via programming by examples. In Proceedings of the 11th FSE. ACM, 593–604. Google ScholarDigital Library
- Xuan-Bach D Le, Quang Loc Le, David Lo, and Claire Le Goues. 2016. Enhancing automated program repair with deductive verification. In Proceedings of the 32nd ICSME. IEEE, 428–432.Google ScholarCross Ref
- Xuan Bach D Le, Ferdian Thung, David Lo, and Claire Le Goues. 2018. Overfitting in semantics-based automated program repair. EMSE Journal (2018), 1–27. Google ScholarDigital Library
- Xuan-Bach D. Le, Lingfeng Bao, David Lo, Xin Xia, and Shanping Li. 2019. On Reliability of Patch Correctness Assessment. In Proceedings of the 41st ICSE. Google ScholarDigital Library
- Xuan-Bach D. Le, David Lo, and Claire Le Goues. 2016. History Driven Program Repair. In Proceedings of the 23rd SANER, Vol. 1. IEEE, 213–224.Google ScholarCross Ref
- Claire Le Goues, Michael Dewey-Vogt, Stephanie Forrest, and Westley Weimer. 2012. A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each. In Proceedings of the 34th ICSE. IEEE, 3–13. Google ScholarDigital Library
- Claire Le Goues, ThanhVu Nguyen, Stephanie Forrest, and Westley Weimer. 2012. GenProg: A generic method for automatic software repair. TSE 38, 1 (2012), 54–72. Google ScholarDigital Library
- Claire Le Goues and Westley Weimer. 2009. Specification mining with few false positives. In Proceedings of the 15th TACAS. Springer, 292–306. Google ScholarDigital Library
- Jaekwon Lee, Dongsun Kim, Tegawendé F Bissyandé, Woosung Jung, and Yves Le Traon. 2018. Bench4bl: reproducibility study on the performance of ir-based bug localization. In Proceedings of the 27th ISSTA. ACM, 61–72. Google ScholarDigital Library
- Ben Liblit, Mayur Naik, Alice X Zheng, Alex Aiken, and Michael I Jordan. 2005. Scalable statistical bug isolation. In Proceedings of the 26th PLDI. ACM, 15–26. Google ScholarDigital Library
- Chen Liu, Jinqiu Yang, Lin Tan, and Munawar Hafiz. 2013. R2Fix: Automatically generating bug fixes from bug reports. In Proceedings of the 6th ICST. IEEE, 282–291. Google ScholarDigital Library
- Kui Liu, Koyuncu Anil, Kisub Kim, Dongsun Kim, and Tegawendé F. Bissyandé. 2018. LSRepair: Live Search of Fix Ingredients for Automated Program Repair. In Proceedings of the 25th APSEC. IEEE, 658–662.Google Scholar
- Kui Liu, Dongsun Kim, Tegawendé F. Bissyandé, Taeyoung Kim, Kisub Kim, Anil Koyuncu, Suntae Kim, and Yves Le Traon. 2019. Learning to Spot and Refactor Inconsistent Method Names. In Proceedings of the 41st ICSE. IEEE, 1–12. Google ScholarDigital Library
- Kui Liu, Dongsun Kim, Tegawendé F Bissyandé, Shin Yoo, and Yves Le Traon. 2018. Mining fix patterns for findbugs violations. TSE (2018).Google Scholar
- Kui Liu, Dongsun Kim, Anil Koyuncu, Li Li, Tegawendé F Bissyandé, and Yves Le Traon. 2018. A closer look at real-world patches. In Proceedings of the 34th ICSME. IEEE, 275–286.Google ScholarCross Ref
- Kui Liu, Anil Koyuncu, Tegawendé F. Bissyandé, Dongsun Kim, Jacques Klein, and Yves Le Traon. 2019. You Cannot Fix What You Cannot Find! An Investigation of Fault Localization Bias in Benchmarking Automated Program Repair Systems. In Proceedings of the 12th ICST. IEEE, 102–113.Google ScholarCross Ref
- Kui Liu, Anil Koyuncu, Dongsun Kim, and Tegawendé F. Bissyandé. 2019. AVATAR: Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations. In Proceedings of the 26th SANER. IEEE, 1–12.Google Scholar
- Kui Liu, Anil Koyuncu, Dongsun Kim, and Tegawendé F. Bissyandé. 2019. TBar : Revisiting Template-based Automated Program Repair. In Proceedings of the 28th ISSTA. ACM. Google ScholarDigital Library
- Xuliang Liu and Hao Zhong. 2018. Mining stackoverflow for program repair. In Proceedings of the 25th SANER. IEEE, 118–129.Google ScholarCross Ref
- Fan Long, Peter Amidon, and Martin Rinard. 2017. Automatic inference of code transforms for patch generation. In Proceedings of the 11th FSE. ACM, 727–739. Google ScholarDigital Library
- Fan Long and Martin Rinard. 2015. Staged program repair with condition synthesis. In Proceedings of the 10th FSE. ACM, 166–178. Google ScholarDigital Library
- Fan Long and Martin Rinard. 2016. An analysis of the search spaces for generate and validate patch generation systems. In Proceedings of the 38th ICSE. ACM, 702–713. Google ScholarDigital Library
- Fan Long and Martin Rinard. 2016. Automatic patch generation by learning correct code. In Proceedings of the 43rd POPL. ACM, 298–312. Google ScholarDigital Library
- Lucia LUCIA, Ferdian Thung, David Lo, and Lingxiao Jiang. 2012. Are Faults Localizable?. In Proceedings of the 9th MSR. 74–77. Google ScholarDigital Library
- Stacy K Lukins, Nicholas A Kraft, and Letha H Etzkorn. 2010. Bug localization using latent Dirichlet allocation. IST 52, 9 (2010), 972–990. Google ScholarDigital Library
- Xiaoguang Mao, Yan Lei, Ziying Dai, Yuhua Qi, and Chengsong Wang. 2014. Slice-based statistical fault localization. JSS 89 (2014), 51–62.Google ScholarDigital Library
- Matias Martinez and Martin Monperrus. 2016. Astor: A program repair library for java. In Proceedings of the 25th ISSTA. ACM, 441–444. ESEC/FSE ’19, August 26–30, 2019, Tallinn, Estonia Koyuncu, Liu, Bissyandé, Kim, Monperrus, Klein, and Le Traon Google ScholarDigital Library
- Matias Martinez and Martin Monperrus. 2018. Ultra-Large Repair Search Space with Automatically Mined Templates: The Cardumen Mode of Astor. In Proceedings of the 10th SSBSE. Springer, 65–86.Google ScholarCross Ref
- Sergey Mechtaev, Manh-Dung Nguyen, Yannic Noller, Lars Grunske, and Abhik Roychoudhury. 2018. Semantic Program Repair Using a Reference Implementation. In Proceedings of the 40th ICSE. ACM, 298–309. Google ScholarDigital Library
- Sergey Mechtaev, Jooyong Yi, and Abhik Roychoudhury. 2015. Directfix: Looking for simple program repairs. In Proceedings of the 37th ICSE. IEEE Press, 448–458. Google ScholarDigital Library
- Martin Monperrus. 2014. A critical review of automatic patch generation learned from human-written patches: essay on the problem statement and the evaluation of automatic software repair. In Proceedings of the 36th ICSE. ACM, 234–242. Google ScholarDigital Library
- Mathieu Nayrolles and Abdelwahab Hamou-Lhadj. 2018. CLEVER: combining code metrics with clone detection for just-in-time fault prevention and resolution in large industrial projects. In Proceedings of the 15th MSR. ACM, 153–164. Google ScholarDigital Library
- Hoang Duong Thien Nguyen, Dawei Qi, Abhik Roychoudhury, and Satish Chandra. 2013. SemFix: program repair via semantic analysis. In Proceedings of the 35th ICSE. IEEE, 772–781. Google ScholarDigital Library
- Yoann Padioleau, Julia Lawall, René Rydhof Hansen, and Gilles Muller. 2008. Documenting and automating collateral evolutions in Linux device drivers. In Proceedings of 3rd EuroSys, Vol. 42. ACM, 247–260. Google ScholarDigital Library
- Chris Parnin and Alessandro Orso. 2011. Are automated debugging techniques actually helping programmers?. In Proceedings of the 20th ISSTA. ACM, 199–209. Google ScholarDigital Library
- Jean Petrić, Tracy Hall, and David Bowes. 2018. How Effectively Is Defective Code Actually Tested?: An Analysis of JUnit Tests in Seven Open Source Systems. In Proceedings of the 14th PROMISE. ACM, 42–51. Google ScholarDigital Library
- Zichao Qi, Fan Long, Sara Achour, and Martin Rinard. 2015. An analysis of patch plausibility and correctness for generate-and-validate patch generation systems. In Proceedings of the 24th ISSTA. ACM, 24–36. Google ScholarDigital Library
- Reudismam Rolim, Gustavo Soares, Loris D’Antoni, Oleksandr Polozov, Sumit Gulwani, Rohit Gheyi, Ryo Suzuki, and Björn Hartmann. 2017. Learning syntactic program transformations from examples. In Proceedings of the 39th ICSE. IEEE/ACM, 404–415. Google ScholarDigital Library
- Ripon Saha, Yingjun Lyu, Wing Lam, Hiroaki Yoshida, and Mukul Prasad. 2018. Bugs.jar: a large-scale, diverse dataset of real-world java bugs. In Proceedings of the 15th MSR. IEEE, 10–13. Google ScholarDigital Library
- Ripon K Saha, Matthew Lease, Sarfraz Khurshid, and Dewayne E Perry. 2013. Improving bug localization using structured information retrieval. In Proceedings of the 28th ASE. IEEE, 345–355. Google ScholarDigital Library
- Ripon K Saha, Yingjun Lyu, Hiroaki Yoshida, and Mukul R Prasad. 2017. ELIXIR: Effective object-oriented program repair. In Proceedings of the 32nd ASE. IEEE, 648–659. Google ScholarDigital Library
- Eric Schulte, Zachary P Fry, Ethan Fast, Westley Weimer, and Stephanie Forrest. 2014. Software mutational robustness. Genetic Programming and Evolvable Machines 15, 3 (2014), 281–312. Google ScholarDigital Library
- Andrew Scott, Johannes Bader, and Satish Chandra. 2019. Getafix: Learning to fix bugs automatically. arXiv preprint arXiv:1902.06111 (2019).Google Scholar
- Edward K Smith, Earl T Barr, Claire Le Goues, and Yuriy Brun. 2015. Is the cure worse than the disease? Overfitting in automated program repair. In Proceedings of the 10th FSE. ACM, 532–543. Google ScholarDigital Library
- Mauricio Soto and Claire Le Goues. 2018. Using a probabilistic model to predict bug fixes. In Proceedings of the 25th SANER. IEEE, 221–231.Google ScholarCross Ref
- Stephen W Thomas, Meiyappan Nagappan, Dorothea Blostein, and Ahmed E Hassan. 2013. The impact of classifier configuration and classifier combination on bug localization. TSE 39, 10 (2013), 1427–1443. Google ScholarDigital Library
- Simon Urli, Zhongxing Yu, Lionel Seinturier, and Martin Monperrus. 2018. How to design a program repair bot?: insights from the repairnator project. In Proceedings of the 40th ICSE. ACM, 95–104. Google ScholarDigital Library
- Qianqian Wang, Chris Parnin, and Alessandro Orso. 2015. Evaluating the usefulness of IR-based fault localization techniques. In Proceedings of the 24th ISSTA. ACM, 1–11. Google ScholarDigital Library
- Shaowei Wang and David Lo. 2014. Version History, Similar Report, and Structure: Putting Them Together for Improved Bug Localization. In Proceedings of the 22nd ICPC. ACM, 53–63. Google ScholarDigital Library
- Yi Wei, Yu Pei, Carlo A Furia, Lucas S Silva, Stefan Buchholz, Bertrand Meyer, and Andreas Zeller. 2010. Automated fixing of programs with contracts. In Proceedings of the 19th ISSTA. ACM, 61–72. Google ScholarDigital Library
- Westley Weimer, ThanhVu Nguyen, Claire Le Goues, and Stephanie Forrest. 2009. Automatically finding patches using genetic programming. In Proceedings of the 31st ICSE. IEEE, 364–374. Google ScholarDigital Library
- Ming Wen, Junjie Chen, Rongxin Wu, Dan Hao, and Shing-Chi Cheung. 2018. Context-Aware Patch Generation for Better Automated Program Repair. In Proceedings of the 40th ICSE. IEEE/ACM, 1–11. Google ScholarDigital Library
- Ming Wen, Rongxin Wu, and Shing-Chi Cheung. 2016. Locus: Locating bugs from software changes. In Proceedings of the 31st ASE. IEEE, 262–273. Google ScholarDigital Library
- Martin White, Michele Tufano, Matias Martinez, Martin Monperrus, and Denys Poshyvanyk. 2019. Sorting and Transforming Program Repair Ingredients via Deep Learning Code Similarities. In Proceedings of the 26th SANER. IEEE.Google ScholarCross Ref
- Chu-Pan Wong, Yingfei Xiong, Hongyu Zhang, Dan Hao, Lu Zhang, and Hong Mei. 2014. Boosting Bug-Report-Oriented Fault Localization with Segmentation and Stack-Trace Analysis. In Proceedings of the 30th ICSME. IEEE, 181–190. Google ScholarDigital Library
- W Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, and Franz Wotawa. 2016. A survey on software fault localization. TSE 42, 8 (2016), 707–740. Google ScholarDigital Library
- Qi Xin and Steven P Reiss. 2017. Identifying test-suite-overfitted patches through test case generation. In Proceedings of the 26th ISSTA. ACM, 226–236. Google ScholarDigital Library
- Qi Xin and Steven P Reiss. 2017. Leveraging syntax-related code for automated program repair. In Proceedings of the 32nd ASE. IEEE/ACM, 660–670. Google ScholarDigital Library
- Yingfei Xiong, Xinyuan Liu, Muhan Zeng, Lu Zhang, and Gang Huang. 2018. Identifying patch correctness in test-based program repair. In Proceedings of the 40th ICSE. ACM, 789–799. Google ScholarDigital Library
- Yingfei Xiong, Jie Wang, Runfa Yan, Jiachen Zhang, Shi Han, Gang Huang, and Lu Zhang. 2017. Precise condition synthesis for program repair. In Proceedings of the 39th ICSE. IEEE/ACM, 416–426. Google ScholarDigital Library
- Jifeng Xuan, Matias Martinez, Favio DeMarco, Maxime Clement, Sebastian Lamelas Marcote, Thomas Durieux, Daniel Le Berre, and Martin Monperrus. 2017.Google Scholar
- Nopol: Automatic repair of conditional statement bugs in java programs. TSE 43, 1 (2017), 34–55. Google ScholarDigital Library
- Jinqiu Yang, Alexey Zhikhartsev, Yuefei Liu, and Lin Tan. 2017. Better test cases for better automated program repair. In Proceedings of the 11th FSE. ACM, 831–841. Google ScholarDigital Library
- Shin Yoo and Mark Harman. 2012. Regression testing minimization, selection and prioritization: a survey. STVR 22, 2 (2012), 67–120. Google ScholarDigital Library
- Klaus Changsun Youm, June Ahn, and Eunseok Lee. 2017. Improved bug localization based on code change histories and bug reports. IST 82 (2017), 177–192.Google Scholar
- Zhongxing Yu, Matias Martinez, Benjamin Danglot, Thomas Durieux, and Martin Monperrus. 2017. Test case generation for program repair: A study of feasibility and effectiveness. arXiv preprint arXiv:1703.00198 (2017).Google Scholar
- Zhongxing Yu, Matias Martinez, Benjamin Danglot, Thomas Durieux, and Martin Monperrus. 2018. Alleviating patch overfitting with automatic test generation: a study of feasibility and effectiveness for the Nopol repair system. EMSE Journal (2018), 1–35. Google ScholarDigital Library
- Jian Zhou, Hongyu Zhang, and David Lo. 2012. Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports. In Proceedings of the 34th ICSE. IEEE, 14–24. Google ScholarDigital Library
Index Terms
- iFixR: bug report driven program repair
Recommendations
iBiR: Bug-report-driven Fault Injection
Much research on software engineering relies on experimental studies based on fault injection. Fault injection, however, is not often relevant to emulate real-world software faults since it “blindly” injects large numbers of faults. It remains indeed ...
Boosting Bug-Report-Oriented Fault Localization with Segmentation and Stack-Trace Analysis
ICSME '14: Proceedings of the 2014 IEEE International Conference on Software Maintenance and EvolutionTo deal with post-release bugs, many software projects set up public bug repositories for users all over the world to report bugs that they have encountered. Recently, researchers have proposed various information retrieval based approaches to ...
Comparing developer-provided to user-provided tests for fault localization and automated program repair
ISSTA 2018: Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and AnalysisTo realistically evaluate a software testing or debugging technique, it must be run on defects and tests that are characteristic of those a developer would encounter in practice. For example, to determine the utility of a fault localization or automated ...
Comments