Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 10,000 papers for “Software evolution”

Software evolution and software evolution processes

Lehman, Meir M., Ramil, Juan F. · Open Research Online (The Open University) · 2002

Most of the software in regular use in businesses and organisations all over the world cannot be completely specified. It cannot be implemented, once and for all. Both the original implementation and the inevitable subsequent evolution (maintenance) are a continual learning experience driven, inter alia, by feedback from the results of the behaviour under execution of the software, as perceived by various stakeholders, by advances and growth in the user organisations and by adaptation to changes in the external world, both independent and as a result of installation and use of the software. Real world, termed type-E, software is essentially evolutionary in nature. The study of the processes of evolution of such software is of considerable interest, as is that of the domains that co-evolve with the software. After briefly discussing the meaning of the term evolution in the context of software, its technology, the software process and related domains, this paper describes some of the facets of the evolution phenomenon and implications to the evolution process as identified during many years of active interest in the topic.

Cited by 3

Transformation-Driven Software Evolution Hinders Software Evolution

Mika Siikarla · 2013

Abstract—Model-driven engineering (MDE) promotes the use of models to capture design decisions during evolution and development. One too common approach to MDE promotes model transformations as the most important artefacts. We call this unfortunate approach transformation-driven engineering (TDE). TDE proposes to facilitate MDE with complete, correct and automatic model transformations that are pre-existing or easy and fast to develop and require no maintenance. We take the position that such transformations are impossible or prohibitively expensive in so many cases that TDE cannot be a generic MDE solution. Pursuing complicated and highly sophisticated transformations in an unfavourable case hinders the evolution of the software product, because transformations become part of the product that evolves. Furthermore, building perfect transformations too early commits into modeling languages, technologies etc. too early in the software process. This either restricts the software evolution or forces costly re-building of the transformations. We propose to use incomplete, partial, interactive and flexible model transformations. This is precisely because ready model transformations do not exist for all possible needs, they are challenging and slow to develop and transformations themselves are continually evolving with the software product. I.

Cited by 0

Software evolution

Roland T. Mittermeir · 2002

Research on software evolution focuses on one hand on empirical investigations studying changes in long-living software systems, on the other hand on methods and tools, how such evolutionary behaviour of software can be controlled or supported.This paper departs from the observation that the empirical work and the tool- or methods-builder's work are quite often only obliquely related. Too often, the two camps depart from a token-semantics of the word evolution. However, by ignoring the precise meanings of the words software and system, chances for misunderstandings are high. Therefore, an attempt to sharpen semantics of these three terms is made by stratifying their scope. On the basis of these sharpened definitions, some exemplary attempts for dealing with Software Evolution are mentioned..

Cited by 1

Software Evolution

Dzielski, Dale G · The Research Repository @ WVU (West Virginia University) · 2018

Cited by 0

Software Evolution

Dzielski, Dale G · The Research Repository @ WVU (West Virginia University) · 2018

Cited by 0

Software Evolution

M. M. Lehman, Juan C. Fernáandez‐Ramil · 2006

This chapter contains sections titled: Introduction The Evolution of Large Software Systems Program Classification The Inevitability of Evolution Levels of Software-Related Evolution Ab Initio Implementation or Change Software Systems Evolution Evolution of the Application and Its Domain Process Evolution Process Model Evolution Relationships between Levels Conclusions Acknowledgments References

Cited by 21

Software evolution

Roland T. Mittermeir · 2002

Research on software evolution focuses on one hand on empirical investigations studying changes in long-living software systems, on the other hand on methods and tools, how such evolutionary behaviour of software can be controlled or supported.This paper departs from the observation that the empirical work and the tool- or methods-builder's work are quite often only obliquely related. Too often, the two camps depart from a token-semantics of the word evolution. However, by ignoring the precise meanings of the words software and system, chances for misunderstandings are high. Therefore, an attempt to sharpen semantics of these three terms is made by stratifying their scope. On the basis of these sharpened definitions, some exemplary attempts for dealing with Software Evolution are mentioned..

Cited by 19

Software maintenance versus software evolution: an approach to software systems evolution

José Parets, Juan Carlos Torres · 2002

Software development is traditionally conceived as a process where the software development team elaborates, implements and maintains executable models of Information Systems (in the broad sense). In this paper we present an evolutionary view of the software development process, rooted on the General System Theory, which considers software development as a creative process with complex and evolutive interactions between the software development team and the user system. This approach allows to conceive maintenance as a natural projection of an evolutive process. The paper begins considering three different approaches in the conception of Information Systems and our complex view of the relationships between the Information System, the Software System and the Development System. After that it contains a brief survey of previous research on software evolution. It concludes with an exposition of the benefits of our evolutionary approach at the epistemological, methodological and practical level.

