18 research outputs found
Learning Effective Changes for Software Projects
The primary motivation of much of software analytics is decision making. How
to make these decisions? Should one make decisions based on lessons that arise
from within a particular project? Or should one generate these decisions from
across multiple projects? This work is an attempt to answer these questions.
Our work was motivated by a realization that much of the current generation
software analytics tools focus primarily on prediction. Indeed prediction is a
useful task, but it is usually followed by "planning" about what actions need
to be taken. This research seeks to address the planning task by seeking
methods that support actionable analytics that offer clear guidance on what to
do. Specifically, we propose XTREE and BELLTREE algorithms for generating a set
of actionable plans within and across projects. Each of these plans, if
followed will improve the quality of the software project.Comment: 4 pages, 2 figures. This a submission for ASE 2017 Doctoral Symposiu
Identifying Unmaintained Projects in GitHub
Background: Open source software has an increasing importance in modern
software development. However, there is also a growing concern on the
sustainability of such projects, which are usually managed by a small number of
developers, frequently working as volunteers. Aims: In this paper, we propose
an approach to identify GitHub projects that are not actively maintained. Our
goal is to alert users about the risks of using these projects and possibly
motivate other developers to assume the maintenance of the projects. Method: We
train machine learning models to identify unmaintained or sparsely maintained
projects, based on a set of features about project activity (commits, forks,
issues, etc). We empirically validate the model with the best performance with
the principal developers of 129 GitHub projects. Results: The proposed machine
learning approach has a precision of 80%, based on the feedback of real open
source developers; and a recall of 96%. We also show that our approach can be
used to assess the risks of projects becoming unmaintained. Conclusions: The
model proposed in this paper can be used by open source users and developers to
identify GitHub projects that are not actively maintained anymore.Comment: Accepted at 12th International Symposium on Empirical Software
Engineering and Measurement (ESEM), 10 pages, 201
An Empirical Analysis on Software Development Efforts Estimation in Machine Learning Perspective
The prediction of effort estimation is a vital factor in the success of any software development project. The available of expert systems for the software effort estimation supports in minimization of effort and cost for every software project at same time leads to timely completion and proper resource management of the project. This article supports software project managers and decision makers by providing the state-of-the-art empirical analysis of effort estimation methods based on machine learning approaches. In this paper ?ve machine learning techniques; polynomial linear regression, ridge regression, decision trees, support vector regression and Multilayer Perceptron (MLP) are investigated for the purpose software development effort estimation by using bench mark publicly available data sets. The empirical performance of machine learning methods for software effort estimation is investigated on seven standard data sets i.e. Albretch, Desharnais, COCOMO81, NASA, Kemerer, China and Kitchenham. Furthermore, the performance of software effort estimation approaches are evaluated statistically applying the performance metrics i.e. MMRE, PRED (25), R2-score, MMRE, Pred(25). The empirical results reveal that the decision tree-based techniques on Deshnaris, COCOMO, China and kitchenham data sets produce more adequate results in terms of all three-performance metrics. On the Albretch and nasa datasets, the ridge regression method outperformed then other techniques except pred(25) metric where decision trees performed better