Technical debt at the architectural level is a severe threat to software development projects. Uncontrolled technical debt that is allowed to accumulate will undoubtedly hinder speedy development and maintenance, introduce bugs and problems in the software product, and may ultimately result in the abandonment of the source code. It is possible to detect debt accumulation by analyzing the source code and intended modules in the software architecture. However, this is seldom done in practice since it requires a correct and up-to-date mapping from source code to intended modules in the architecture. This mapping requires significant manual effort to create and maintain, something often considered too costly and laborsome. We investigate how ...
Becoming increasingly complex, software development relies heavily on the reuse of existing librarie...
Abstract—Unsupervised software clustering is the problem of automatically decomposing the software s...
Effective execution of software maintenance requires knowledge of the detailed working of software. ...
Technical debt at the architectural level is a severe threat to software development projects. Uncon...
grantor: University of TorontoA common problem that the software industry has to face is t...
When the source code of a software is the only product available, program understanding has a substa...
This paper provides an overview of the author's Ph.D. thesis [8]. The primary contribution of t...
In the field of Software Maintenance the definition of effective approaches to partition a software...
International audienceProgram understanding aims at discovering human-readable properties of a softw...
Source code classification is an important step in archiving and reusing the code. Given the complex...
Software modules reusability may play an unbeatable role to increase the software productivity. Code...
In literature some approaches have been proposed to partition software systems into meaningful subsy...
Abstract: Software clustering is an established approach to automatic architecture re-covery. It gro...
This paper elaborates on how to use clustering for the evaluation of a software system’s maintainabi...
Software modules reusability may play an unbeatable role to increase the software productivity. Code...
Becoming increasingly complex, software development relies heavily on the reuse of existing librarie...
Abstract—Unsupervised software clustering is the problem of automatically decomposing the software s...
Effective execution of software maintenance requires knowledge of the detailed working of software. ...
Technical debt at the architectural level is a severe threat to software development projects. Uncon...
grantor: University of TorontoA common problem that the software industry has to face is t...
When the source code of a software is the only product available, program understanding has a substa...
This paper provides an overview of the author's Ph.D. thesis [8]. The primary contribution of t...
In the field of Software Maintenance the definition of effective approaches to partition a software...
International audienceProgram understanding aims at discovering human-readable properties of a softw...
Source code classification is an important step in archiving and reusing the code. Given the complex...
Software modules reusability may play an unbeatable role to increase the software productivity. Code...
In literature some approaches have been proposed to partition software systems into meaningful subsy...
Abstract: Software clustering is an established approach to automatic architecture re-covery. It gro...
This paper elaborates on how to use clustering for the evaluation of a software system’s maintainabi...
Software modules reusability may play an unbeatable role to increase the software productivity. Code...
Becoming increasingly complex, software development relies heavily on the reuse of existing librarie...
Abstract—Unsupervised software clustering is the problem of automatically decomposing the software s...
Effective execution of software maintenance requires knowledge of the detailed working of software. ...