9 research outputs found
Using Modularity Metrics to assist Move Method Refactoring of Large System
For large software systems, refactoring activities can be a challenging task,
since for keeping component complexity under control the overall architecture
as well as many details of each component have to be considered. Product
metrics are therefore often used to quantify several parameters related to the
modularity of a software system. This paper devises an approach for
automatically suggesting refactoring opportunities on large software systems.
We show that by assessing metrics for all components, move methods refactoring
an be suggested in such a way to improve modularity of several components at
once, without hindering any other. However, computing metrics for large
software systems, comprising thousands of classes or more, can be a time
consuming task when performed on a single CPU. For this, we propose a solution
that computes metrics by resorting to GPU, hence greatly shortening computation
time. Thanks to our approach precise knowledge on several properties of the
system can be continuously gathered while the system evolves, hence assisting
developers to quickly assess several solutions for reducing modularity issues
Goal oriented measurement for software sustainable evaluation metric focused on environmental dimension
Sustainability is a complex concept that investigated in interdisciplinary dimension which are environment, economic, and social.Software sustainability has moved towards new paradigms of research and it is claimed as still immature due to lack of integration on these three dimensions. Currently, there are studies on software sustainability evaluation that defined the
evaluation criteria.However, most of the studies are lack of integrating the three dimensions of software sustainabiltiy.In addition, the evaluation goals are also not clearly defined. Therefore, the objective of this study is to define the evaluation goals for each proposed characteristic and sub-characteristic with
focused to environmental dimension.Goal Question
Metric (GQM) is used as a method to identify the
correct goals in this study. The adaptation of goal oriented measurement can contribute to define the precisely goals by determining the purposes,
perspectives, point of views in the following context of environment with respect to achieve software sustainability
Efficient techniques for partitioning software development tasks
This research examines the problem of assigning software development tasks to teams. The goal of this study is to model the most efficient way of module assignments in order to reduce the communication and coordination delays among software teams that arise from the improper distribution of software modules. The study quantifies the module interactions using software coupling design measure and models these interactions using Linear Programming and Cluster Analysis techniques. The performance of the two techniques is evaluated to find the one that offers the most favorable set of module assignments that can be used by software practitioners in the real world. The results obtained from this research suggest that though Linear Programming is the most optimal technique for obtaining the solution, it cannot provide solutions for large problems. With an increase in the number of modules, the computational time required for Linear Programming model increased considerably. Cluster Analysis, on the other hand, provided solutions which were not as optimal as Linear Programming but generated module assignments for large module count problems. Two types of Cluster Analysis techniques, namely agglomerative clustering and partitional clustering were implemented in this research. Of the two, agglomerative cluster analysis technique offered the most efficient and practical solution for module assignments. This research is an attempt to improve the decision making capabilities of software practitioners who often make use of intuitions and their past experiences in the process of assigning modules to software development teams
Sustainability evaluation of software architectures
Long-living software systems are sustainable if they can be cost-efficiently maintained and evolved over their entire life-cycle. The quality of software architectures determines sus-tainability to a large extent. Scenario-based software archi-tecture evaluation methods can support sustainability anal-ysis, but they are still reluctantly used in practice. They are also not integrated with architecture-level metrics when evaluating implemented systems, which limits their capabil-ities. Existing literature reviews for architecture evaluation focus on scenario-based methods, but do not provide a criti-cal reflection of the applicability of such methods for sustain-ability evaluation. Our goal is to measure the sustainabil-ity of a software architecture both during early design us-ing scenarios and during evolution using scenarios and met-rics, which is highly relevant in practice. We thus provide a systematic literature review assessing scenario-based meth-ods for sustainability support and categorize more than 40 architecture-level metrics according to several design prin-ciples. Our review identifies a need for further empirical research, for the integration of existing methods, and for the more efficient use of formal architectural models. 1