7 research outputs found
Unusual Events in GitHub Repositories
In large and active software projects, it becomes impractical for a developer
to stay aware of all project activity. While it might not be necessary to know
about each commit or issue, it is arguably important to know about the ones
that are unusual. To investigate this hypothesis, we identified unusual events
in 200 GitHub projects using a comprehensive list of ways in which an artifact
can be unusual and asked 140 developers responsible for or affected by these
events to comment on the usefulness of the corresponding information. Based on
2,096 answers, we identify the subset of unusual events that developers
consider particularly useful, including large code modifications and unusual
amounts of reviewing activity, along with qualitative evidence on the reasons
behind these answers. Our findings provide a means for reducing the amount of
information that developers need to parse in order to stay up to date with
development activity in their projects.Comment: Accepted for publication in Journal of Systems and Softwar
Improving unified process methodology by implementing new quality management discipline
Unified process, a leading software development methodology, allows project teams to incrementally build their software and structurally defines project roles, phases, iterations and disciplines. One of the issues that arise when applying unified process is absence of discipline for quality assurance and control. This research aims to define new discipline entitled “quality management of software development” and its processes, in order to produce modified version of unified process, suitable for continually controlling quality in software development projects. This discipline will integrate ISO 9126 “Software engineering – product quality”, which is an international standard for addressing software quality and quality control tools, as proposed by Project Management Book of Knowledge 2010. Main hypothesis of this research is that, by defining and integrating new discipline of quality management, project teams that employ this new, modified version of unified process, will be able to produce software of higher quality level. Experimental research is conducted on four software development projects, ranging from 2009 to 2010, two of which use standard, and two of which use modified unified process model. Research results show higher software quality levels in two projects that use modified unified process methodology.peer-reviewe
Evidence-based Software Process Recovery
Developing a large software system involves many complicated, varied, and
inter-dependent tasks, and these tasks are typically implemented using a
combination of defined processes, semi-automated tools, and ad hoc
practices. Stakeholders in the development process --- including software
developers, managers, and customers --- often want to be able to track the
actual practices being employed within a project. For example, a customer
may wish to be sure that the process is ISO 9000 compliant, a manager may
wish to track the amount of testing that has been done in the current
iteration, and a developer may wish to determine who has recently been
working on a subsystem that has had several major bugs appear in it.
However, extracting the software development processes from an existing
project is expensive if one must rely upon manual inspection of artifacts
and interviews of developers and their managers. Previously, researchers
have suggested the live observation and instrumentation of a project to
allow for more measurement, but this is costly, invasive, and also requires
a live running project.
In this work, we propose an approach that we call software process
recovery that is based on after-the-fact analysis of various kinds of
software development artifacts. We use a variety of supervised and
unsupervised techniques from machine learning, topic analysis, natural
language processing, and statistics on software repositories such as version
control systems, bug trackers, and mailing list archives. We show how we can
combine all of these methods to recover process signals that we map back to
software development processes such as the Unified Process. The Unified
Process has been visualized using a time-line view that shows effort per
parallel discipline occurring across time. This visualization is called the
Unified Process diagram. We use this diagram as inspiration to produce
Recovered Unified Process Views (RUPV) that are a concrete version of this
theoretical Unified Process diagram. We then validate these methods using
case studies of multiple open source software systems
Architecture design in global and model-centric software development
This doctoral dissertation describes a series of empirical investigations into representation, dissemination and coordination of software architecture design in the context of global software development. A particular focus is placed on model-centric and model-driven software development.LEI Universiteit LeidenAlgorithms and the Foundations of Software technolog