ComContA

Team:  Jil Klünder, Martin Obaidi
Jahr:  2020
Förderung:  Leibniz Young Investigator Grants (Projektförderung für exzellente Postdocs)
Laufzeit:  von Juli 2020 bis Juni 2022

Motivation

Aufgrund der wachsenden Komplexität heutiger Softwareprojekte werden die meisten dieser Projekte von Entwicklungsteams, und nicht von einzelnen Entwicklerinnen oder Entwickler bearbeitet. Durch die Teamarbeit werden neben der fachlichen Kompetenz auch Anforderungen an die soziale Kompetenz der Entwicklerteams gestellt. Zur Koordinierung der Arbeit ist die angemessene und häufige Kommunikation unabdingbar. Dafür werden häufig Kommunikationsmittel wie E-Mails, (Video-)Telefonate usw. verwendet.

Ein Großteil der Informationsweitergabe erfolgt in Meetings (Besprechungen). Um die Interaktionen in Meetings von Softwareprojekten zu analysieren, wurde im Rahmen von den DFG-Forschungsprojekten TeamFlow(URL hinterlegen) und TeamDynamics(URL hinterlegen) ein in der Psychologie etabliertes Verfahren namens act4teams vereinfacht und an Entwicklerteams angepasst. Das vereinfachte Verfahren act4teams-SHORT hilft, Fehlverhalten vorzubeugen und bei den Entwicklern das Bewusstsein über die Konsequenzen ihres Verhaltens zu stärken.
Die Unterstützung bei der Auswertung dieser Ergebnisse ist hierbei wünschenswert.

Durch die wachsende Komplexität von Softwareprojekten sind viele Entwicklungsteams räumlich verteilt. Dies kann auf nationaler Ebene oder sogar global sein, bedingt durch die Globalisierung. Eine aktuelle Studie zeigt, dass ungefähr 60% aller Entwicklungsteams global verteilt sind, diese sowohl national als auch international. Durch die daher gehenden Probleme wie unterschiedliche Zeitzonen spielt beim Entwicklungsprozess häufig indirekte Kommunikation über digitale Kanäle wie E-Mail, aber auch Skype, Slack oder Zulip eine wesentliche Rolle.

Analog zu den Meetings ist zu vermuten, dass es sowohl Personen gibt, die durch ihre positiven Nachrichten wie Hilfestellung oder Aufmunterungen die Stimmung des Entwicklungsteams heben können, jedoch genau so Personen die Stimmung z. B. durch häufiges Beschweren senken könnten.

Um den Anteil an unangemessenen Verhalten in Gruppenchats zu reduzieren und den Projektleitern gerade bei dezentralen Entwicklerteams in ihrer Aufgabe der Stimmungsanalyse zu unterstützen, soll im Rahmen des Forschungsprojektes ComContA ein möglichst automatisiertes Verfahren entwickelt werden, das ermöglicht, die schriftliche Kommunikation im Hinblick auf kontraproduktives Verhalten zu untersuchen.

Herausforderungen

Beim Forschungsprojekt ComContA existieren einige Herausforderungen, die einer Anwendung in der Praxis entgegenstehen. Dazu gehören:

Verbesserung der Güte der Vorhersagen: Bei Datensätzen von Gruppenchats muss die Güte eines maschinellen Verfahrens verbessert werden.

Optimierung der zur Vorhersage verwendeten Algorithmen: Im Rahmen des Forschungsprojektes soll basierend auf den zugrundeliegenden maschinellen und evolutionären Lernfahren untersucht werden, welche Verfahren sich für diese Aufgabe möglichst gut eignen und wie sie angepasst werden müssen.

Auswahl von Metriken/Features zur Analyse: Es gibt bereits eine Vielzahl an Metriken, die zur Untersuchung von schriftlicher Kommunikation in Chats verwendet werden könne. Jedoch soll nur die relevanten, informationsreichen Metriken betrachten werden, welche systematisch ermittelt werden müssen.

Diese Herausforderungen sollen im Rahmen des Projektes ComContA bearbeitet werden.

Ziele

