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 R3 (Rational Refactoring via RTM), has been evaluated in tw...
Since the earliest days of software development, the issue of software modularity has been addressed...
Over the last thirty years designers have tried to cope with software complexity by organizing syste...
In this paper we explore the possibilities of improving software architecture by eliminating inter-p...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...
Abstract—During software maintenance and evolution the internal structure of the software system und...
During software maintenance and evolution the internal structure of the software system undergoes co...
Effective software system must advance to stay pertinent, however this procedure of development can ...
International audienceThere exist many large object-oriented software systems consisting of several ...
Software evolves over time with the modification, addition and removal of new classes, methods, func...
Abstract—There exist many large object-oriented software sys-tems consisting of several thousands of...
Part 3: Measurements, Testing, and Quality of SoftwareInternational audienceWith the rapid growth of...
In a previous study we proceeded to the remodularization architecture based on classes and packages ...
AbstractThe software maintenance activities performed without following the original design decision...
Refactoring is the process of changing a software system aiming at organizing the design of the sour...
For large software systems, refactoring activities can be a challenging task, since for keeping comp...
Since the earliest days of software development, the issue of software modularity has been addressed...
Over the last thirty years designers have tried to cope with software complexity by organizing syste...
In this paper we explore the possibilities of improving software architecture by eliminating inter-p...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...
Abstract—During software maintenance and evolution the internal structure of the software system und...
During software maintenance and evolution the internal structure of the software system undergoes co...
Effective software system must advance to stay pertinent, however this procedure of development can ...
International audienceThere exist many large object-oriented software systems consisting of several ...
Software evolves over time with the modification, addition and removal of new classes, methods, func...
Abstract—There exist many large object-oriented software sys-tems consisting of several thousands of...
Part 3: Measurements, Testing, and Quality of SoftwareInternational audienceWith the rapid growth of...
In a previous study we proceeded to the remodularization architecture based on classes and packages ...
AbstractThe software maintenance activities performed without following the original design decision...
Refactoring is the process of changing a software system aiming at organizing the design of the sour...
For large software systems, refactoring activities can be a challenging task, since for keeping comp...
Since the earliest days of software development, the issue of software modularity has been addressed...
Over the last thirty years designers have tried to cope with software complexity by organizing syste...
In this paper we explore the possibilities of improving software architecture by eliminating inter-p...