Journal Article10.1007/S10664-017-9512-6
Curating GitHub for engineered software projects
TL;DR: This work proposes a framework, and presents a reference implementation of the framework as a tool called reaper, to enable researchers to select GitHub repositories that contain evidence of an engineered software project and identifies software engineering practices (called dimensions) and proposes means for validating their existence in a GitHub repository.
read more
Abstract: Software forges like GitHub host millions of repositories. Software engineering researchers have been able to take advantage of such a large corpora of potential study subjects with the help of tools like GHTorrent and Boa. However, the simplicity in querying comes with a caveat: there are limited means of separating the signal (e.g. repositories containing engineered software projects) from the noise (e.g. repositories containing home work assignments). The proportion of noise in a random sample of repositories could skew the study and may lead to researchers reaching unrealistic, potentially inaccurate, conclusions. We argue that it is imperative to have the ability to sieve out the noise in such large repository forges. We propose a framework, and present a reference implementation of the framework as a tool called reaper, to enable researchers to select GitHub repositories that contain evidence of an engineered software project. We identify software engineering practices (called dimensions) and propose means for validating their existence in a GitHub repository. We used reaper to measure the dimensions of 1,857,423 GitHub repositories. We then used manually classified data sets of repositories to train classifiers capable of predicting if a given GitHub repository contains an engineered software project. The performance of the classifiers was evaluated using a set of 200 repositories with known ground truth classification. We also compared the performance of the classifiers to other approaches to classification (e.g. number of GitHub Stargazers) and found our classifiers to outperform existing approaches. We found stargazers-based classifier (with 10 as the threshold for number of stargazers) to exhibit high precision (97%) but an inversely proportional recall (32%). On the other hand, our best classifier exhibited a high precision (82%) and a high recall (86%). The stargazer-based criteria offers precision but fails to recall a significant portion of the population.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Canonical Correlation Analysis for Data Fusion and Group Inferences
TL;DR: Two CCA-based approaches for data fusion and group analysis of biomedical imaging data and their utility on fMRI, sMRI, and EEG data are presented and it is important to note that both approaches provide complementary perspectives, and hence it is beneficial to study the data using different analysis techniques.
The ABC of Software Engineering Research
Klaas-Jan Stol,Brian Fitzgerald +1 more
TL;DR: A taxonomy from the social sciences is adopted, termed here the ABC framework for SE research, which offers a holistic view of eight archetypal research strategies, and six ways in which the framework can advance SE research.
270
Reaction or Speculation: Building Computational Support for Users in Catching-Up Series Based on an Emerging Media Consumption Phenomenon
Riku Arakawa,Hiromu Yakura +1 more
TL;DR: In this paper, a series of studies were conducted to understand how people engage with speculation during media consumption and designed two prototypes for supporting catching-up users based on their quantitative analysis of Twitter data in regard to reaction-and speculation-based media consumption.
268
A large-scale study about quality and reproducibility of jupyter notebooks
João Felipe Pimentel,Leonardo Murta,Vanessa Braganholo,Juliana Freire +3 more
- 26 May 2019
TL;DR: To understand good and bad practices used in the development of real notebooks, 1.4 million notebooks from GitHub are studied and a detailed analysis of their characteristics that impact reproducibility is presented.
253
What’s in a GitHub Star? Understanding Repository Starring Practices in a Social Coding Platform
TL;DR: A throughout study on the meaning, characteristics, and dynamic growth of GitHub stars is provided and a list of recommendations to open source project managers and GitHub users and Software Engineering researchers is provided.
247
References
Random Forests
Leo Breiman
- 01 Oct 2001
TL;DR: Internal estimates monitor error, strength, and correlation and these are used to show the response to increasing the number of features used in the forest, and are also applicable to regression.
Software unit test coverage and adequacy
TL;DR: The notion of adequacy criteria is examined together with its role in software dynamic testing and the methods for comparison and assessment of criteria are reviewed.
The promises and perils of mining GitHub
Eirini Kalliamvakou,Georgios Gousios,Kelly Blincoe,Leif Singer,Daniel M. German,Daniela Damian +5 more
- 16 May 2009
TL;DR: It is shown, for example, that the majority of the projects are personal and inactive; that GitHub is also being used for free storage and as a Web hosting service; and that almost 40% of all pull requests do not appear as merged, even though they were.
Does code decay? Assessing the evidence from change management data
TL;DR: This work defines code decay and proposes a number of measurements (code decay indices) on software and on the organizations that produce it, that serve as symptoms, risk factors, and predictors of decay.
A case study of open source software development: the Apache server
Audris Mockus,Roy T. Fielding,James D. Herbsleb +2 more
- 01 Jun 2000
TL;DR: This analysis of the development process of the Apache web server reveals a unique process, which performs well on important measures, and concludes that hybrid forms of development that borrow the most effective techniques from both the OSS and commercial worlds may lead to high performance software processes.