Auflistung nach Autor:in "Zanetti, Marcelo Serrano"
1 - 2 von 2
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragAutomated software remodularization based on move refactoring - A complex systems approach(Software-engineering and management 2015, 2015) Scholtes, Ingo; Zanetti, Marcelo Serrano; Tessone, Claudio Juan; Schweitzer, FrankModular design is a desirable characteristic that fosters the comprehensibility and thus maintainability of software systems. While many software systems are initially created in a modular way, over time modularity typically degrades. In our work, we propose an automated strategy to remodularize software based on move refactorings, i.e. moving classes between packages without changing other aspects of the source code. Taking a complex systems perspective, our approach applies network theory to the dynamics of software dependency structures. Drawing inspiration from statistical physics, we use the Potts Spin Model and turn it into a stochastic remodularization algorithm which is based on probabilistically moving classes between modules. We test our method on 39 open source JAVA software projects. Comparing the modular structure produced by developers with that optimized by our algorithm, we find that our method is able to improve modularity by an average of $166 \pm 77$ percent. Our work highlights the potential of interdisciplinary applications of methods from the statistical physics perspective on complex systems to software engineering.
- KonferenzbeitragA network perspective on software modularity(ARCS 2012 Workshops, 2012) Zanetti, Marcelo Serrano; Schweitzer, FrankModularity is a desirable characteristic for software systems. In this article we propose to use a quantitative method from complex network sciences to estimate the coherence between the modularity of the dependency network of large open source JAVA projects and their decomposition in terms of JAVA packages. The results presented in this article indicate that our methodology offers a promising and reasonable quantitative approach with potential impact on software engineering processes.