Reengineering support for software evolution: an evaluation through case study

Author(s):  
E. Burd ◽  
M. Munro
Keyword(s):  
Author(s):  
Ersin Er ◽  
Bedir Tekinerdogan

Model-Driven Software Development (MDSD) aims to support the development and evolution of software intensive systems using the basic concepts of model, metamodel, and model transformation. In parallel with the ongoing academic research, MDSD is more and more applied in industrial practices. Like conventional non-MDSD practices, MDSD systems are also subject to changing requirements and have to cope with evolution. In this chapter, the authors provide a scenario-based approach for documenting and analyzing the impact of changes that apply to model-driven development systems. To model the composition and evolution of an MDSD system, they developed the so-called Model-Driven Software Evolution Language (MoDSEL) which is based on a megamodel for MDSD. MoDSEL includes explicit language abstractions to specify both the model elements of an MDSD system and the evolution scenarios that might apply to model elements. Based on MoDSEL specifications, an impact analysis is performed to assess the impact of evolution scenarios and the sensitivity of model elements. A case study is provided to show different kind of evolution scenarios and the required adaptations to model elements.


2018 ◽  
Author(s):  
Alvaro Ortiz-Troncoso

Open source projects may face a forking situation at some point during their life-cycle. The traditional view is that forks are a waste of project resources and should be avoided. However, in a wider technological and organisational context, forks can be a way to foster the creation of a software ecosystem. Either way, forking is explicitly allowed by open source licenses. Notwithstanding, methods for quantifying the evolution of forks are currently scarce. The present work attempts to answer the question whether a real-life project has forked. It does so by considering code and organisational characteristics of the project, and analysing these characteristics by applying methods ported from biological phylogenetics. After finding that the project is forked, implications for project governance are discussed.


2018 ◽  
Vol 2018 ◽  
pp. 1-12 ◽  
Author(s):  
Ho-Kyeong Ra ◽  
Hee Jung Yoon ◽  
Sang Hyuk Son ◽  
John A. Stankovic ◽  
JeongGil Ko

With the exponential improvement of software technology during the past decade, many efforts have been made to design remote and personalized healthcare applications. Many of these applications are built on mobile devices connected to the cloud. Although appealing, however, prototyping and validating the feasibility of an application-level idea is yet challenging without a solid understanding of the cloud, mobile, and the interconnectivity infrastructure. In this paper, we provide a solution to this by proposing a framework called HealthNode, which is a general-purpose framework for developing healthcare applications on cloud platforms using Node.js. To fully exploit the potential of Node.js when developing cloud applications, we focus on the fact that the implementation process should be eased. HealthNode presents an explicit guideline while supporting necessary features to achieve quick and expandable cloud-based healthcare applications. A case study applying HealthNode to various real-world health applications suggests that HealthNode can express architectural structure effectively within an implementation and that the proposed platform can support system understanding and software evolution.


2019 ◽  
Vol 1 (2) ◽  
pp. 6-13
Author(s):  
Tayse Virgulino Ribeiro

Context: Software repositories have been a source for studies about software evolution and its relation to software defects. In addition, the context of repositories has also been used for the purpose of analyzing refactoring practiced by programmers throughout the development process. Objective: Our objective is based on android projects stored in software repositories, to determine what types of transformations, that is, which refactorings are used, seeking to relate them to quality and security factors. Method: This research uses as an approach an exploratory study of a qualitative character, based on a systematic review of the literature, which will be carried out between the period from 2015 to 2019, as well as the application of research and quality criteria regarding the work context. In addition, develop a case study with projects for Android, relating refactoring quality criteria to non-aggregated projects in software repositories, glimpsing comparative and resulting factors. Expected results: It is expected with this review analysis and a summary of existing literature on Code Quality in the process of Software Refactoring for Android projects. Conclusions: The research is guided by this approach in identifying the types of refactorings practiced and extracting the related quality factors in the development process. We believe that our results will benefit in the updating and summary of the literature in the context of refactoring, glimpsing comparative factors.


Author(s):  
Lerina Aversano ◽  
Fiammetta Marulli ◽  
Maria Tortorella

The relationship existing between a business process and the supporting software system is a critical concern for organizations, as it directly affects their performance. The knowledge regarding this relationship plays an important role in the software evolution process, as it helps to identify the software components involved by a software change request. The research described in this chapter concerns the use of information retrieval techniques in the software maintenance activities. In particular, the chapter addresses the problem of recovering traceability links between the entities of the business process model and components of the supporting software system. Therefore, an information retrieval approach is proposed based on two processing phases including syntactic and semantic analysis. The usefulness of the approach is discussed through a case study.


Servis plus ◽  
10.12737/1700 ◽  
2013 ◽  
Vol 7 (4) ◽  
pp. 79-82
Author(s):  
Людмила Стахова ◽  
Lyudmila Stakhova

The article deals with the salient features of the «Turregistr» project (working-title) and the conditions requisite for its implementation. The project provides for a base designed to register and handle package tours within the Russian tourism market. Thereafter, the author touches upon the project implementation advantages afforded for both public authorities and tourism market entities.


2008 ◽  
Vol 14 (3) ◽  
pp. 262-285 ◽  
Author(s):  
Jesus M. Gonzalez-Barahona ◽  
Gregorio Robles ◽  
Martin Michlmayr ◽  
Juan José Amor ◽  
Daniel M. German

2010 ◽  
Vol 83 (3) ◽  
pp. 485-501 ◽  
Author(s):  
Ayelet Israeli ◽  
Dror G. Feitelson

2021 ◽  
Author(s):  
Willie Lawrence ◽  
Eiji Adachi

During the evolution of a database schema, some schema-changing operations (e.g., the “ALTER TABLE” command) require the underlying database management system to lock tables until the opera-tion is finished. We call these schema-changing operations blocking operations. During the execution of blocking operations, a soft-ware application may behave abnormally, varying from a slow page loading to an error caused by a web request taking too long to return. Despite their potential negative impact on important qual-ity attributes, blocking operations have not yet been empirically investigated in the context of software evolution. To fill this gap, we conducted a large industrial case study in the context of a Brazilian software company. We analyzed 1,499 atomic schema-changing operations from a period of 6 years to explore which blocking operations the developers frequently performed during the evolution of the database schema of a target system. The intention behind this case study is better understanding the problem in its original context to outline strategies to correct or mitigate it in the future. Our results show that blocking operations were very common, though not all of them seemed to cause observable downtime periods. We also present some mitigating strategies already in use by the devel-opment team of the target system to cope with blocking operation during software evolution, avoiding their negative impact.


Sign in / Sign up

Export Citation Format

Share Document