Im Rahmen des Projektes wird eine Open-Source-Software zur Weiterentwicklung und zur freien Verwendung entwickelt. Dabei fließen neue wissenschaftliche Erkenntnisse ein, die im Rahmen von Publikationen der Allgemeinheit zur Verfügung gestellt werden.
Es soll hierbei ein Algorithmus aus dem Bereich des maschinellen Lernens (weiter-)entwickelt werden, welcher bestimmte Texte, z.B. aus Gruppenchats von Entwicklungsteams auf deren Emotion hin untersucht. Hierfür werden Datensätze, z.B. von frei verfügbaren Mailingslisten aus OpenSource-Projekten, zum Trainieren verwendet. Ziel ist es, mit dem entwickelten Algorithmus die Stimmung des Entwicklungsteams zu analysieren. Es sind Fallstudien für das entwickelte Verfahren angedacht. Zuletzt ist die Anbindung an das JIRA-Plugin geplant.

Bisherige Ergebnisse

Um die Güte der Klassifikation von schriftlicher Kommunikation in Entwicklungsteams eines Sentiment Analysis Tools von Horstmann zu erhöhen, wurden einige Änderungen von Meyer durchgeführt. Die Verbesserungen umfassen dabei unter anderem Ergänzungen an der Merkmalsmenge, die Implementierung eines domänenspezischen Lexikons und eine Methode für die Verarbeitung von Negationen. Unter anderem wurde das Tool an die englische Sprache angepasst und auf einen Goldstandard GitHub Datensatz trainiert und ausgewertet und erreichte eine Genauigkeit von knapp 87%. Hierbei wurden die Label positiv, neutral und negativ verwendet.

Um einen Überblick über die Stimmungsanalyse im Gebiet des Software Engineering zu erhalten, haben Obaidi und Klünder eine systematische Literaturrecherche ausgeführt. Dabei haben sie basierend auf 80 als relevant identifizierte Paper unter anderem die Motivation zur Anwendung von Stimmungsanalysetools, die häufig verwendeten Trainings- und Testdaten für diese Tools sowie häufig genannte Probleme bei der Entwicklung der Tools identifiziert.

Diese Literaturrecherche wurde im späteren Verlauf auf 106 Paper erweitert, und neben demographischen Daten auch hinsichtlich der Performanz bestehender Sentiment Analysis Tools und Vorgehen untersucht.

Ein weiteres Tool wurde von Herrmann entwickelt, um die sprachliche Kommunikation in Meetings zu analysieren und dem Projektleiter zum Ende eines Meetings direkt Feedback über dessen Verlauf geben zu können. Das Tool erlaubt somit eine automatische Klassifikation von deutschen Aussagen in Meetings von Entwicklungsteams. Hierfür wird eine Open Source Sprachengine zum Transkribieren verwendet. Die Anwendbarkeit des Verfahrens wurde anhand einer Studie mit einem aufgezeichneten Gespräch eines studentischen Entwicklungsteams demonstriert. Es konnte eine moderate Übereinstimmung zu der Klassifikation durch einen menschlichen Zuhörer nachgewiesen werden.

Basierend darauf wurde von Linnemann eine graphische Oberfläche entwickelt, welche das Tool von Herrmann einbindet und somit einfacher anwendbar macht.

Zudem wurde das Tool von Herrmann mit neuen Funktionen erweitert und evaluiert.

Eine weitere Arbeit analysierte die Stimmungen von text-basierter Kommunikation in einem Open-Source-Projekten namens TensorFlow, welches sich auf GitHub befindet. Dabei hat Powelske mehrere bereits vorhandener Sentiment Analysis Tools miteinander verglichen und basierend darauf das Tool Senti4SD ausgewählt. Mit Senti4SD wurden dann die aus dem TensorFlow gecrawlten Daten auf ihre Sentimente hin analysiert und in einem zeitlichen Verlauf dargestellt.

Ein Problem im Gebiet der Sentiment Analysis ist, dass Tools, die in einer Domäne trainiert und getestet werden, in dieser Domäne gut performen, jedoch in eine andere, ungesehene Domäne oft signifikant schlechter performen. Um die Vorhersagen auf ungesehen Domänen zu verbessern und somit solche Tools praxistauglicher zu machen, hat Holm eine Kombination existierender Ansätze betrachtet, um dadurch eine Verbesserung der Stimmungsanalyse basierend auf schriftlicher Kommunikation in Entwicklerteams zu erreichen. Dafür wurden 3 verschiedene Tools in einem VotingClassifier kombiniert, welche dann per Mehrheitsentscheidung über die Klassifikation von Sätzen entscheiden. Es hat sich hierbei gezeigt, dass zwar die Genauigkeit innerhalb einer Domäne gesteigert werden konnte, jedoch beim Anwenden auf eine ungesehene Domäne häufig der VotingClassifier schlechter performte als bestimmte Tools einzeln.

