elib
DLR-Header
DLR-Logo -> http://www.dlr.de
DLR Portal Home | Imprint | Privacy Policy | Contact | Deutsch
Fontsize: [-] Text [+]

Automatische Generierung von Softwarebeschreibungen aus Source Code

Porcio, Elias (2021) Automatische Generierung von Softwarebeschreibungen aus Source Code. Master's, Hochschule München.

[img] PDF
1MB

Abstract

In dieser Arbeit geht es darum, mithilfe von neuronalen Netzen Readme-Dateien automatisch aus dem Sourcecode von Projekten zu erstellen. Die Readme-Dateien sollen den Zweck des Projekts beschreiben und als Basis für Sourcecode-Retrieval Systeme geeignet sein. Das vereinfacht den Umgang mit undokumentierter Software, insbesondere wenn man mit großen Mengen davon konfrontiert ist. Zur Umsetzung werden zwei verschiedenen Ansätze verfolgt. In beiden werden zunächst die wichtigsten Funktionen des Projekts bestimmt, indem der Call-Graph des Projekts erstellt und die zentralsten Knoten in diesem ermittelt werden. Im sog. Inlining-Ansatz werden die wichtigsten Funktionen ineinander geinlined, sodass eine einzige Funktion entsteht, die das gesamte Projekt repräsentiert. Diese dient anschließend als Input für code2seq - einem neuronalen Netz, das Beschreibungen für einzelne Funktionen erstellen kann. Der so entstandene Text wird dann als Readme verwendet. Im sog. Summary-Ansatz generiert code2seq für die wichtigsten Funktionen zuerst einen Docstring. Die Docstrings werden konkateniert und mithilfe von PEGASUS zu einem Readme zusammengefasst. PEGASUS ist ein neuronales Netz, das auf Textzusammenfassung trainiert ist. In beiden Ansätzen wird ein Fine-Tuning der Netze auf ihre neue Aufgabe durchgeführt. Die Ergebnisse werden bewertet, indem sie mit den originalen Readme-Dateien verglichen werden. Dazu kommen die Metriken ROUGE und BLEU, sowie ein BERT-Modell zur Bewertung semantischer Ähnlichkeit zum Einsatz. Zum Schluss wird die Qualität auch durch eine Umfrage unter Softwareexperten bewertet. Das Generieren von sinnvollen Readme-Dateien gelingt mit beiden Ansätzen in seltenen Fällen. Bei den meisten Projekten fehlt den generierten Beschreibungen ein inhaltlicher Bezug zum tatsächlichen Projekt. Deshalb wäre eine weitere Verbesserung der Ansätze nötig, bevor sie für die genannten Zwecke einsetzbar sind.

Item URL in elib:https://elib.dlr.de/147105/
Document Type:Thesis (Master's)
Title:Automatische Generierung von Softwarebeschreibungen aus Source Code
Authors:
AuthorsInstitution or Email of AuthorsAuthor's ORCID iD
Porcio, EliasUNSPECIFIEDUNSPECIFIED
Date:2021
Refereed publication:No
Open Access:Yes
Gold Open Access:No
In SCOPUS:No
In ISI Web of Science:No
Number of Pages:54
Status:Unpublished
Keywords:Source Code Translation, Natural Language Processing, Neural Networks
Institution:Hochschule München
HGF - Research field:Aeronautics, Space and Transport
HGF - Program:Space
HGF - Program Themes:other
DLR - Research area:Raumfahrt
DLR - Program:R - no assignment
DLR - Research theme (Project):R - no assignment
Location: Köln-Porz
Institutes and Institutions:Institute for Software Technology
Institute for Software Technology > Intelligent and Distributed Systems
Deposited By: Hecking, Tobias
Deposited On:14 Dec 2021 14:23
Last Modified:14 Dec 2021 14:23

Repository Staff Only: item control page

Browse
Search
Help & Contact
Information
electronic library is running on EPrints 3.3.12
Website and database design: Copyright © German Aerospace Center (DLR). All rights reserved.