TU Darmstadt / ULB / TUprints

Enriched Event Streams: A General Platform For Empirical Studies On In-IDE Activities Of Software Developers

Proksch, Sebastian :
Enriched Event Streams: A General Platform For Empirical Studies On In-IDE Activities Of Software Developers.
Technische Universität, Darmstadt
[Ph.D. Thesis], (2017)

[img]
Preview
Text
proksch-phd-thesis.pdf - Published Version
Available under CC-BY-SA 4.0 International - Creative Commons Attribution Share-alike 4.0.

Download (3MB) | Preview
Item Type: Ph.D. Thesis
Title: Enriched Event Streams: A General Platform For Empirical Studies On In-IDE Activities Of Software Developers
Language: English
Abstract:

Current studies on software development either focus on the change history of source code from version-control systems or on an analysis of simplistic in-IDE events without context information. Each of these approaches contains valuable information that is unavailable in the other case. This work proposes enriched event streams, a solution that combines the best of both worlds and provides a holistic view on the in-IDE software development process. Enriched event streams not only capture developer activities in the IDE, but also specialized context information, such as source-code snapshots for change events. To enable the storage of such code snapshots in an analyzable format, we introduce a new intermediate representation called Simplified Syntax Trees (SSTs) and build CARET, a platform that offers reusable components to conveniently work with enriched event streams. We implement FeedBaG++, an instrumentation for Visual Studio that collects enriched event streams with code snapshots in the form of SSTs and share a dataset of enriched event streams captured in an ongoing field study from 81 users and representing 15K hours of active development. We complement this with a dataset of 69M lines of released source code extracted from 360 GitHub repositories. To demonstrate the usefulness of our platform, we use it to conduct studies on the in-IDE development process that are both concerned with source-code evolution and the analysis of developer interactions. In addition, we build recommendation systems for software engineering and analyze and improve current evaluation techniques.

Alternative Abstract:
Alternative AbstractLanguage
Aktuelle Studien über Software Engineering konzentrieren sich entweder auf den Änderungsverlauf von Quelltext in Systemen zur Versionskontrolle oder auf eine Analyse von einfachen in-IDE Ereignissen ohne jegliche Kontextinformationen. Beide Ansätze nutzen wertvolle Informationen, die im anderen Fall nicht zu Verfügung stehen. Diese Arbeit stellt angereicherte Ereignisströme vor, eine Lösung, die das Beste beider Welten vereint und einen ganzheitlichen Blick auf den Prozess der Softwareentwicklung in der IDE ermöglicht. Angereicherte Ereignisströme erfassen nicht nur die in-IDE Aktivitäten eines Softwareentwicklers, sondern enthalten auch spezialisierte Kontextinformationen, beispielsweise Momentaufnahmen von Quelltext bei Änderungsereignissen. Um die Speicherung solcher Momentaufnahmen in einem analysierbaren Format zu ermöglichen, stellen wir eine neue Zwischendarstellung vor, Vereinfachte Syntax Bäume (SSTs), und erzeugen CARET, eine Plattform, die wiederverwendbare Kom-ponenten bereitstellt, um komfortabel mit angereicherten Ereignisströmen arbeiten zu können. Wir implementieren FeedBaG++, eine Instrumentierung für Visual Studio, die angereicherte Ereignisströme mit Momentaufnahmen von Quelltext in Form von SSTs sammelt. Wir teilen einen Datensatz von angereicherte Ereignisströme, den wir in einer andauernden Feldstudie von 81 Teilnehmern gesammelt haben und der 15T Stunden aktiver Entwicklungsarbeit enthält. Wir ergänzen ihn mit einem Datensatz von 69M Zeilen von veröffentlichtem Quelltext, den wir aus 360 GitHub Repositories extrahiert haben. Um den Nutzen unserer Plattform zu zeigen, führen wir Studien über den in-IDE Entwicklungsprozess sowie über die Entstehung von Quelltext mit ihr durch. Zusätzlichen erzeugen wir Empfehlungssysteme für Software Engineering und analysieren und verbessern aktuelle Techniken für deren Evaluation.German
Place of Publication: Darmstadt
Classification DDC: 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Software Technology
Date Deposited: 29 Nov 2017 11:13
Last Modified: 29 Nov 2017 11:13
URN: urn:nbn:de:tuda-tuprints-69714
Referees: Mira, Prof. Dr. Mezini and Walid, Prof. Dr. Maalej
Refereed: 25 August 2017
URI: http://tuprints.ulb.tu-darmstadt.de/id/eprint/6971
Export:
Actions (login required)
View Item View Item

Downloads

Downloads per month over past year