Bereits bestehende, transkribierte Meetingaufnahmen haben Schiller und Klose auf ihre Stimmung untersucht und mögliche Korrelationen zu act4Teams-Short-Kategorien gesucht. Diese Kategorien wurden erstellt, um Aussagen in Meetings schnell und einfach in bestimmte Kategorien einzuordnen. Dabei zeigte sich, dass die einzelnen Interaktionskategorien verschiedene Verteilungen an Stimmungen aufweisen. Des weiteren zeigte sich bei allen untersuchten Kategorien, dass der größte Anteil an Aussagen eine neutrale Polarität besitzt und somit eine neutrale Stimmung der Teilnehmer bei diesen Aussagen widerspiegelt.

Lehmann hat aus diesen transkribierten Daten eine soziale Netzwerkanalyse durchgeführt.  Dabei wurden Netz werke für verschiedene Aspekte der Kommunikation, nämlich die Häugkeit, Unterbrechungen, positive und negative Interaktion sowie die Beteiligungen bei verschiedenen Gesprächsthemen, konstruiert und anschlieÿend zu einem Netzwerk verein. Jedoch wurde kein eindeutiger Zusammenhang ermittelt. 

Specht hat für zwei verschiedene Datensätze objektive bzw. statistische Metriken abgeleitet. Es wurde dabei untersucht, ob diese Metriken ausreichen, um ein trainiertes Modell zu erhalten und welche Metriken dabei eine große Rolle spielen.  Dabei stellte sich heraus, dass die evaluierten Metriken nicht ausreichend sind, damit eine Vorhersage der Stimmung gelingt. Es ist aber möglich mithilfe von subjektiven Metriken die Stimmmungsvorhersage zu verbessern.

Den Fokus auf destruktive Aussagen in deutschen transkribierte Meetingaufnahmen hat Obeidi in ihrer Arbeit gelegt. Obeidi hat dabei ein Konzept entwickelt, welcher Rule-based Matching und maschinelle Lernverfahren verwendet. Diese sollten gezielt destruktive Aussagen aus Sätzen erkennen. Jedoch hat dieser Ansatz keine hohe Genauigkeit. Gründe liegen in der komplizierten Sprache, der Subjektivität und bestimmter statistischer Abhängigkeiten, die zu fehlerhaften Ergebnissen führen können.

Im Bereich der Stimmungsanalyse gibt es die Schwierigkeit, Ironie in Aussagen zu erkennen. Dies wurde häufig in der Entwicklung von Sentiment Analysis Tools als Problem identifiziert. Ob jedoch in der Praxis Ironie häufig verwendet wird, und wie groß der Einfluss dessen ist, wurde bisher noch nicht untersucht. Rakow hat dafür eine Umfrage erstellt und Forschungsfragen hinsichtlich des Gebrauchs und des Einflusses von Ironie in natürlicher Sprache in Softwareprojekten beantwortet. Dabei zeigte sich, dass Personen mit Erfahrung im Bereich der Softwareentwicklung weniger
Ironie nutzen und eine negativere Einstellung zu Ironie haben. Allerdings  bewerten auch Softwareentwickler den Einfluss von Ironie auf die Stimmung im Arbeitsumfeld insgesamt leicht positiv.

Basierend auf mehreren Papern und einer von uns durchgeführten Umfrage wurde festgestellt, dass Labeling von Sentimenten auf Entwickleraussagen häufig subjektiv ist. Um die Einflussfaktoren näher zu untersuchen, hat Martensen eine wiederholte Umfrage in Softwareprojekten durchgeführt, wo die unter anderem die Stimmung der Teammitglieder abgefragt wurde sowie sie bestimmte Aussagen labeln sollten. Diese Umfrage wurde 4 mal wiederholt. Das Ergebnis ist, dass nur wenige, schwache Korrelationen gefunden wurden und die Teilnehmer sogar mit sich selbst nicht immer einig waren beim Labeln.

