Mayr-Dorn, C. and Egyed, A. (2018) Does the Propagation of Artifact Changes across Tasks reflect Work Dependencies? (preprint) In Proceedings of
the 40th International Conference on Software Engineering (ICSE ’18), May 27-June 3, 2018, Gothenburg, ACM, forthcoming
Developers commonly define tasks to help coordinate software development efforts-whether they be feature implementation, refactoring, or bug fixes. Developers establish links between tasks to express implicit dependencies that needs explicit handling-dependencies that often require the developers responsible for a given task to assess how changes in a linked task affect their own work and vice versa (i.e., change propagation). While seemingly useful, it is unknown if change propagation indeed coincides with task links.
No study has investigated to what extent change propagation actually occurs between task pairs and whether it is able to serve as a metric for characterizing the underlying task dependency. In this paper, we study the temporal relationship between developer reading and changing of source code in relationship to task links. We identify seven situations that explain the varying correlation of change propagation with linked task pairs and find six motifs describing when change propagation occurs between non-linked task pairs. Our paper demonstrates that task links are indeed useful for recommending which artifacts to monitor for changes, which developers to involve in a task, or which tasks to inspect.
Supporting Online Material: https://doi.org/10.6084/m9.fgshare.5346253.v1
This work was supported by the Austrian Science Fund (FWF): P29415-NBL funded by the Government of Upper Austria.
Die Zukunft der Software- & Systementwicklung
Herausforderungen und Potenzial der Digitalisierung
Mittwoch, 15. Februar 2017, WKOÖ
In der Software- und Systementwicklung gibt es viele Herausforderungen:
- Wieviel Digitalisierung benötigt Ihr Software-Produktentwicklungsprozess?
- Sind Sie unsicher wie Ihre Software mit der Hardware zusammenhängt? Was ist von Änderungen betroffen und wurde alles getestet?
- Haben Sie noch die Übersicht, welche Softwareteile in welcher Produktvariante aktiv sind?
- Wie erreichen Sie Produkt-Release-Entscheidungen auf solider Basis?
- Wie erzielen Sie kurze Kommunikationswege und nachvollziehbare Entscheidungen?
Wenn Sie diese Fragen beschäftigen, dann sind Sie bei diesem TIM-Expertentag, am 15. Februar 2017 um 14:00 Uhr in der Wirtschaftskammer OÖ richtig.
Experten der Johannes Kepler Universität (JKU) und des Software Competence Center Hagenberg (SCCH) stellen Lösungsansätze vor und berichten aus der Forschung und Anwendung.
Anmeldung bzw. nähere Auskünfte zur kostenpflichtigen Veranstaltung (EUR 39,00/Person) erteilt Frau Theresa Reisinger, TIM – WKO Oberösterreich, T 05/90909-3548, F -3549, E email@example.com. Zusätzliche Informationen stehen im Internet unter http://www.tim.at/32_DEU_HTML.php zum Download bereit.
Exciting news. My proposal “C4S – Coordination-centric Change and Consistency Support” with Alexander Egyed (Co-PI) has been accepted in the FWF (Austrian Science Fund) Matching Funds program.
I will carry out this project at JKU, specifically the Institute for Software Systems Engineering (ISSE), which I will join as Post-Doc and PI beginning of September. I’m very excited to work with the people at ISSE, given also the outstanding ranking of JKU within in the top 16 institutions worldwide by Microsoft Research.
The research proposal addresses change impact analysis in development efforts of complex, safety-critical software (e.g., air traffic control systems). Such software typically exhibits a long lifecycle, involves various engineers (beyond pure software developers) across the entire development lifecycle and is subject to countless changes in the scope of maintenance and evolution activities. Under such conditions proper impact analysis needs to go beyond knowing which artifacts are affected (traditional traceability). Successfully implementing a change requires awareness which engineers to involve and why, how these engineers should be coordinated and communicate, and how these engineers should correctly propagate changes. Hence, what is an efficient and effective way to support engineers in change impact analysis and consistency maintenance? Pure top-down specified processes are insufficient to provide actionable guidance. This proposed work, therefore, investigates methods and techniques for bottom-up determining the underlying communication, coordination, and joint work relations among engineers, artifacts, and tasks. Monitoring such low-level events enables a holistic bottom-up activity view that constitutes the basis for extensive change management support: (i) Dependency Awareness and Consistency Support: provides sophisticated artifact dependencies and recommendations for maintaining artifact consistency beyond core development activities. (ii) Coordination Know-how Learning: generalizes and extracts insight into which coordination structures prevailed, how much collaboration occurred, and which expertise was involved, thus enabling to deduct how these properties affect the duration, quality outcome, and resource utilization of various development activities required for change implementation; and (iii) Coordination Guidance: provides actionable recommendations for a given change management instance based on previously learned best practices. Key research questions address the challenges of dealing with incomplete, incorrect, and uncertain information in detail.
Dorn, C., Egyed, A., (2013) Towards Collaboration-Centric Pattern-Based Software Development Support (preprint), In Proceedings of the 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE 2013) co-located with the International Conference on Software Engineering (ICSE), May 2013, San Francisco, USA, to appear.
Abstract: Software engineering activities tend to be loosely coupled to allow for flexibly reacting to unforeseen development complexity, requirements changes, and progress delays. This flexibility comes a the price of hidden dependencies among design and code artifacts that make it difficult or even impossible to assess change impact. Incorrect change propagation subsequently results in costly errors.
This position paper proposes a novel approach based on monitoring engineering activities for subsequent high-level pattern detection. Patterns of (i) collaboration structures, (ii) temporal action sequences, and (iii) artifact consistency constraints serve as input to recommendation and automatic reconfiguration algorithms for ultimately avoiding and correcting artifact inconsistencies.