scholarly journals A framework for semi-automated software evolution analysis composition

2013 ◽  
Vol 20 (3) ◽  
pp. 463-496 ◽  
Author(s):  
Giacomo Ghezzi ◽  
Harald C. Gall
2011 ◽  
Vol 1 (1) ◽  
Author(s):  
Brian Dougherty ◽  
Jules White ◽  
Douglas Schmidt

AbstractSoftware evolution is critical to extending the utility and life of distributed real-time and embedded (DRE) systems. Determining the optimal set of software and hardware components to evolve that (1) incorporate cutting-edge technology and (2) satisfy DRE system resource constraints, such as memory, power, and CPU usage is an NP-Hard problem. This article provides four contributions to evolving legacy DRE system configurations. First, we present the Software Evolution Analysis with Resources (SEAR) technique for converting legacy DRE system configurations, external resource availabilities, and candidate replacement components into multiple-choice multidimension knapsack problems (MMKP). Second, we present a formal methodology for assessing the validity of evolved system configurations. Third, we apply heuristic approximation algorithms to determine low-cost, high value evolution paths in polynomial time. Finally, we analyze results of experiments that apply these techniques to determine which technique is most effective for given system parameters. Our results show that constraint solvers can only evolve small system configurations, whereas approximation techniques are needed to evolve larger system configurations.


Author(s):  
Kuljit Kaur

Reusable software components are the software modules that can be (re)used across a number of applications in a particular domain. Component users prefer to use those components which can be adapted easily for their changing requirements. So components have to evolve continuously in order to attract users. This chapter focuses on the evolutionary aspects of software components. It mentions various techniques for monitoring software evolution. It uses metrics based analysis as the technique to show software evolution of 15 reusable components from the point of view of their size, complexity, and functionality. The evolution analysis is motivated by laws of software evolution which suggest that as software ages, it increases in size and complexity (unless it is managed) and it has to offer increased functionality to please its users. The findings of the study indicate that the size of the software components (in this data set) grows at a linear rate, and complexity is well managed. However, increase in functionality is sub linear for almost all the components. It remains almost constant for some of them.


Author(s):  
Theodore Chaikalis ◽  
Elvis Ligu ◽  
George Melas ◽  
Alexander Chatzigeorgiou

Sign in / Sign up

Export Citation Format

Share Document