544 research outputs found
Software module clustering: An in-depth literature analysis
Software module clustering is an unsupervised learning method used to cluster software entities (e.g., classes, modules, or files) with similar features. The obtained clusters may be used to study, analyze, and understand the software entities' structure and behavior. Implementing software module clustering with optimal results is challenging. Accordingly, researchers have addressed many aspects of software module clustering in the past decade. Thus, it is essential to present the research evidence that has been published in this area. In this study, 143 research papers from well-known literature databases that examined software module clustering were reviewed to extract useful data. The obtained data were then used to answer several research questions regarding state-of-the-art clustering approaches, applications of clustering in software engineering, clustering processes, clustering algorithms, and evaluation methods. Several research gaps and challenges in software module clustering are discussed in this paper to provide a useful reference for researchers in this field
Combining Mobile Agents and Process-based Coordination to Achieve Software Adaptation
We have developed a model and a platform for end-to-end run-time monitoring, behavior and performance analysis, and consequent dynamic adaptation of distributed applications. This paper concentrates on how we coordinate and actuate the potentially multi-part adaptation, operating externally to the target systems, that is, without requiring any a priori built-in adaptation facilities on the part of said target systems. The actual changes are performed on the fly onto the target by communities of mobile software agents, coordinated by a decentralized process engine. These changes can be coarse-grained, such as replacing entire components or rearranging the connections among components, or fine-grained, such as changing the operational parameters, internal state and functioning logic of individual components. We discuss our successful experience using our approach in dynamic adaptation of a large-scale commercial application, which requires both coarse and fine grained modifications
Traceability improvement for software miniaturization
On the one hand, software companies try to reach the maximum number of customers,
which often translate into integrating more features into their programs,
leading to an increase in size, memory footprint, screen complexity, and so on. On
the other hand, hand-held devices are now pervasive and their customers ask for
programs similar to those they use everyday on their desktop computers. Companies
are left with two options, either to develop new software for hand-held
devices or perform manual refactoring to port it on hand-held devices, but both
options are expensive and laborious. Software miniaturization can aid companies
to port their software to hand-held devices. However, traceability is backbone
of software miniaturization, without up-to-date traceability links it becomes diffi
cult to recover desired artefacts for miniaturized software. Unfortunately, due
to continuous changes, it is a tedious and time-consuming task to keep traceability
links up-to-date. Often traceability links become outdated or completely
vanish. Several traceability recovery approaches have been developed in the past.
Each approach has some benefits and limitations. However, these approaches do
not tell which factors can affect traceability recovery process. Our current research
proposal is based on the premise that controlling potential quality factors
and combining different traceability approaches can improve traceability quality
for software miniaturization. In this research proposal, we introduce traceability
improvement for software miniaturization (TISM) process. TISM has three sub
processes, namely, traceability factor controller (TFC), hybrid traceability (HT),
and software miniaturization optimization (SMO). TFC is a semi automatic process,
it provides solution for factors, that can affect traceability process. TFC uses
a generic format to document trace quality affecting factors. TFC results will help
practitioners and researcher to improve their tool, techniques, and approaches. In
the HT different traceability, recovery approaches are combined to trace functional
and non-functional requirements. HT also works on improving precision and recall
with the help of TFC. Finally these links have been used by SMO to identify
required artefacts and optimize using scalability, performance, and portability parameters.
We will conduct two case studies to aid TISM. The contributions of
this research proposal can be summarised as follow: (i) traceability support for
software miniaturization and optimization, (ii) a hybrid approach that combines
the best of available traceability approaches to trace functional, non-functional requirements,
and provides return-on-investment analysis, (iii) traceability quality
factor controller that records the quality factors and provide support for avoiding
or controlling them
Use and misuse of the term "Experiment" in mining software repositories research
The significant momentum and importance of Mining Software Repositories (MSR) in Software Engineering (SE) has fostered new opportunities and challenges for extensive empirical research. However, MSR researchers seem to struggle to characterize the empirical methods they use into the existing empirical SE body of knowledge. This is especially the case of MSR experiments. To provide evidence on the special characteristics of MSR experiments and their differences with experiments traditionally acknowledged in SE so far, we elicited the hallmarks that differentiate an experiment from other types of empirical studies and characterized the hallmarks and types of experiments in MSR. We analyzed MSR literature obtained from a small-scale systematic mapping study to assess the use of the term experiment in MSR. We found that 19% of the papers claiming to be an experiment are indeed not an experiment at all but also observational studies, so they use the term in a misleading way. From the remaining 81% of the papers, only one of them refers to a genuine controlled experiment while the others stand for experiments with limited control. MSR researchers tend to overlook such limitations, compromising the interpretation of the results of their studies. We provide recommendations and insights to support the improvement of MSR experiments.This work has been partially supported by the Spanish project: MCI PID2020-117191RB-I00.Peer ReviewedPostprint (author's final draft
- …