Dr. Eman AlOmar, assistant professor at the School of Systems & Enterprises (SSE), was recently accepted to the Mining Software Repositories (MSR) 2022 conference for three unique research projects. All three projects explore code refactoring and make recommendations for highly beneficial impacts to code-reliant businesses.
In computer coding and software engineering, refactoring is the process of restructuring existing computer code without changing its behavior. This method improves the code’s efficiency and legibility, making it significantly easier to understand, reuse and spot bugs or vulnerabilities.
To explore how industry vendors can improve coding processes and enhance the quality of products, AlOmar observed how refactoring opportunities in a code base are identified, documented and evaluated by developers.
“The findings from these projects reaffirm the necessity for developing tools and techniques that assist vendors in restructuring their code,” said AlOmar. “Little is known about how refactoring is being reviewed or how developers communicate their needs, but coming to understand these issues is of paramount importance in academia and industry.”
A summary of AlOmar’s papers to be showcased at MSR 2022 can be found below:
- “Code review practices for refactoring changes: An empirical study on OpenStack”
- “An exploratory study on refactoring documentation in issues handling”
- “Refactoring debt: myth or reality? An exploratory study on the relationship between technical debt and refactoring”
According to AlOmar, the topics investigated in these projects are covered in two courses she teaches, “SSW 567: Software Testing, Quality Assurance and Maintenance” and “EM 224: Informatics & Software Development.” Students interested in the relationship between coding and quality assurance are encouraged to enroll.
The Mining Software Repositories conference highlights research in data mining, data science, machine learning and artificial intelligence in software engineering. The goal of the conference is to improve software engineering practices by uncovering relevant and actionable information, providing knowledge for planning and future software development.