Fazzini’s Software Engineering Lab Earns IEEE TCSE Distinguished Paper Award
Department of Computer Science & Engineering PhD student Mengzhen Li earned the Institute of Electrical and Electronics Engineers (IEEE) Technical Community on Software Engineering (TCSE) Distinguished Paper Award for her publication titled, “Automatically Removing Unnecessary Stubbings from Test Suites”. Li is advised by CS&E assistant professor Mattia Fazzini. Their work was presented at the 2024 conference in Toronto, and was also featured in the IEEE Software, Practitioner's Digest.
“This is my first publication and it motivates me to work more on this work,” said Li. “It was a surprise to us because we found out we won an award at the conference. Our paper focuses on helping developers detect and identify unnecessary stubbings. Our solution classifies and applies different resolution strategies to remove unnecessary stubbings safely from the test suite.”
When developers write code, they need to write both the code to manage the software, as well as the tests to make sure the code behaves the way they intended. Amongst different topics, the Software Engineering Lab managed by Fazzini works on new algorithms to improve the test code - in this case, they took real projects from GitHub and analyzed them for unused stubbings. Stubs are part of the test code and they help facilitate the testing activities on specific sections of the code. Developers write these replacements but sometimes leave them in the test code even if they are not used anymore. Li has created an algorithm that is able to identify and safely resolve the unnecessary code from test suites.
“We took some real world projects from GitHub, which houses open source projects where other users are able to submit pull requests,” said Li. “We then make changes and submit a report that outlines the updates we made and why. The project owners have the opportunity to review it and accept or reject those changes. We submitted pull requests to 33 projects and had more than 80 changes that were approved and integrated into the corresponding code bases. Developers were very interested and grateful for our work and wanted to learn more about our project.”
Li is now continuing this work on a similar project that focuses on mismatch stubbings. In the test code when developers set up the stubbings, they might set up some parameters that are different from what is actually used in the execution of the test. The next phase of the project looks at the mismatched stubbings and execution to find a safe way to make them match, and will be another chapter of Li’s thesis.
“We really treasure these awards because a very small number of papers that are accepted receive them,” said Fazzini. “On my side of things, this is the first paper I have with just me and a PhD student in my whole career. It is great that this work is entirely from the University of Minnesota and our lab.”
Learn more about the projects in the Software Engineering Lab at their website.