Sign up or log in to save this to your schedule and see who's attending!

As a software system evolves, its design structure often degrades and accumulates technical debt. The emergence of code smells, such as a God Class, is a well-known symptom of such problems. Although several tools exist for detecting code smells, the number of smells returned by current tools generally exceeds the number of problems developers can deal with. This is particularly evident when a team should focus on customer-visible features, and thus the time available for system restructuring is limited. Furthermore, not all smells require urgent attention, as they might not be related to architectural problems or business goals. In this context, having a tool that can prioritize critical smells is of great help for architects and developers.

To this end, we developed JSpIRIT (Java Smart Identification of Refactoring opportunITies) as a recommender system for ranking code smells according to multiple criteria. JSpIRIT performs a scanning of the system code, but its analysis is flexible enough to include information from past system versions, modifiability scenarios, and architectural components, among other assets. In the past few years, we have applied JSpIRIT to several Java projects with satisfactory results. Consequently, we have continued to improve the tool with more features. For instance, since smells often appear interrelated in the code, JSpIRIT provides insights to the developer about smell groupings. In addition, it offers visualizations for different smell configurations. We will present the key tool features and discuss project experiences in which JSpIRIT was useful for diagnosing the system “health” and planning for refactorings.

J. Andres Diaz-Pace is a professor at UNICEN University (Tandil, Argentina) and an Independent Research Fellow of the National Council for Scientific and Technical Research of Argentina (CONICET). From 2007 to 2010, he was a member of the technical staff at the Software Engineering... Read More →

Claudia Marcos has been a Professor in the School of Computer Science at Universidad Nacional del Centro de la Provincia de Buenos Aires (UNCPBA) since 1991. She is a CIC (Comisión de Investigación Científica de la provincia de Buenos Aires) researcher. From 2000 to 2005, she was... Read More →

Santiago Vidal received the MSc and PhD degrees in Computer Science from UNICEN University in Tandil, Argentina, in 2011 and 2013, respectively. He is a Teacher Assistant in the Computer Science Department of UNICEN and a research fellow of CONICET-Argentina. His main research interests... Read More →