ESSENTIALS - People-centric Essentials for software evolution
People
External participants
Gall Harald
(Third-party responsible)
Abstract
Software evolution research, and its conceptual offspring mining software repositories, have so far mostly focused on structured and semi-structured artifacts, especially source code and versioning data. To substantially extend these works, we will focus on the essence of software evolution that goes beyond sheer code or change analysis. We want to answer the higher-level question “What does a stakeholder in her respective working context need to know about a software part, with respect to its developers, its features, its changes, its issues, or its discussions?”. We call that the evolutionary essentials of a software part that tells a stakeholder the most relevant information in her working context. We focus on a key aspect that has been neglected so far: the people-centric dimension, in terms of the people who produce software, ranging from developers and testers, to project managers and quality analysts. Especially the presentation of information about evolving systems is challenging, as the sheer amount and diversity of the potentially available data is staggering. We propose to investigate methods, tools, and techniques that can mine the available information, combine and present it in novel ways, to provide people with the appropriate “essentials” about any kind of artifact, be it structured, unstructured, or human.
Our goal is to extend the work performed during our highly successful predecessor SNF-project “SOSYA”, where we investigated systems of systems. The ESSENTIALS project is a seamless continuation, and extends it in several novel directions, aiming to answer the following research questions:
. Q1 What are the evolutionary essentials of a software artifact for respective stakeholders? How can they be used to summarize and monitor a project’s development?
. Q2 How can evolutionary essentials be described in a people-centric way and be presented in an effective way to the respective stakeholders? How can we quantify the added value in having evolutionary essentials for diverse stakeholders?
. Q3 How can essentials-based feedback be integrated in a software project’s development? How will these essentials modify the way that projects are run, with respect to both the product and the process?
For the ESSENTIALS project we propose to investigate the following research tracks: Multi-level, multi-source summarization. This track focuses on developing models and techniques to summarize information coming from multiple, partially unstructured, sources (code, emails, stack traces, bug reports, etc.) and to propose these summaries at multiple and progressive levels of detail.
Linking people & social coding. This track focuses on investigating techniques to provide qualified links between the people in software projects and the entities (code and non code) that make up the project, to enable the definition of novel types of relationships (such as diverse social links) between the participants of software projects, also across single system boundaries.
Visual Storytelling. This track focuses on using the novel types of data created through the first two tracks to investigate novel techniques to enable “visual storytelling”, i.e., the depiction of historical facts coming from diverse sources. The visualizations must work at diverse and multiple levels of granularity, ranging from single entities up to the level of complete software ecosystems.
Entity-context models. This track focuses on the creation of models where entities (people, features, code, or unstructured data) are linked to multiple contexts such as development, process, or collaboration. These contexts serve static analyses such as developer networks, bug life-cycles or code dependencies; they also serve dynamic analyses such as execution traces, memory usage, or test coverage.
Essentials & Stories. This track integrates all previous tracks. Its goal is to provide to various stakeholders the evolutionary essentials of any kind of artifact, both structured (such as code), unstructured (such as free text documents), as well as human (developers and users). These essentials are then to be conveyed to the stakeholders in the form of interactive “stories,” which can be both textual as well as visual.