AnSyMo, Antwerp Systems and Software Modelling, is a research group at the University of Antwerp investigating foundations, techniques, methods, and tools for the design, analysis, and maintenance of software-intensive systems. Today, a large part of our world and society is shaped and steered by systems and software. More or less all devices and machines use software to some extent. Add to this all the organizations, businesses, and enterprises that you communicate with daily that could not function without software.
Dr. Henrique Rocha, leading the master course Software Reengineering, discusses the challenges of software reengineering and outlines the objectives of the course. The primary aim of the course is to familiarize students with a wide range of principles, techniques, and skills employed in the reengineering of existing software systems. Over the course of two semesters, students have utilized CodeScene in an assignment aimed at restructuring existing software.
What is a common challenge or pain point when restructuring existing software?
“We suggest students to always start with CodeScene as it provides great insights on how to begin the restructuring project. CodeScene is the recommended software for two topics – visualization and metrics. CodeScene provides several visualization options that allow the students to have a better overview of the analyzed software. The visualizations also help the students identify possible candidates for refactoring, especially the Technical Debt tab.
Moreover, the complexity metrics and smells details on artifact-level show the reasoning for the students on why such artifacts were marked as candidates for refactoring.”
About how long does it take new students to get up to speed with CodeScene?
“The learning curve for CodeScene seems very easy. We direct them in a lab lecture on how to use most of the Technical Debt tab and to look at the complexity metrics. Most students tend to explore other features for themselves. Usually, after one lab session, the students seem more than able and comfortable using CodeScene.”
Identify refactoring targets
How does CodeScene complement other tools used in your master-class?
“The visualization options provided by CodeScene synergize well with other tools. Moreover, I was impressed by how CodeScene has so many more features that complement tools for other topics. For instance, we use SonarQube in the lecture ‘Refactoring Assistants’. SonarQube shows detailed reports for code smells – often too much detail. CodeScene also shows potential refactoring targets and some code smells affecting artifacts. Therefore, good projects use both to justify their refactorings. As another example, other CodeScene features fall into the ‘Mining Software Repositories’ lecture, complementing its analysis.”
Read more about AnSyMo and their research on the increasing complexity of software-intensive systems. CodeScene (then called Empear) also participated in an international research project aimed at helping software teams balance faster development with maintained quality.
Summary and Key Insights
CodeScene provides great insights to students on how to begin a restructuring project, giving them an overview of the analyzed software and helping them identify candidates for refactoring through the File-Level Hotspots Map and Refactoring Targets features.
About the Research Group
AnSyMo, Antwerp Systems and Software Modelling, is a research group at the University of Antwerp investigating foundations, techniques, methods, and tools for the design, analysis, and maintenance of software-intensive systems. CodeScene is used in the master Software Reengineering course for restructuring existing software.