Software clustering is one of the important techniques to comprehend software systems. However, presented techniques to date require human interactions to refine clustering results. In this paper, we proposed a novel dependency-based software clustering algorithm, SArF. SArF has two characteristics. First, SArF eliminates the need of the omnipresent-module-removing step which requires human interactions. Second, the objective of SArF is to gather relevant software features or functionalities into a cluster. To achieve them, we defined the Dedication score to infer the importance of dependencies and utilized Modularity Maximization to cluster weighted directed graphs. Two case studies and extensive comparative evaluations using open source and industrial systems show that SArF could successfully decompose the systems fitting to the authoritative decompositions from a feature viewpoint without any tailored setups and that SArF was superior to existing dependencybased software clustering studies. Besides, the case studies show that there exist measurable authoritativeness limits and that SArF nearly reached the limits.
To facilitate understanding the architecture of a software system, we developed SArF Map technique that visualizes software architecture from feature and layer viewpoints using a city metaphor. SArF Map visualizes implicit software features using our previous study, SArF dependencybased software clustering algorithm. Since features are high-level abstraction units of software, a generated map can be directly used for high-level decision making such as reuse and also for communications between developers and non-developer stakeholders. In SArF Map, each feature is visualized as a city block, and classes in the feature are laid out as buildings reflecting their software layer. Relevance between features is represented as streets. Dependency links are visualized lucidly. Through open source and industrial case studies, we show that the architecture of the target systems can be easily overviewed and that the quality of their packaging designs can be quickly assessed.
Software clustering techniques have been used to analyze the reality of software structure. The visualization of the detected clusters has also been studied. However, the features implemented by the detected clusters are not obvious and understanding them is a crucial part of the industrial use of software clustering. In this study, we examined the existing information retrieval method and found three major issues it has. We developed technical solutions for each of them: using hierarchical labeling, weighing the words likely representing the feature by considering an architectural convention, and modifying the idf score by the scale of the cluster. The effectiveness of our approach is validated through case studies using actual software products including a COBOL business application. Also, we faced two additional practical problems: effectiveness of the method words and plural and conjugated forms of the words. We found the method name words were less useful than the class name words, and lemmatization was successfully used to normalize the form of the words even in the case of program identifiers.
It is desirable for web applications to be reusable, for example in case a vendor wants to deliver new valuable services by using and combining existing applications quickly. One of the well-known ways of reusing web applications, Mashup, has become popular in the web development community and applied to many open web sites, as we can just combine the data retrieved from Web pages or APIs of the web applications. But in the case of the Mashup of enterprise web applications, or Enterprise Mashup, it is quite difficult since these applications are often not intended to be reusable and have no Web APIs. That means we have to create the Web APIs for the applications, which takes much work. In this paper, we describe a light-weight Web API creation methodology in order to create Web APIs for enterprise web applications much more easily than we can by extending the source code. The created Web API can connect to the web application just as a client who has an account does. So we can create a Web API for Enterprise Mashup without modifying the application at all and we can call the Web API securely using the user account information of the application. We developed the implementation of our methodology and applied it to actual applications to evaluate its effectiveness.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.