Um Entwicklern auf GitHub eine Übersicht über die Stimmung in Open-Source-Projekten zu geben, hat Tezerji ein Firefox Plugin sowie eine Webseite erstellt. Das Plugin erkennt automatisch, wenn sich ein Entwickler auf die Webseite eines GitHub Projekt befindet und ermittelt die Stimmung des Projektes durch die Analyse der GitHub Issues mit Hilfe des Tools Senti4SD.

Damit Entwickler, aber auch weniger technisch affine Menschen wie Projektleiter einen einfacheren Zugang zu Stimmungsanalysetools erhalten, hat Olsen eine Reihe von Tools in eine gemeinsame graphische Oberfläche vereint. Mit dieser GUI kann man Datensätze mit verschiedenen Tools evaluieren, Interrater Agreement berechnen sowie Instanzen von Tools anhand der Datensätze trainieren.

Da verschiedene Publikationen bereits die schwierige Detektion von Ironie in Sprache und in Texten erwähnt haben, hat Schierholz ein Datensatz unterteilt zwischen Ironie und keine Ironie und anschließend eine Support-Vektor Machine mit dem Datensatz trainiert. 75% der ironischen Aussagen konnten hiermit detektiert werden.

Um die Stimmungsanalyse in Echtzeit umzusetzen, hat Schroth ein Konzept entwickelt, welches eine Echtzeitstimmungsanalyse beinhaltet basierend auf schriftlicher Kommunikation eines Entwicklerteams. Dabei wurde in dem Konzept ein Keylogger verwendet und Nachrichten bereits vor dem Versenden mithilfe lexikonbasierter Sentiment Analysis Tools auf die Stimmung analysiert. Dieses Konzept wurde zudem durch ein Entwicklerteam evaluiert.

Da die Stimmungsanalysetools, welche automatisiert schriftliche Texte auf ihre Stimmung analysieren können, Probleme mit Ironie und Sarkasmus haben und meistens auf subjektiven Daten trainiert wurden, hat Nikollau ein Feedback Dashboard entwickelt, in welchem Teilnehmer eines Meetings selber manuell ihre Stimmung sowie empfundene Emotionen eintragen können. Des Weiteren können sie ihre Meetings speichern und im Anschluss ihre Stimmung mit den Stimmungsdaten der vergangenen Meetings vergleichen. Dieses Tool wurde anschließend von IT-Projekt Managern sowie wissenschaftlichen Mitarbeitern evaluiert.

Die machine learning basierten Stimmungsanalysetools werden mit Datensätzen trainiert, welche meist auf Englisch sind. Um ein deutsches Tool trainieren zu können für die Domäne des Software Engineerings, hat Ochsner einen deutschen Goldstandard Datensatz für die Stimmungsanalyse erstellt. Dieser wurde von 3 verschiedenen Ratern annotiert, basierend auf das Emotionsmodell von Parrott. Zudem wurde der Datensatz mit Sentiment Analysis Tools evaluiert und das Interrater Agreement der Rater analysiert.

 

Projektbezogene Publikationen

Lennart Schroth and Martin Obaidi and Alexander Specht and Jil Klünder. On the Potentials of Realtime Sentiment Analysis on Text-Based Communication in Software Projects. In Human-Centered Software Engineering

(pp. 90-109). 2022.  doi.org/10.1007/978-3-031-14785-2_6

Marc Herrmann and Martin Obaidi and Jil Klünder. SEnti-Analyzer: Joint Sentiment Analysis For Text-Based and Verbal Communication in Software Projects. 2022. doi.org/10.48550/ARXIV.2206.10993

Martin Obaidi and Lukas Nagel and Alexander Specht and Jil Klünder. Sentiment analysis tools in software engineering: A systematic mapping study. In Information and Software Technology.

2022.  doi.org/10.1016/j.infsof.2022.107018

Marc Herrmann and Martin Obaidi and Larissa Chazette and Jil Klünder. On the subjectivity of emotions in software projects: How reliable are pre-labeled data sets for sentiment analysis? In Journal of Systems and Software

