Akademska digitalna zbirka SLovenije - logo
E-viri
Recenzirano Odprti dostop
  • Improving software modulari...
    Bavota, Gabriele; Gethers, Malcom; Oliveto, Rocco; Poshyvanyk, Denys; Lucia, Andrea de

    ACM transactions on software engineering and methodology, 02/2014, Letnik: 23, Številka: 1
    Journal Article

    Oftentimes, during software maintenance the original program modularization decays, thus reducing its quality. One of the main reasons for such architectural erosion is suboptimal placement of source-code classes in software packages. To alleviate this issue, we propose an automated approach to help developers improve the quality of software modularization. Our approach analyzes underlying latent topics in source code as well as structural dependencies to recommend (and explain) refactoring operations aiming at moving a class to a more suitable package. The topics are acquired via Relational Topic Models (RTM), a probabilistic topic modeling technique. The resulting tool, coined as R 3 (Rational Refactoring via RTM), has been evaluated in two empirical studies. The results of the first study conducted on nine software systems indicate that R 3 provides a coupling reduction from 10% to 30% among the software modules. The second study with 62 developers confirms that R 3 is able to provide meaningful recommendations (and explanations) for move class refactoring. Specifically, more than 70% of the recommendations were considered meaningful from a functional point of view.