Cited by 13

Software Evolution or Software Enhancement?

Kaan Kurtel, Şaban Eren · 2018 3rd International Conference on Computer Science and Engineering (UBMK) · 2018

In the software engineering, we use the words “evolution”, “improvement”, “enhancement”, “development”, “change” or “maintenance” to emphasize the activities after the delivery of a software product. These isomorphic words are a serious annoyance to people who care about the words they choose to use. The software evolution is the most common word we use for these actions. However, the meaning of the word evolution, there is a very strong influence of biology. This is even more noticeable when it comes to computer software. Many authors assess this ambiguity in the several works published in English. However, the confusion between the words is even more prominent in Turkish. In this study, to reduce the above concerns, we proposed and advocated to use word software enhancement instead of software evolution.

Cited by 0

Requirements evolution drives software evolution

Neil Ernst, Alexander Borgida, John Mylopoulos · 2011

Changes to software should be made with reference to the requirements of that software, as these requirements provide the reasons for a change. Requirements serve to tie the implementation world of the developers to the problem world of the stakeholders. Most empirical studies of requirements have shown that misunderstood and changing requirements cause the majority of failures and costs in software. However, research in software evolution has typically focused on how to evolve software and not why. In our view, evolving software is about solving requirements problems, that is, finding new implementations which will satisfy the requirements while respecting domain assumptions. We argue that by describing this relationship, an implementation choice that best meets stakeholder needs can be made. We describe a tool that models requirements problems. This tool can find incremental solutions to evolving requirements problems quickly.

Cited by 7

Software engineering evolution

K. Agusa · 2004

A new software system is typically implemented with existing software, named reuse based development. With the history of miseries of low reliability and delayed schedule of software development, we have been studying the importance of readability, maintainability, extensibility and so on. The fact that software life-cycle is transmigratory prevents from applying a single technology to improve the overall software quality. The rapid expansion of the IT world invites newcomers in software development community. Web technology has been invented as a tool for information retrieval. Recently, so many systems including enterprise systems whose reliability is very important have been implemented as Web applications. Thus, a natural question arises: Are Verification and Validation techniques established in the half-century history of Software Engineering research applicable for this situation?.

Cited by 1

Constraining software evolution

Steven P. Reiss · 2003

Software is multidimensional but the tools that support it are not. The lack of tool support causes the software artifacts representing different dimensions to evolve independently and inconsistently. In order to support the evolution of multidimensional software, an environment must ensure that the different dimensions evolve concurrently. This can be accomplished through an integration framework that maintains consistency of the different dimensions as they evolve. We have built a prototype of such a mechanism by setting up and maintaining constraints among artifacts representing the different software dimensions. This paper describes that prototype and our experiences with it to date.

Cited by 32

AUTOMATING SOFTWARE EVOLUTION

Zhengyang Liu · International Journal of Software Engineering and Knowledge Engineering · 1995

This paper presents a pragmatic knowledge-based approach to evolving and reengineering legacy business software systems. We describe a CASE tool for assisting legacy system evolution by automating the tedious and knowledge-intensive conversion process and show how we developed and maintained the tool and how it is used with payoff. This work demonstrates that timely technology upgrades of legacy systems are only possible with carefully engineered knowledge-based tools. Viewing software as an artifact with structure, behavior, and function, we can represent most program conversion knowledge explicitly for function-preserving transformation in an automated conversion system. The payoff for using the knowledge-based approach to software evolution is not only in terms of valuable resources saved, but also in terms of improved quality of the upgraded software systems.

Cited by 3

SOFTWARE EVOLUTION REQUIREMENTS

Dr. Ir. A. Rensink, Selim Ciraci · 2012

is partially supported by the Dutch Ministry of Economic Affairs under the BSIK program. ISBN 978-90-365-2956-3 ISSN 1381-36-17 (CTIT Ph.D. thesis series no. 09-162)

Cited by 0

Software Evolution Visualization

Voinea, L., Telea, A. C., Wijk, J. J. van · University of Groningen research database (University of Groningen / Centre for Information Technology) · 2005

Cited by 0

Measuring software evolution

John C. Munson, D.S. Werries · 2002

Explores problems in the measurement of evolving software systems. As these systems change through successive builds, the complexity characteristics of the individual modules that make up the system also change. A methodology is presented that extends the notion of software complexity domains across sequential builds. Changes to software systems are then measured on these attribute domains to provide leading indicators of potential problems introduced by the changes. Also, the notion of establishing a measurement baseline is presented. This permits the comparison of a sequence of successive software builds with one another. A specific software measurement example is presented using measurement data from the Space Shuttle Primary Avionics Software System.

Cited by 23