skip to main content
10.1145/3613372.3613412acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbesConference Proceedingsconference-collections
research-article

Analyzing a Semantics-Aware Bug Seeding Tool's Efficacy: A qualitative study with the SemSeed tool

Authors Info & Claims
Published:25 September 2023Publication History

ABSTRACT

Software developers can benefit from machine learning solutions to predict bugs. Machine learning solutions usually require a lot of data to train a model in order to achieve reliable results. In this context, developers use bug-seeding approaches to generate synthetic bugs, which should be similar to human-made bugs. A recent state-of-the-art tool, called SemSeed, uses a semantics-aware bug seeding approach in order to hopefully achieve more realistic bugs. In this study, we report on the investigation of SemSeed’s efficacy. We create a survey that shows developers a bug and asks whether it is a Real or Synthetic bug. We collected and analyzed the answers from 47 developers, and we show that SemSeed can be very accurate in seeding realistic bugs.

References

  1. Robert S Boyer, Bernard Elspas, and Karl N Levitt. 1975. SELECT—a formal system for testing and debugging programs by symbolic execution. ACM SigPlan Notices 10, 6 (1975), 234–245.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. David Bingham Brown, Michael Vaughn, Ben Liblit, and Thomas Reps. 2017. The Care and Feeding of Wild-Caught Mutants. In ESEC/FSE 2017: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. 511–522.Google ScholarGoogle Scholar
  3. Juliet Corbin and Anselm Strauss. 2014. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage publications.Google ScholarGoogle Scholar
  4. Brendan Dolan-Gavitt, Patrick Hulin†, Engin Kirda, Tim Leek, Andrea Mambretti, Wil Robertson, Frederick Ulrich, and Ryan Whelan. 2016. LAVA: Large-scale Automated Vulnerability Addition. In IEEE Symposium on Security and Privacy. IEEE, 110–121.Google ScholarGoogle Scholar
  5. António Fonseca and Hugo Faria. 2021. Adaptive Knowledge Assessment Using Advanced Concept Maps with Logic Branching Multiple-Choice Google Forms. ELearn 2021, Special Issue, Article 9 (oct 2021), 12 pages. https://doi.org/10.1145/3466623Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Heidilyn Gamido and Marlon Gamido. [n. d.]. Comparative Review of the Features of Automated Software Testing Tools. ([n. d.]). https://www.researchgate.net/publication/335928031_Comparative_Review_of_the_Features_of_Automated_Software_Testing_ToolsGoogle ScholarGoogle Scholar
  7. Charaka Geethal. 2021. Training Automated Test Oracles to Identify Semantic Bugs. In 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 1051–1055.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Michael Grottke, Rivalino Matias, and Kishor S Trivedi. 2008. The fundamentals of software aging. In 2008 IEEE International conference on software reliability engineering workshops (ISSRE Wksp). Ieee, 1–6.Google ScholarGoogle ScholarCross RefCross Ref
  9. Shikai Guo, He Jiang, Zhihao Xu, Xiaochen Li, Zhilei Ren, Zhide Zhou, and Rong Chen. 2022. Detecting Simulink compiler bugs via controllable zombie blocks mutation. In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 1061–1072.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jingxuan He, Luca Beurer-Kellner, and Martin Vechev. 2022. On Distribution Shift in Learning-based Bug Detectors. arXiv preprint arXiv:2204.10049 (2022).Google ScholarGoogle Scholar
  11. Mark C. Henderson, Lawrence M. Tierney Jr., and Gerald W. Smetana. 2012. The Patient History: An Evidence-Based Approach to Differential Diagnosis cover. McGraw-Hill Medical.Google ScholarGoogle Scholar
  12. Facebook inc.[n. d.]. fastText, Library for efficient text classification and representation learning. https://github.com/facebookresearch/fastText/.Google ScholarGoogle Scholar
  13. Charaka Geethal Kapugama, Van-Thuan Pham, Aldeida Aleti, and Marcel Böhme. 2022. Human-in-the-loop oracle learning for semantic bugs in string processing programs. In Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis. 215–226.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Barbara A Kitchenham and Shari Lawrence Pfleeger. 2002. Principles of survey research: part 3: constructing a survey instrument. ACM SIGSOFT Software Engineering Notes 27, 2 (2002), 20–24.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Kui Liu, Jingtang Zhang, Li Li, Anil Koyuncu, Dongsun Kim, Chunpeng Ge, Zhe Liu, Jacques Klein, and Tegawendé F. Bissyandé. 2023. Reliable Fix Patterns Inferred from Static Checkers for Automated Program Repair. ACM Trans. Softw. Eng. Methodol. (jan 2023). https://doi.org/10.1145/3579637 Just Accepted.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Fritz Madrona Ferran, Maricar Sison Prudente, and Socorro E. Aguja. 2021. Google Forms-Based Lesson Playlist: Examining Students’ Attitude Towards Its Use and Its Effect on Academic Performance. In 2021 12th International Conference on E-Education, E-Business, E-Management, and E-Learning (Tokyo, Japan) (IC4E 2021). Association for Computing Machinery, New York, NY, USA, 131–139. https://doi.org/10.1145/3450148.3450200Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Many. [n. d.]. 150k Javascript Dataset. https://www.sri.inf.ethz.ch/js150Google ScholarGoogle Scholar
  18. Vinícius Martins, Camila Terra, Lucas Cordeiro Marques, Juliana Alves Pereira, Alessandro Garcia, Carlos Lucena, Bruno Feijó, and Antonio L. Furtado. 2023. A qualitative study with the SemSeed tool: Github page. https://github.com/SyntheticBug/SemSeedQualitativeStudy Last accessed 17 July 2023.Google ScholarGoogle Scholar
  19. Islam Md. Hasibul, Paul Rumpa, and Mondal Manishankar. 2023. Predicting Buggy Code Clones through Machine Learning. In Proceedings of the 32nd Annual International Conference on Computer Science and Software Engineering (Toronto, Canada) (CASCON ’22). IBM Corp., USA, 130–139.Google ScholarGoogle Scholar
  20. Shabnam Mirshokraie, Ali Mesbah, and Karthik Pattabiraman. 2013. Efficient JavaScript Mutation Testing. In 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation. 74–83.Google ScholarGoogle Scholar
  21. Charalambos Mitropoulos. 2019. Employing different program analysis methods to study bug evolution. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 1202–1204.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Meetesh Nevendra and Pradeep Singh. 2022. A Survey of Software Defect Prediction Based on Deep Learning. Archives of Computational Methods in Engineering 29, 7 (2022), 5723–5748.Google ScholarGoogle ScholarCross RefCross Ref
  23. Jibesh Patra and Michael Pradel. [n. d.]. SemSeed’s Github page. https://github.com/sola-st/SemSeed/Google ScholarGoogle Scholar
  24. Jibesh Patra and Michael Pradel. 2021. Semantic bug seeding: a learning-based approach for creating realistic bugs. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 906–918.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Shari Lawrence Pfleeger and Barbara A Kitchenham. 2001. Principles of survey research: part 1: turning lemons into lemonade. ACM SIGSOFT Software Engineering Notes 26, 6, 16–18.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Gábor Szoke. 2019. Fighting Software Erosion with Automated Refactoring.Google ScholarGoogle Scholar
  27. Roberto Torres. 2021. Poor software quality cost businesses $2 trillion last year and put security at risk. https://www.ciodive.com/news/poor-software-quality-report-2020/593015/Google ScholarGoogle Scholar
  28. Oleksii Trekhleb. [n. d.]. JavaScript Algorithms and Data Structures. https://github.com/trekhleb/javascript-algorithmsGoogle ScholarGoogle Scholar
  29. Cody Tufano, Michele; Watson, Gabriele Bavota, Massimiliano Di Penta, Martin White, and Denys Poshyvanyk. 2019. Learning How to Mutate Source Code from Bug-Fixes. In 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 301–312.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Analyzing a Semantics-Aware Bug Seeding Tool's Efficacy: A qualitative study with the SemSeed tool

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          SBES '23: Proceedings of the XXXVII Brazilian Symposium on Software Engineering
          September 2023
          570 pages
          ISBN:9798400707872
          DOI:10.1145/3613372

          Copyright © 2023 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 25 September 2023

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          Overall Acceptance Rate147of427submissions,34%
        • Article Metrics

          • Downloads (Last 12 months)33
          • Downloads (Last 6 weeks)6

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format