Figure 7 - uploaded by Onaiza Maqbool
Content may be subject to copyright.
9: Concept lattice for software with complex structure

9: Concept lattice for software with complex structure

Citations

... • Canberra Distance (e.g. [Maq03]): ...
Technical Report
Full-text available
In this technical report, details for extending the Object-Oriented World Model (OOWM) to an open-world modeling approach by adaptive management of its background knowledge are proposed. In general, a world model can serve as a central component in autonomous and cognitive systems for integrating, storing and disseminating information about an observed environment. Thus, a world model creates an abstract, simplified representation of an observed real-world domain. For allowing high-level information processing on a semantic layer, representations of real-world entities can be semantically enriched by domain models. In general, a domain model contains only a fixed number of a priori defined concepts from a closed world. However , in many real-life applications, the considered environment is not closed. For coping with changing environments, a cognitive system must be equipped with an adaptive world model able to adjust to an observed open environment. This technical report proposes details on how the OOWM can be extended for adaptive world modeling by continuously evaluating the quality of its domain model in comparison to observed information.
... These classification variables are similar in nature to the ones used in this study, however, the details of the classification mechanisms differ. In [12] the use of machine learning techniques, in particular hierarchical clustering algorithms, is proposed to identify relevant sub-modules in software systems, in order to generate a high level view of its software architecture. This work also addresses the identification of defective low-level structures, by relying on association rule learning techniques [3]. ...
Article
Full-text available
This paper introduces Web2MexADL, a tool that can discover architectural documentation for web systems, by analyzing properties and relationships of their source code artifacts. This analysis is based on the use of probabilistic methods executed through machine learning tools. The resulting documentation includes an Architecture Description Language (ADL) document and a Scalable Vectors Graphic (SVG) file depicting an architecture view of the analyzed system. Finally, the resulting ADL document can be used to verify the maintainability of the system under analysis, by taking advantage of the MexADL approach.
Article
Gaining an architectural level understanding of a software system is important for many reasons. When the description of a system's architecture does not exist, attempts must be made to recover it. In recent years, researchers have explored the use of clustering for recovering a software system's architecture, given only its source code. The main contributions of this paper are given as follows. First, we review hierarchical clustering research in the context of software architecture recovery and modularization. Second, to employ clustering meaningfully, it is necessary to understand the peculiarities of the software domain, as well as the behavior of clustering measures and algorithms in this domain. To this end, we provide a detailed analysis of the behavior of various similarity and distance measures that may be employed for software clustering. Third, we analyze the clustering process of various well-known clustering algorithms by using multiple criteria, and we show how arbitrary decisions taken by these algorithms during clustering affect the quality of their results. Finally, we present an analysis of two recently proposed clustering algorithms, revealing close similarities in their apparently different clustering approaches. Experiments on four legacy software systems provide insight into the behavior of well-known clustering algorithms and their characteristics in the software domain.