. 2022. doi.org/10.1016/j.jss.2022.111448

Marc Herrmann and Jil Klünder. From Textual to Verbal Communication: Towards Applying Sentiment Analysis to a Software Project Meeting. In IEEE 29th International Requirements Engineering Conference Workshops

(pp. 371-376). 2021. doi.org/10.1109/REW53955.2021.00065

Martin Obaidi and Jil Klünder. Development and application of sentimentanalysis tools in software engineering: A systematic literature review. In Evaluation and Assessment in Software Engineering

(pp. 80–89 ). New York, NY, USA: Association for Computing Machinery, 2021. doi.org/10.1145/3463274.3463328

Jil Klünder and Julian Horstmann and Oliver Karras. Identifying the Mood of a Software Development Team by Analyzing Text-Based Communication in Chats with Machine Learning. In Human-Centered Software Engineering

(pp. 133–151). Springer International Publishing, 2020. doi.org/10.1007/978-3-030-64266-2_8

Abgeschlossene Abschlussarbeiten

Raymond Ochsner. Erstellung eines deutschen Datensatzes zur Stimmungsanalyse von Entwickleraussagen., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2022. PDF

Kliti Nikollau. Development of a Mood Feedback Tool for Developers in Meetings., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2022. PDF

Tjelvar Olsen. Entwicklung einer grafischen Benutzeroberfläche zur Analyse von Stimmungen in Entwicklungsteams., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2022. PDF

Elham Salajegheh Tezerji. Automatisierte Analyse und visuelle Aufbereitung der Stimmungslage in Entwicklerteams innerhalb von Softwareprojekten. Master’s thesis., Gottfried Wilhelm Leibniz University of Hannover, Germany, 2022. PDF

Juri Linnemann. Entwicklung einer grafischen Benutzeroberfläche zur Analyse von Stimmung in Softwareprojektmeetings., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2022. PDF

Lennart Schroth. Konzept für eine präventive Stimmungsanalyse von Nachrichten in Software-Entwicklungsteams., Master’s thesis., Gottfried Wilhelm Leibniz University of Hannover, Germany, 2022. PDF  

Marnie Schierholz. Automatisierte Erkennung von Ironie in der Kommunikation in Softwareprojekten., Master’s thesis., Gottfried Wilhelm Leibniz University of Hannover, Germany, 2022. PDF  

Jendrik Martensen.  Analyse von Einflüssen in der Sentimenterkennung von Entwickler., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2022. PDF

Alexander Rakow. Analyse der Verwendung von Ironie in natürlicher Sprache in Softwareprojekten., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2021. PDF

Zena Obeidi. Automatisierte Erkennung von destruktiven Äußerungen in Meetings von Softwareprojekten., Master’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2021. PDF

Alexander Specht. Identifikation von relevanten Metriken zur Analyse von Kommunikation in Entwicklerteams., Master’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2021. PDF

Jacqueline Klose. Stimmungsanalyse in Meetings von studentischen Softwareprojekten aus verschiedenen Blickwinkeln., Master’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2021. PDF

Pia Lehmann. Anwendung von sozialer Netzwerkanalyse auf Meetings in Softwareprojekten., Master’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2021. PDF

David Schiller. Untersuchung von Zusammenhängen zwischen Stimmungen und Interaktionen von Meetings in Softwareprojekten., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2021. PDF

Henrik Holm. Verbesserung der Stimmungsanalyse basierend auf schriftlicher Kommunikation in Entwicklerteams durch Kombination existierender Ansätze., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2021. PDF

Marc Herrmann. Automatische Klassifikation von Aussagen in Meetings von Entwicklungsteams., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2021. PDF

Christian Meyer. Verbesserung von evolutionären Algorithmen zur Klassi kation von schriftlicher Kommunikation in Entwicklungsteams., Bachelor’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2020. PDF

Tobias Powelske. Analyse von Stimmungen in Open-Source-Projekten anhand von text-basierter Kommunikation., Master’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2020. PDF

Julian Horstmann. Computer-gestützte Analyse des Kommunikationsverhaltens in Entwicklerteams unter Berücksichtigung digitaler Medien., Master’s thesis, Gottfried Wilhelm Leibniz University of Hannover, Germany, 2019. PDF