Results 1 - 10
of
60
Software Change Impact Analysis
, 1996
"... As software components and middleware occupy more and more of the software engineering landscape, interoperability relationships point to increasingly relevant software change impacts. Packaged software now represents over thirty-two percent of the software in most organizations. While traceability ..."
Abstract
-
Cited by 142 (2 self)
- Add to MetaCart
As software components and middleware occupy more and more of the software engineering landscape, interoperability relationships point to increasingly relevant software change impacts. Packaged software now represents over thirty-two percent of the software in most organizations. While traceability and dependency analysis frameworks have effectively supported software impact analysis in the past, they do not adequately addressed this trend. As software systems grow in size and complexity, their dependency webs of information also extend beyond most software engineers ability to comprehend them. This paper examines research for extending current software change impact analysis to incorporate interoperability dependency relationships for addressing distributed applications and explores three dimensional (3D) visualization techniques for more effective navigation of software changes. 1
Populating a Release History Database from Version Control and Bug Tracking Systems
- In Proceedings of the International Conference on Software Maintenance
, 2003
"... Version control and bug tracking systems contain large amounts of historical information that can give deep insight into the evolution of a software project. Unfortunately, these systems provide only insufficient support for a detailed analysis of software evolution aspects. We address this problem ..."
Abstract
-
Cited by 135 (15 self)
- Add to MetaCart
Version control and bug tracking systems contain large amounts of historical information that can give deep insight into the evolution of a software project. Unfortunately, these systems provide only insufficient support for a detailed analysis of software evolution aspects. We address this problem and introduce an approach for populating a release history database that combines version data with bug tracking data and adds missing data not covered by version control systems such as merge points. Then simple queries can be applied to the structured data to obtain meaningful views showing the evolution of a software project. Such views enable more accurate reasoning of evolutionary aspects and facilitate the anticipation of software evolution. We demonstrate our approach on the large Open Source project Mozilla that offers great opportunities to compare results and validate our approach. 1.
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
Community, Joining, and Specialization in Open Source Software Innovation: A Case Study
, 2003
"... This paper develops an inductive theory of the open source software innovation process by focussing on the creation of Freenet, a project aimed at developing a decentralized and anonymous peer-to-peer electronic file sharing network. We are particularly interested in the strategies and processes by ..."
Abstract
-
Cited by 76 (5 self)
- Add to MetaCart
This paper develops an inductive theory of the open source software innovation process by focussing on the creation of Freenet, a project aimed at developing a decentralized and anonymous peer-to-peer electronic file sharing network. We are particularly interested in the strategies and processes by which new people join the existing community of software developers, and how they initially contribute code. Analyzing data from multiple sources on the Freenet software development process, we generate the constructs of "joining script",
An Empirical Study of Open-Source and Closed-Source Software Products
- IEEE Trans. Software Engineering
, 2004
"... Abstract—This paper describes an empirical study of open-source and closed-source software projects. The motivation for this research is to quantitatively investigate common perceptions about open-source projects, and to validate these perceptions through an empirical study. This paper investigates ..."
Abstract
-
Cited by 38 (1 self)
- Add to MetaCart
Abstract—This paper describes an empirical study of open-source and closed-source software projects. The motivation for this research is to quantitatively investigate common perceptions about open-source projects, and to validate these perceptions through an empirical study. This paper investigates the hypothesis that open-source software grows more quickly, but does not find evidence to support this. The project growth is similar for all the projects in the analysis, indicating that other factors may limit growth. The hypothesis that creativity is more prevalent in open-source software is also examined, and evidence to support this hypothesis is found using the metric of functions added over time. The concept of open-source projects succeeding because of their simplicity is not supported by the analysis, nor is the hypothesis of open-source projects being more modular. However, the belief that defects are found and fixed more rapidly in open-source projects is supported by an analysis of the functions modified. The paper finds support for two of the five common beliefs and concludes that, when implementing or switching to the open-source development model, practitioners should ensure that an appropriate metrics collection strategy is in place to verify the perceived benefits. Index Terms—Open source, software metrics, empirical studies, software growth models. æ
Evolution Patterns of Open-Source Software Systems and Communities
- In Proceedings of the international workshop on Principles of software evolution
, 2002
"... Open-Source Software (OSS) development is regarded as a successful model of encouraging "natural product evolution". To understand how this "natural product evolution" happens, we have conducted a case study of four typical OSS projects. Unlike most previous studies on software evolution that focus ..."
Abstract
-
Cited by 32 (3 self)
- Add to MetaCart
Open-Source Software (OSS) development is regarded as a successful model of encouraging "natural product evolution". To understand how this "natural product evolution" happens, we have conducted a case study of four typical OSS projects. Unlike most previous studies on software evolution that focus on the evolution of the system per se, our study takes a broader perspective: It examines not only the evolution of OSS systems, but also the evolution of the associated OSS communities, as well as the relationship between the two types of evolution.
Understanding Open Source Software Evolution
- Applying, Breaking, and Rethinking the Laws of Software Evolution
, 2003
"... This chapter examines the evolution of open source software and how their evolutionary patterns compare to prior studies of software evolution of proprietary (or closed source) software. Free or open source software (F/OSS) development focuses attention to systems like the GNU/Linux operating system ..."
Abstract
-
Cited by 14 (4 self)
- Add to MetaCart
This chapter examines the evolution of open source software and how their evolutionary patterns compare to prior studies of software evolution of proprietary (or closed source) software. Free or open source software (F/OSS) development focuses attention to systems like the GNU/Linux operating system, Apache Web server, and Mozilla Web browser,
Improving evolvability through refactoring
- In MSR ’05: Proceedings of the 2005 international workshop on Mining software repositories
, 2005
"... Refactoring is one means of improving the structure of existing software. Locations for the application of refactoring are often based on subjective perceptions such as ”bad smells”, which are vague suspicions of design shortcomings. We exploit historical data extracted from repositories such as CVS ..."
Abstract
-
Cited by 13 (1 self)
- Add to MetaCart
Refactoring is one means of improving the structure of existing software. Locations for the application of refactoring are often based on subjective perceptions such as ”bad smells”, which are vague suspicions of design shortcomings. We exploit historical data extracted from repositories such as CVS and focus on change couplings: if some software parts change at the same time very often over several releases, this data can be used to point to candidates for refactoring. We adopt the concept of bad smells and provide additional change smells. Such a smell is hardly visible in the code, but easy to spot when viewing the change history. Our approach enables the detection of such smells allowing an engineer to apply refactoring on these parts of the source code to improve the evolvability of the software. For that, we analyzed the history of a large industrial system for a period of 15 months, proposed spots for refactorings based on change couplings, and performed them with the developers. After observing the system for another 15 months we finally analyzed the effectiveness of our approach. Our results support our hypothesis that the combination of change dependency analysis and refactoring is applicable and effective.
Analytical Processing of Version Control Data: Towards a Process-Centric Viewpoint
, 2003
"... This technical report introduces a novel approach to enabling analytical processing of project data. The approach exploits source code repositories for information about project evolution. Furthermore it proposes a new perspective on analyzing version control data. It takes up a process-centric view ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
This technical report introduces a novel approach to enabling analytical processing of project data. The approach exploits source code repositories for information about project evolution. Furthermore it proposes a new perspective on analyzing version control data. It takes up a process-centric viewpoint, addresses related analysis problems like collaboration of programmers and proposes metrics for them. The research has yielded an implementation of the approach, which comprises visualizations that assist in examining the evolution of software process.
Towards a Theory of Software Evolution - And its practical impact (working paper)
- Invited Talk, Proceedings Intl. Symposium on Principles of Softw. Evolution, ISPSE 2000, 1-2 Nov
, 2000
"... After years of study of software evolution processes, most recently through the FEAST projects, it appears that now there is a sufficient body of knowledge that can serve as basis for the development of an axiomatic theory of software evolution. Such body is represented by, for example, patterns and ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
After years of study of software evolution processes, most recently through the FEAST projects, it appears that now there is a sufficient body of knowledge that can serve as basis for the development of an axiomatic theory of software evolution. Such body is represented by, for example, patterns and behavioural invariants observed in attributes of industrially evolved systems. This paper discusses the need for such a theory, its practical impact, the underlying concepts and outlines an strategy for its development. As illustration, a set of statements (definitions, axioms, theorems) is given that leads to the principle of software uncertainty and to software evolution management guidelines. 1. Software Evolution The phenomenon of software evolution, the consequence of an intrinsic need for continuing maintenance and further development of software embedded in real world domains, was first identified and studied in the early 70s [leh69,bel72]. Until recently, however, it did not arous...

