131 research outputs found
[Replication package] INFSOF-D-18-00533
Data and scripts associated with the following publications:
Kelly Blincoe, Francis Harrison and Daniela Damian. "Ecosystems in GitHub and a Method for Ecosystem Identification using Reference Coupling." In Proceedings of the 12th Working Conference on Mining Software Repositories (MSR '15), pp. 202-211. IEEE, 2015.
Kelly Blincoe, Francis Harrison, Navpreet Kaur, and Daniela Damian. "Reference Coupling: An Exploration of Inter-project Technical Dependencies and their Characteristics within Large Software Ecosystems." Information and Software Technology. In Press, 2019. </p
Preface to the empirical software engineering special issue on selected papers from RE'19
Introduction to selected papers from 27th IEEE International Requirements Engineering Conference (RE'19
Facilitating Coordination between Software Developers: A Study and Techniques for Timely and Efficient Recommendations
When software developers fail to coordinate, build failures, duplication of work, schedule slips and software defects can result. However, developers are often unaware of when they need to coordinate, and existing methods and tools that help make developers aware of their coordination needs do not provide timely or efficient recommendations. We describe our techniques to identify timely and efficient coordination recommendations, which we developed and evaluated in a study of coordination needs in the Mylyn software project. We describe how data obtained from tools that capture developer actions within their Integrated Development Environment (IDE) as they occur can be used to timely identify coordination needs; we also describe how properties of tasks coupled with machine learning can focus coordination recommendations to those that are more critical to the developers to reduce information overload and provide more efficient recommendations. We motivate our techniques through developer interviews and report on our quantitative analysis of coordination needs in the Mylyn project. Our results suggest that by leveraging IDE logging facilities, properties of tasks and machine learning techniques awareness tools could make developers aware of critical coordination needs in a timely way. We conclude by discussing implications for software engineering research and tool design
Do all task dependencies require coordination? The role of task properties in identifying critical coordination needs in software projects
Several methods exist to detect the coordination needs within software teams. Evidence exists that developers' awareness about coordination needs improves work performance. Distinguishing with certainty between critical and trivial coordination needs and identifying and prioritizing which specific tasks a pair of developers should coordinate about remains an open problem. We investigate what work dependencies should be considered when establishing coordination needs within a development team. We use our conceptualization of work dependencies named Proximity and leverage machine learning techniques to analyze what additional task properties are indicative of coordination needs. In a case study of the Mylyn project, we were able to identify from all potential coordination requirements a subset of 17% that are most critical. We define critical coordination requirements as those that can cause the most disruption to task duration when left unmanaged. These results imply that coordination awareness tools could be enhanced to make developers aware of only the coordination needs that can bring about the highest performance benefit.http://dl.acm.org/citation.cfm?id=249141
Evaluating Software User Feedback Classifiers on Unseen Apps, Datasets, and Metadata
Replication package for running the experiments from "Evaluating Software User Feedback Classifiers on Unseen Apps, Datasets, and Metadata".
For the most up-to-date version of this code, please see https://github.com/Peter-Devine/user_feedback_machine_learning_cls_experiments
# About
This repository is supplementary to the paper "Evaluating Software User Feedback Classifiers on Unseen Apps, Datasets, and Metadata" from Peter Devine, Yun Sing Koh, and Kelly Blincoe.
The code for this paper with written by Peter Devine.
If you would like to run this code yourself, or would like to use it for something else, please feel free to.
If you have any problems with running the code, feel free to reach out and create an issue. I will be happy to help.
# How to run
* Install Python 3
* Download PyTorch using the instructions on https://pytorch.org/
(E.g. `pip3 install torch torchvision torchaudio`)
* Pip install the following packages: `pip install -U scikit-learn pandas scipy transformers`
* Run `run.py`
(I.e. `python run.py`)
# Just want the results?
* Install jupyter notebook from https://jupyter.org/install
(E.g. `pip install jupyterlab`)
* Run the cells in `Results.ipynb`
N.B. This repository comes with the results already included in `results/`, but you will need to train the models again if you want to fully replicate the study.
If you are looking for a classifier to classify user feedback into bug reports and feature requests, please see the models at:
https://huggingface.co/Peterard
These pages have full instructions for how to run the models. (If you cannot find the bug and feature request classifiers, then they are private while waiting for dataset publisher permission).
(The `classifier_upload.ipynb` notebook was how I uploaded these models.
Challenges and Strategies for Managing Requirements Selection in Software Ecosystems
Damian D, Linaker J, Johnson D, Clear T, Blincoe K. Challenges and Strategies for Managing Requirements Selection in Software Ecosystems. IEEE Software. 2021;38(6):76-87.In platform software ecosystems, organizations partner and innovate together. Success and innovation depend on managing complex sets of business relationships and stakeholders and using a requirements-selection process. We describe the associated challenges and strategies from the study of two large proprietary platform ecosystems
Dynamic Prediction of Delays in Software Projects using Delay Patterns and Bayesian Modeling
Modern agile software projects are subject to constant change, making it essential to re-asses overall delay risk throughout the project life cycle. Existing effort estimation models are static and not able to incorporate changes occurring during project execution. In this paper, we propose a dynamic model for continuously predicting overall delay using delay patterns and Bayesian modeling. The model incorporates the context of the project phase and learns from changes in team performance over time. We apply the approach to real-world data from 4,040 epics and 270 teams at ING. An empirical evaluation of our approach and comparison to the state-of-the-art demonstrate significant improvements in predictive accuracy. The dynamic model consistently outperforms static approaches and the state-of-the-art, even during early project phases.Software EngineeringSoftware Technolog
Proxiscientia: Toward real-time visualization of task and developer dependencies in collaborating software development teams
- …
