Mutation Testing Meets Software Analytics: A Hands-On Tutorial
MSR - Tutorial
Software testing is an essential activity to ensure software quality. In a typical use case scenario, developers write a set of test cases and run them periodically on production code to identify defects. However, not all tests have the same fault detection capability. To help developers understand how effective their tests actually are, a number of metrics have been proposed. Among them, mutation coverage represents the high-end test coverage criterion. Artificially created defects are seeded into the production code, creating the so-called mutants. Then, tests are ran against mutants to verify whether they can identify the artificial faults created, hence giving a measure of the effectiveness of tests in catching defects. Despite being so powerful, mutation testing is still too expensive to be used in practice. To address this issue, software repository mining and software analytics can come to rescue. In this hands-on tutorial, participants will be given an introduction on how to develop accurate, reliable, and reproducible analytical models: despite being focused in the context of mutation testing, the insights given will allow participants to model any generic software engineering problem through the use of machine learning solutions. The tutorial will also discuss the common pitfalls associated with analytical techniques. Python, and the Sklearn library in particular, will be the primary technologies employed. Code samples will be available in a public Github repository.
Fabio Palomba is an Assistant Professor at the Software Engineering (SeSa) Lab of the University of Salerno. He received the European PhD degree in Management & Information Technology in 2017. His PhD Thesis was the recipient of the 2017 IEEE Computer Society Best PhD Thesis Award.
His research interests include software maintenance and evolution, empirical software engineering, source code quality, and mining software repositories. He was the recipient of two ACM/SIGSOFT and one IEEE/TCSE Distinguished Paper Awards at the IEEE/ACM International Conference on Automated Software Engineering (ASE’13), the International Conference on Software Engineering (ICSE’15), and the IEEE International Conference on Software Maintenance and Evolution (ICSME’17), respectively, and Best Paper Awards at the ACM Computer Supported Cooperative Work (CSCW’18) and the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER’18). In 2019 he was the recipient of an SNSF Ambizione grant, one of the most prestigious individual research grants in Europe.
He serves and has served as a program committee member of various international conferences (e.g., IEEE/ACM International Conference on Automated Software Engineering, IEEE/ACM International Conference on Mining Software Repositories, IEEE International Conference on Program Comprehension, IEEE International Conference on Software Maintenance and Evolution), and as referee for various international journals (e.g., IEEE Transactions on Software Engineering, Springer’s Empirical Software Engineering Journal, Elsevier’s Journal of Systems and Software) in the field of software engineering.
In 2021, he will be the Program Co-Chair of the IEEE/ACM International Conference on Program Comprehension. He has been a member of the organizing committee of the 2015 IEEE International Conference on Program Comprehension and the 2018 IEEE International Conference on Software Analysis, Evolution and Reengineering, and program committee co-chair of the International Workshop of Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE 2018 and 2019). Since 2020 he is Review Board Member of the IEEE Transactions on Software Engineering and, since 2016, Review Board Member of the Springer’s Empirical Software Engineering Journal (EMSE). Since 2019, he is Editorial Board Member of ACM Transactions on Software Engineering and Methodology (TOSEM), Elsevier’s Journal of Systems and Software (JSS), and Elsevier’s Science of Computer Programming (SCICO). For his reviewing activities, he was the recipient of seven Distinguished/Outstanding Reviewer Awards.
Tue 30 Jun Times are displayed in time zone: (UTC) Coordinated Universal Time change
14:30 - 15:00
|Mutation Testing Meets Software Analytics: A Hands-On TutorialMSR - Tutorial |
A: Fabio PalombaUniversity of SalernoMedia Attached