paint-brush
Konvertieren von Epics/Stories in Pseudocode mithilfe von Transformernvon@userstory
Neue Geschichte

Konvertieren von Epics/Stories in Pseudocode mithilfe von Transformern

von UserStory4m2024/07/07
Read on Terminal Reader

Zu lang; Lesen

Diese Forschung stellt eine zweistufige Methodik vor, die Natural Language Processing verwendet, um Agile User Stories in Pseudocode umzuwandeln und so den Softwareentwicklungsprozess zu optimieren.
featured image - Konvertieren von Epics/Stories in Pseudocode mithilfe von Transformern
UserStory HackerNoon profile picture
0-item

Autoren:

(1) Gaurav Kolhatkar, SCTR's Pune Institute of Computer Technology, Pune, Indien ([email protected]);

(2) Akshit Madan, SCTR's Pune Institute of Computer Technology, Pune, Indien ([email protected]);

(3) Nidhi Kowtal, SCTR's Pune Institute of Computer Technology, Pune, Indien ([email protected]);

(4) Satyajit Roy, SCTR's Pune Institute of Computer Technology, Pune, Indien ([email protected]).

Linktabelle

Zusammenfassung und Einleitung

Literaturübersicht

Methodik

Leistungsanalyse

Schlussfolgerung und Referenzen


Zusammenfassung – Die Konvertierung von User Epics oder Stories in ihre entsprechende Darstellung in Pseudocode oder Code ist eine zeitaufwändige Aufgabe, die einen großen Teil der Zeit in einem Industrieprojekt in Anspruch nehmen kann. Mit dieser Forschungsarbeit möchten wir eine Methode vorstellen, mit der aus einer gegebenen agilen User Story mit kleinen Funktionalitäten Pseudocode generiert werden kann, um die Gesamtzeit für das Industrieprojekt zu reduzieren. Pseudocode ist eine programmiersprachenunabhängige Darstellung der Schritte eines Computerprogramms, die leicht in jede Programmiersprache konvertiert werden kann. Wir möchten das Potenzial der Verarbeitung natürlicher Sprache nutzen, um den Entwicklungsprozess in Organisationen zu vereinfachen, die das Agile-Modell der Softwareentwicklung verwenden. Wir stellen eine Methode vor, mit der ein in englischer Sprache beschriebenes Problem in Pseudocode konvertiert werden kann. Diese Methode unterteilt die Konvertierungsaufgabe von Text in Pseudocode in zwei Phasen oder Unteraufgaben, von denen jede wie eine einzelne maschinelle Übersetzungsaufgabe behandelt wird. Phase 1 ist die Konvertierung von Text in Code und Phase 2 die Konvertierung von Code in Pseudocode. Wir stellen fest, dass das CodeT5-Modell die besten Ergebnisse in Bezug auf den BLEU-Score liefert, wenn es separat für die beiden oben genannten Unteraufgaben trainiert wird. Der BLEU-Score ist eine Metrik, mit der die Ähnlichkeit zwischen einem maschinell übersetzten Text und einer Reihe von Referenzübersetzungen gemessen wird.


Indexbegriffe – Generierung von Text zu Code, Generierung von Code zu Pseudocode, Transformatoren

EINFÜHRUNG

Arbeitseffizienz ist in modernen Organisationen und Unternehmen von höchster Bedeutung. Die meisten Arbeitsplätze verwenden heute das Agile-Modell für die Softwareentwicklung. Agile ist ein Softwareentwicklungsansatz, der auf iterativer Entwicklung basiert, wobei Aufgaben in kleinere Iterationen oder Sprints unterteilt werden. In Agile werden Projektmanagementtools wie Jira verwendet, um die Benutzeranforderungen in Form von Epics oder User Stories zu dokumentieren. Entwickler müssen diese Anforderungen verstehen und Code dafür schreiben. Durch die Automatisierung des Prozesses der Code-/Pseudocode-Generierung kann jedoch eine erhebliche Menge an Entwicklungszeit und -aufwand eingespart werden, insbesondere bei einfachen oder sich wiederholenden Problemen, die bereits zuvor gelöst wurden. Die Motivation unseres Forschungspapiers besteht darin, die Arbeit der Entwickler zu vereinfachen, damit sie sich auf komplexere Aufgaben konzentrieren und dabei den Softwareentwicklungslebenszyklus optimieren können.


Jira ist eine Softwareanwendung für die Problemverfolgung und das Projektmanagement. Sie wird häufig von agilen Entwicklungsteams verwendet, um Fehler, Stories, Epics und andere Aufgaben zu verfolgen. Epics sind große Arbeitspakete, die in eine Reihe kleinerer Aufgaben (sogenannte Stories) unterteilt werden können. Stories, auch „User Stories“ genannt, sind kurze Anforderungen oder Anfragen, die aus der Perspektive eines Endbenutzers geschrieben werden. Unser Ziel ist es, Epics/Stories in Pseudocode umzuwandeln.


Trotz der Vorteile des Agile-Modells kann die Entwicklung von Software immer noch ein schwieriger und langwieriger Prozess sein, insbesondere wenn es darum geht, Benutzeranforderungen in funktionalen Code zu übersetzen. Entwickler übersetzen im Rahmen dieses Prozesses häufig Benutzer-Epics oder -Storys manuell in Code, was viel Zeit und Arbeit in Anspruch nehmen kann.


Unsere Studie untersucht das Potenzial der Nutzung von Methoden des maschinellen Lernens und der Verarbeitung natürlicher Sprache zur Automatisierung des Prozesses der Generierung von Code und Pseudocode aus User Stories, um dieses Problem zu lösen. Auf diese Weise hoffen wir, die Aufgaben der Entwickler zu rationalisieren, den Lebenszyklus der Softwareentwicklung zu verbessern und die Effektivität des gesamten Industrieprojekts zu steigern.


Jüngste Fortschritte im Bereich der Verarbeitung natürlicher Sprache haben es möglich gemacht, eine Vielzahl von früher manuellen Vorgängen zu automatisieren. Insbesondere die jüngsten Entwicklungen im Bereich Deep Learning haben es möglich gemacht, ausgefeilte Modelle natürlicher Sprache zu erstellen, die Kontext und Bedeutung aus Texteingaben extrahieren können. Durch die Verwendung dieser Modelle können wir schnell und effizient Code oder Pseudocode aus User Stories erstellen und so den Druck auf die Entwickler verringern.


Unsere Studie untersucht eine Vielzahl derzeit verwendeter Methoden, darunter regelbasierte Systeme, statistische Modelle und Deep-Learning-Techniken, um Code oder Pseudocode aus User Stories zu erstellen. Wir bewerten die Vor- und Nachteile jeder Methode und schlagen eine neue Strategie vor, die ihre Vorteile optimal nutzt.


Insgesamt zielt unser Forschungsbericht darauf ab, die Softwareentwicklung effizienter und effektiver zu gestalten, indem wir den Prozess der Code-/Pseudocode-Generierung aus User Stories automatisieren. Dadurch wollen wir Entwicklern mehr Freiraum geben, damit sie sich auf komplexere Aufgaben konzentrieren können, das Fehlerrisiko verringern und den Benutzern letztendlich bessere Softwareprodukte liefern können.