Results 1 -
6 of
6
A survey and taxonomy of approaches for mining software repositories in the context of software evolution
, 2007
"... ..."
Evolutionary success of open source software: An investigation into exogenous drivers
- Electronic Communications of the EASST
"... has often been evaluated through the number of commits made to its configuration management system, number of developers and number of users. Based on Source-Forge, most studies have concluded that the vast majority of projects are failures. This paper argues that the relative success of a FLOSS pro ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
has often been evaluated through the number of commits made to its configuration management system, number of developers and number of users. Based on Source-Forge, most studies have concluded that the vast majority of projects are failures. This paper argues that the relative success of a FLOSS project can depend also on the chosen forge and distribution. Given a random sample of 50 projects contained within a popular FLOSS forge (Debian, which is the basis of the successful Debian distribution), we compare these with a similar sample from SourceForge, using product and process metrics, such as size achieved and number of developers involved. The results show firstly that, depending on the forge of FLOSS projects, researchers can draw different conclusions regarding what constitutes a successful FLOSS project. Secondly, the projects included in the Debian distribution benefit, on average, from more evolutionary activity and more developers than the comparable projects on SourceForge. Finally, the Debian projects start to benefit from more activity and more developers from the point at which they join this distribution.
Software Process Extraction and Identification
, 2006
"... Industrial software is planned, managed, and created using a variety of approaches: sometimes a formal Software Development Life-cycle (SDLC) model is used, sometimes an approach that is less formal but has clearly identifiable stages is employed, and sometimes little if any discernible process is f ..."
Abstract
- Add to MetaCart
Industrial software is planned, managed, and created using a variety of approaches: sometimes a formal Software Development Life-cycle (SDLC) model is used, sometimes an approach that is less formal but has clearly identifiable stages is employed, and sometimes little if any discernible process is followed. In this paper, we extract and correlate the software development process with behaviour and data found within a project's source control repository. We do so by analyzing fine grained changes, revisions, and aggregations of revisions, so that we can correlate them with the stage of the software development process that the project was in at the time they were made. To label intervals of revisions we use machine learning and artificial intelligence techniques including N-Nearest Neighbours classifiers, Markov models, Hidden Markov Models, Markov Decision Processes and Partially Observable Markov Decision Processes. These techniques initially learn the stages from annotated data and then classify unknown data. We describe how to pose the problem using these tools and we evaluate their e#ectiveness on several case studies.
Time Warp, an Approach for Reasoning over System Histories
"... The version history of a software system contains a wealth of information that can assist developers in their daily implementation and maintenance tasks. By reasoning over the role of certain code entities in previous versions of the system, developers can better understand their current state, asse ..."
Abstract
- Add to MetaCart
The version history of a software system contains a wealth of information that can assist developers in their daily implementation and maintenance tasks. By reasoning over the role of certain code entities in previous versions of the system, developers can better understand their current state, assess the required maintenance and avoid making the same mistakes over and over again. Unfortunately, current approaches do not offer a means to easily extract specific information about the source code from such a version history. In this paper we present Time Warp, a library of logic predicates that builds on the SOUL language and the FAMIX and Hismo meta-models and that allows writing queries about the history of a system. By means of a number of concrete examples, we demonstrate how our approach can be used to express interesting queries over the version history of a system.
A Prolog-based Framework for Search, Integration and Empirical Analysis on Software Evolution Data
"... Software projects use different repositories for storing project and evolution information such as source code, bugs and patches. An integrated system that combines these multiple repositories and can answer a broad range of queries regarding the project’s evolution history would be beneficial to bo ..."
Abstract
- Add to MetaCart
Software projects use different repositories for storing project and evolution information such as source code, bugs and patches. An integrated system that combines these multiple repositories and can answer a broad range of queries regarding the project’s evolution history would be beneficial to both software developers and researchers. For example, the list of source code changes or the list of developers associated with a bug fix are frequent queries for both developers and researchers. Integrating and gathering this information is a tedious, cumbersome, error-prone process when done manually, especially for large projects. Previous approaches to this problem use frameworks that limit the user to a set of pre-defined query templates, or use query languages with limited power. In this paper, we argue the need for a framework built with recursively enumerable languages, that can answer temporal queries, and supports negation and recursion. As a first step toward such a framework, we present a Prolog-based system that we built, along with an evaluation of real-world integrated data from the Firefox project. Our system allows for elegant and concise, yet powerful queries, and can be used by developers and researchers for frequent development and empirical analysis tasks.
Reasoning over the Evolution of Source Code using Quantified Regular Path Expressions
"... Abstract—Version control systems (VCS) have become indispensable to develop software. Next to their immediate advantages, they also offer information about the evolution of software and its development process. Despite this wealth of information, it has only been leveraged by tools that are dedicate ..."
Abstract
- Add to MetaCart
Abstract—Version control systems (VCS) have become indispensable to develop software. Next to their immediate advantages, they also offer information about the evolution of software and its development process. Despite this wealth of information, it has only been leveraged by tools that are dedicated to a specific software engineering task such as predicting bugs or identifying hotspots. General-purpose tool support for reasoning about the information contained in a version control system is limited. In this paper, we introduce the logic-based program query language ABSINTHE. It supports querying versioned software systems using logic queries in which quantified regular path expressions are embedded. These expressions lend themselves to specifying the properties that each individual version in a sequence of successive software versions ought to exhibit. I.

