Results 1 - 10
of
13
Evolution in open source software: A case study
- In Proc. of the 2000 IEEE Intl. Conference on Software Maintenance, ICSM ’00
, 2000
"... Most studies of software evolution have been performed on systems developed within a single company using traditional management techniques. With the widespread availability of several large software systems that have been developed using an “open source ” development approach, we now have a chance ..."
Abstract
-
Cited by 111 (15 self)
- Add to MetaCart
Most studies of software evolution have been performed on systems developed within a single company using traditional management techniques. With the widespread availability of several large software systems that have been developed using an “open source ” development approach, we now have a chance to examine these systems in detail, and see if their evolutionary narratives are significantly different from commercially developed systems. This paper summarizes our preliminary investigations into the evolution of the best known open source system: the Linux operating system kernel. Because Linux is large (over two million lines of code in the most recent version) and because its development model is not as tightly planned and managed as most industrial software processes, we had expected to find that Linux was growing more slowly as it got bigger and more complex. Instead, we have found that Linux has been growing at a super-linear rate for several years. In this paper, we explore the evolution of the Linux kernel both at the system level and within the major subsystems, and we discuss why we think Linux continues to exhibit such strong growth. 1
An Integrated Approach for Studying Architectural Evolution
- In 10th International Workshop on Program Comprehension (IWPC’02
, 2002
"... Studying how a software system has evolved over time is difficult, time consuming, and costly; existing techniques are often limited in their applicability, are hard to extend, and provide little support for coping with architectural change. This paper introduces an approach to studying software evo ..."
Abstract
-
Cited by 23 (0 self)
- Add to MetaCart
Studying how a software system has evolved over time is difficult, time consuming, and costly; existing techniques are often limited in their applicability, are hard to extend, and provide little support for coping with architectural change. This paper introduces an approach to studying software evolution that integrates the use of metrics, software visualization, and origin analysis, which is a set of techniques for reasoning about structural and architectural change. Our approach incorporates data from various statistical and metrics tools, and provides a query engine as well as a web-based visualization and navigation interface. It aims to provide an extensible, integrated environment for aiding software maintainers in understanding the evolution of long-lived systems that have undergone significant architectural change. In this paper, we use the evolution of GCC as an example to demonstrate the uses of various functionalities of BEAGLE, a prototype implementation of the proposed environment.
Taxonomy of Evolution and Dependability
- In Proceedings of the Second International Workshop on Unanticipated Software Evolution, USE 2003
, 2003
"... Evolution is one of the major issue a# e, ing syst e de pe ndability as we ase ngine, g activit ie ande nvironme nts. The most commonunde rstanding conside rse volution as aphe nome non that ne e ds to be avoide d. By contrast this pape r take into accounte volution as a ne, fe ure of computebase d ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
Evolution is one of the major issue a# e, ing syst e de pe ndability as we ase ngine, g activit ie ande nvironme nts. The most commonunde rstanding conside rse volution as aphe nome non that ne e ds to be avoide d. By contrast this pape r take into accounte volution as a ne, fe ure of computebase d syste ms. This pape rre vie ws a taxonomy ofe volution ide ntifying a conce ptual frame work to analyse e volutionary phe nome na of compute base syst e s as we as mode ofe volutions and thelimits.The taxonomy ofe volution points out di#e, t d e e dability asp e, s of compute base syste ms. In conclusion,this pape r provide s a conce ptual frame work to analyse e volution and its influe nce on the d e e dability of compute base syste, 1
Observational Models of Requirements Evolution
, 2004
"... Requirements Evolution is one of the main issues that affect development activities as well as system features (e.g., system dependability). Although researchers and practitioners recognise the importance of requirements evolution, research results and experience are still patchy. This points out a ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
Requirements Evolution is one of the main issues that affect development activities as well as system features (e.g., system dependability). Although researchers and practitioners recognise the importance of requirements evolution, research results and experience are still patchy. This points out a lack of methodologies that address requirements evolution. This thesis investigates the current understanding of requirements evolution and explores new directions in requirements evolution research. The empirical analysis of industrial case studies highlights software requirements evolution as an important issue. Unfortunately, traditional requirements engineering methodologies provide limited support to capture requirements evolution. Heterogeneous engineering provides a comprehensive account of system requirements. Heterogeneous engineering stresses a holistic viewpoint that allows us to understand the underlying mechanisms of evolution of socio-technical systems. Requirements, as mappings between socio-technical solutions and problems, represent an account of the history of socio-technical issues arising and being solved within industrial settings. The formal extension of a heterogeneous account of requirements provides a framework to model and capture requirements evolution. The application of the proposed framework provides further evidence that it is possible to capture and model evolutionary information about requirements. The discussion of scenarios of use stresses practical necessities for methodologies addressing requirements evolution. Finally, the identification of a broad spectrum of evolutions in socio-technical systems points out strong contingencies between system evolution and dependability. This thesis argues that the better our understanding of socio-techn...
Architecture-based design of computer based systems
- In Proc. StraW03, Int. Workshop From Software Requirements to Architectures
, 2003
"... This paper presents a practical approach to architecture-based design of computer based systems. The approach is discussed in relation to other existing methods of performing discovery, abstraction, refinement and evolution of systems ’ architectures. It has also be shown that this approach can be s ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
This paper presents a practical approach to architecture-based design of computer based systems. The approach is discussed in relation to other existing methods of performing discovery, abstraction, refinement and evolution of systems ’ architectures. It has also be shown that this approach can be supported by formal methods of refinement. The approach assists the designer to maintain a strict focus of reasoning about the architecture and its qualities. 1.
Dimensions of consistency in source versions and system compositions
- Proceedings of the 3rd Workshop on Software Configuration Management
, 1991
"... In building systems there are various levels at which we consider the problems reasoning about consistency and it means different things at those various levels. At the version management level, consistency means what it does in databases: no data is lost due to concurrency problems (eg, race condit ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In building systems there are various levels at which we consider the problems reasoning about consistency and it means different things at those various levels. At the version management level, consistency means what it does in databases: no data is lost due to concurrency problems (eg, race conditions). At the composition and substitution (or creation and evolution) levels it means something that is significantly different--- namely, the syntactic and semantic consistency of the various pieces that make up the system. I first address the issue of what makes a system composition well-formed both syntactically and semantically. I then address the issue of substitution in well-formed system compositions, first in the context of simple substitution and then in the context of compound substitution (that is, the simultaneous substitution of multiple components). Note: This paper derived and extended from papers: the well-formed system composition paper [9] was published only as a technical report at CMU (though variously used without references or with misleading ones) the version control paper from ICSE9 [16], the extended abstract for SCM3 [19], and the shared dependency paper from SCM6 [20] all of which have been published only in conference or workshop versions. There may be parts of the other Inscape papers (ICSE9 [15], ICSE11 [17], and TAV3 [18]) included as well- all of which have been published only in conference versions.
Defining Software Evolvability from a Free/Open-Source Software Perspective
"... This paper studies various sources of information to identify factors that influence the evolvability of Free and Open-Source Software (FlOSS) endeavors. The sources reviewed to extract criteria are (1) interviews with FlOSS integrators, (2) the scientific literature, and (3) existing standard, norm ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This paper studies various sources of information to identify factors that influence the evolvability of Free and Open-Source Software (FlOSS) endeavors. The sources reviewed to extract criteria are (1) interviews with FlOSS integrators, (2) the scientific literature, and (3) existing standard, norms as well as (4) three quality assessment methodologies specific to FlOSS, namely, QSOS, OpenBRR and Open Source Maturity Model. This effort fits in the larger scope of QUALOSS, a research project funded by the European Commission, whose goal is to develop a methodology to assess the evolvability and robustness of FlOSS endeavors. 1 1.
A Document-Based Software Traceability to Support Change Impact Analysis of Object-Oriented Software. 2006, Universiti Teknologi Malaysia: Kuala Lumpur
"... Adalah disahkan bahawa projek penyelidikan tesis ini telah dilaksanakan melalui kerjasama antara _____________________ _ dengan ___________________ Disahkan oleh: ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Adalah disahkan bahawa projek penyelidikan tesis ini telah dilaksanakan melalui kerjasama antara _____________________ _ dengan ___________________ Disahkan oleh:
A constructive approach to software evolution
- in Workshop on ModelDriven Software Evolution
, 2007
"... Abstract — In many software design and evaluation techniques, either the software evolution problem is not systematically elaborated, or only the impact of evolution is considered. Thus, most of the time software is changed by editing the components of the software system, i.e. breaking down the sof ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract — In many software design and evaluation techniques, either the software evolution problem is not systematically elaborated, or only the impact of evolution is considered. Thus, most of the time software is changed by editing the components of the software system, i.e. breaking down the software system. The software engineering discipline provides many mechanisms that allow evolution without breaking down the system; however, the contexts where these mechanisms are applicable are not taken into account. Furthermore, the software design and evaluation techniques do not support identifying these contexts. In this paper, we provide a taxonomy of software evolution that can be used to identify the context of the evolution problem. The identified contexts are used to retrieve, from the software engineering discipline, the mechanisms, which can evolve the software software without breaking it down. To build such a taxonomy, we build a model for software evolution and use this model to identify the factors that effect the selection of software evolution mechanisms.
`Evolution' in Perspective
- International Workshop on Software Evolution, Kyoto
, 1998
"... Introduction This work sets out to review the nature of classical natural evolution, and to see if we, in the field of software development, can reflect on these concepts to assist in developing evolvable software systems. 2. Biological Evolution Evolution theory is the unifying theory of biology ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Introduction This work sets out to review the nature of classical natural evolution, and to see if we, in the field of software development, can reflect on these concepts to assist in developing evolvable software systems. 2. Biological Evolution Evolution theory is the unifying theory of biology. It seeks to explain the continuous natural development of organic systems. It provides the basis of our understanding of how the functions of biological entities at all levels (population, organisms, genes) are the product of a non-random factor operating in conjunction with random factors within a framework of historical constraint It provides an answer when biologists ask `How did we get here', but not `Why'. Before Darwin, evolution was thought of as the `unfolding of immanent potentialities within existing species', i.e. the manifestation of essences which lay dormant in earlier species. People were aware of the changes taking place in organisms over time, but d

