eprintid: 26059 rev_number: 14 eprint_status: archive userid: 4263 dir: disk0/00/02/60/59 datestamp: 2019-02-18 16:24:17 lastmod: 2019-03-14 09:46:22 status_changed: 2019-02-18 16:24:17 type: masterThesis metadata_visibility: show creators_name: Clormann, Jochen title: DecXtract: Dokumentation und Nutzung von Entscheidungswissen in JIRA-Issue-Kommentaren title_en: DecXtract: Documentation and usage of decision knowledge in JIRA-Issue comments title_de: DecXtract: Dokumentation und Nutzung von Entscheidungswissen in JIRA-Issue-Kommentaren subjects: ddc-000 subjects: ddc-004 divisions: i-110300 adv_faculty: af-11 abstract: [Kontext und Motivation] Zur Entwicklung eines Softwaresystems benötigen EntwicklerIn- nen Wissen über die Evolution der zugehörigen Softwareartefakte. EntwicklerInnen müssen bei- spielsweise vorangegangene Quellcodeänderungen verstehen, um eine neue Anforderung bzw. ei- ne ¨ Anderung an einer bestehenden Anforderung zu implementieren. Dabei spielt Entscheidungs- wissen eine zentrale Rolle für die erfolgreiche Evolution eines Softwaresystems: EntwicklerInnen benötigen Wissen zu bereits getroffenen Entscheidungen, um eigene Entscheidungen zu treffen. Um neuen EntwicklerInnen in einem Softwareprojekt den Zugriff auf dieses Entscheidungswis- sen zu ermöglichen, ist es wichtig, dass Projektbeteiligte Entscheidungen dokumentieren. Dafür nutzen sie verschiedene Dokumentationsmöglichkeiten und halten Entscheidungswissen häufig informell in Commitnachrichten, Chatnachrichten oder Kommentaren fest. [Beitr¨ age] Diese Masterarbeit umfasst eine systematische Literaturrecherche, die Entwick- lung des JIRA-Plug-Ins DecXtract sowie einen Datensatz als Goldstandard zur Evaluation. Die systematische Literaturrecherche beantwortet die Frage, welches Wissen EntwicklerInnen für das Verständnis von Quellcodeänderungen benötigen und welche Rolle Entscheidungswis- sen dafür spielt. Neben einer Liste mit konkreten Fragen, die EntwicklerInnen zu einer Quell- codeänderung stellen, zeigt die Literaturrecherche, dass EntwicklerInnen explizites Entschei- dungswissen benötigen, dieses aber nicht dokumentiert oder auffindbar ist. Um Entscheidungs- wissen in Kommentaren explizit zu machen und seine Auffindbarkeit zu verbessern, wird das Entscheidungsdokumentationstool ConDec für JIRA um die Komponente DecXtract erweitert. DecXtract ermöglicht EntwicklerInnen, Text in Kommentaren von JIRA-Issues automatisch als Entscheidungswissen zu klassifizieren sowie eigene Kommentare manuell als explizites, klassi- fiziertes Entscheidungswissen zu dokumentieren. EntwicklerInnen können Entscheidungswissen in Kommentaren zu bestehenden Softwareartefakten wie Anforderungen, Entwicklungsaufga- ben oder anderem Entscheidungswissen verlinken. So entsteht ein integriertes Wissensmodell mit explizit dokumentiertem Entscheidungswissen. Dieses integrierte Modell wird als Graph visualisiert und bietet NutzerInnen verschiedene Möglichkeiten zur Verwaltung. Eine Befragung von EntwicklerInnen, die ebenfalls am ConDec-Projekt beteiligt sind, zeigt die Eignung von DecXtract zur Dokumentation von Entscheidungswissen. Zur Evaluation wird ein JIRA-Projekt mit 90 JIRA-Issues des Apache LUCENE Projektes erzeugt. Mit Hilfe von DecXtract wird informelles Entscheidungswissen aus den JIRA-Issue-Kommentaren explizit an- gelegt und miteinander verlinkt. Anhand der identifizierten Fragen von EntwicklerInnen an eine Quellcodeänderung wird das von DecXtract bereitgestellte Wissen genutzt um das Verständnis von Quellcodeänderungen zu evaluieren. [Schlussfolgerung] DecXtract verbessert die Entscheidungsdokumentation durch die Klassifi- kation von Entscheidungselementen in JIRA-Issue-Kommentaren. Durch das präsentierte Ent- scheidungswissen können EntwicklerInnen immer den aktuellen Stand einer Diskussion und des dazugehörigen Entscheidungsproblems beobachten. Wenn eine Quellcodeänderung mit einem JIRA-Issue verlinkt ist, können EntwicklerInnen das Entscheidungswissen zu einer Quellco- deändeurng betrachtet. Dieses Wissen unterstützt EntwicklerInnen beim Verständnis der Quell- codeänderung. abstract_translated_text: Abstract [Context and motivation] To develop a software system, developers need knowledge about the evolution of its software artifacts. For example, developers need to understand previous source code changes to implement a new requirement or changes to an existing requirement. Decision knowledge is important to successfully evolve a software system: Developers need knowledge about the decisions made to make new decisions. In order to make decision knowledge accessible to new developers, it is important that project participants document the decision knowledge. For this purpose, they use various documentation locations and often informally capture decision knowledge in commit messages, chat messages, or comments. [Contributions] This master thesis presents a systematic literature review, the development of the JIRA plug-in DecXtract and a dataset as the gold standard for the evaluation. The sys- tematic literature review answers the question what knowledge developers need to understand source code changes and what role decision knowledge plays. In addition to a list of specific questions developers ask about source code changes, the literature review shows that developers need explicit decision knowledge, but this is not documented or traceable. To make decision knowledge in comments explicit and to improve its accessibility, the decision documentation tool ConDec for JIRA is extended by the component DecXtract. DecXtract allows developers to automatically classify text in comments from JIRA Issues as decision knowledge, and manu- ally document new comments as explicit and classified decision knowledge. Developers can link decision knowledge in JIRA Issue comments to existing software artifacts such as requirements, development tasks, or other decision knowledge. This results in an integrated knowledge model with explicitly documented knowledge. This integrated model is visualized as a graph and offers users various ways to manage it. A survey of developers who are also involved in the ConDec project demonstrates the suitability of DecXtract to document decision knowledge. For eva- luation, a JIRA project with 90 JIRA issues of the Apache LUCENE project is created. With the help of DecXtract, informal decision knowledge from the JIRA Issue comments is explicitly created and linked to each other. Based on the identified questions from developers to a source code change, the knowledge provided by DecXtract is used to evaluate the understanding of source code changes. [Conclusion] DecXtract improves decision making by classifying explicit decision knowledge elements in JIRA issue comments. Through the presented decision knowledge, developers can observe the current status of a discussion and the associated decision problem. If a source code change is linked to a JIRA issue, developers may look upon decision knowledge about a source code change. This knowledge helps developers understand the source code change. abstract_translated_lang: eng date: 2019-02-07 id_scheme: DOI id_number: 10.11588/heidok.00026059 ppn_swb: 1656189402 own_urn: urn:nbn:de:bsz:16-heidok-260593 date_accepted: 2018-12-20 advisor: HASH(0x55e0f7f14a00) language: eng bibsort: CLORMANNJODECXTRACTD20190207 full_text_status: public thesis_type: Master citation: Clormann, Jochen (2019) DecXtract: Dokumentation und Nutzung von Entscheidungswissen in JIRA-Issue-Kommentaren. [Master's thesis] document_url: https://archiv.ub.uni-heidelberg.de/volltextserver/26059/1/report.pdf