Program clustering for large and complex systems improves the effectiveness and efficiency of software maintenance and is a basis for acquiring reusable components. In this paper, a functional requirement based hierarchical agglomerative approach to this problem is proposed. In this approach, the semantic information existing in the descriptions of functional requirements is employed to acquire a high-level logic view of the given system. Furthermore, the corresponding source code artifacts for each requirement are acquired through the dynamic analysis. The requirements hierarchy and the requirement-artifact relationships are then used to recover the hierarchical organization of the source code. The clustering results of this approach have ...
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. ...
It has long been recognized that the decomposition of a large software system into "meaningful&...
In this paper, we propose a requirements guided dynamic approach to address software clustering whic...
Software applications have become a fundamental part in the daily work of modern society as they mee...
Large scale software systems challenge almost every activity in the software development life-cycle,...
Program restructuring is a key method for improving the quality of ill-structured programs, thereby ...
Improving the quality of software systems design is the most important issue during the evolution of...
对大型复杂系统进行聚类分析能够改善软件维护的效率和效果,同时也是获取可复用构件的基础.提出一种基于需求层次凝聚的程序聚类方法来解决这个问题.该方法利用存在于需求描述中的语义信息获取问题域的高层逻辑,结...
grantor: University of TorontoA common problem that the software industry has to face is t...
Maintaining a large software system is not an easy task. The problem is that software engineers must...
Software refactoring is a software maintenance action to improve the software internal quality witho...
Program restructuring is a key method for improving the quality of ill-structured programs, thereby ...
Understanding source code of large open-source software projects is very challenging when there is o...
As the size of software systems continues to grow, understanding the structure of these systems gets...
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. ...
It has long been recognized that the decomposition of a large software system into "meaningful&...
In this paper, we propose a requirements guided dynamic approach to address software clustering whic...
Software applications have become a fundamental part in the daily work of modern society as they mee...
Large scale software systems challenge almost every activity in the software development life-cycle,...
Program restructuring is a key method for improving the quality of ill-structured programs, thereby ...
Improving the quality of software systems design is the most important issue during the evolution of...
对大型复杂系统进行聚类分析能够改善软件维护的效率和效果,同时也是获取可复用构件的基础.提出一种基于需求层次凝聚的程序聚类方法来解决这个问题.该方法利用存在于需求描述中的语义信息获取问题域的高层逻辑,结...
grantor: University of TorontoA common problem that the software industry has to face is t...
Maintaining a large software system is not an easy task. The problem is that software engineers must...
Software refactoring is a software maintenance action to improve the software internal quality witho...
Program restructuring is a key method for improving the quality of ill-structured programs, thereby ...
Understanding source code of large open-source software projects is very challenging when there is o...
As the size of software systems continues to grow, understanding the structure of these systems gets...
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. ...
It has long been recognized that the decomposition of a large software system into "meaningful&...