<div class="csl-bib-body">
<div class="csl-entry">Olschnögger, A. (2025). <i>An Exploratory Study of Ad Hoc Parsers in Python</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2025.110265</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2025.110265
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/216537
-
dc.description
Arbeit an der Bibliothek noch nicht eingelangt - Daten nicht geprüft
-
dc.description
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers
-
dc.description.abstract
Ad hoc Parsing bezeichnet das Verarbeiten von Strings, ohne dass formale Parsing-Regeln vefolgt werden. Ad hoc Parser treten als Codeabschnitte in vielen Stellen im Code auf und werden oft spontan geschrieben. Esentielle Bestandteile sind String-Manipulationsfunktionen wie split oder replace. Diese Arbeit ist eine explorative Studie in Python, welche das Vorkommen, Charakteristiken und Implementierungmuster von ad hoc Parsern untersucht.Wir entwickelten eine Methode um mit der Nutzung des Frameworks Boa aus einem Datenset mit 1,710 Python Projekten auf Git Hub string Variablen zu erkennen und ausgehend von diesen Variablen ad hoc Parser Codestücke zu generieren. So war es uns möglich ein Datenset bereit zustellen, dass 34,925 ad hoc Parser beinhaltet.Unsere Auswertung zeigt, dass in 75% aller Projekte ad hoc Parsing verwendet wird.Unsere wichtigsten Ergebnise sind: 1. Ad hoc Parser sind typischerweise kompakt (Mediangröße von 4 Zeilen) und treten über die ganze Methode verteilt auf; 2. Funktionen zur Bearbeitung von strings wie split und replace, sowie Typkonvertierungen sind vorherrschend; 3. 11% der ad hoc Parser verwenden reguläre Ausdrücke. Diese werden hauptsächlich im hinteren Teil des Parsers zur abschließenden Verarbeitung verwendet; 4. Fehlerbehandlungen werden in ad hoc Parsern kaum behandelt. 80% der Parser, die potentiell Fehler werfen könnten, sind ohne Fehlerbehandlung; und 5. Schleifen in ad hoc Parsern weisen überwiegend eine flache Verschachtelung und lineare Grenzen auf.Diese Arbeit stellt einen umfangreichen Datensatz an ad hoc Parsern in Python zur Verfügung und bietet Einblicke in ihre syntaktischen Charakteristiken und Muster. Die Erkentnisse der Arbeit dienen der Entwicklung statischer Analysewerkzeuge, Parsergeneratoren, und weitergehender Forschung in diesem Bereich.
de
dc.description.abstract
Ad hoc parsing is the processing of strings without following formal parsing rules. Ad hoc parsers occur as code snippets in various places of source code and are typically written on the fly. Characteristic features of ad hoc parsers are string manipulating functionslike split or replace. This thesis is an exploratory study investigating prevalence,characteristics, and implementation patterns of ad hoc parsers in Python.We create a method to extract ad hoc parser code snippets out of source code. Utilizing the Boa framework, we analyze a dataset of 1,710 Python projects on Git Hub andgenerate a dataset containing 34,925 ad hoc parsers.Our results show that 75% of all projects contained ad hoc parsing. The most important findings are: 1. Ad hoc parsers are typically compact, with a median line of code of4, and are found everywhere in code. 2. String transforming functions like split and replace, as well as type conversion are dominant in ad hoc parsers. 3. 11% of ad hoc parsers use regular expressions. Regular expressions are predominantly located in the latter section of an ad hoc parser for final processing. 4. The majority of ad hoc parsers do not contain exception handling. 80% of ad hoc parsers, which potentially throw errors,have no local exception handling. 5. Ad hoc parsers show mainly a narrow nesting and linear bounds.In this work, we present an extensive dataset containing ad hoc parsers in Python and provide insights into syntactic characteristics and patterns of ad hoc parsers. The results of this work serve the development of static analysis tools, parser generators, and futureresearch in this field.
en
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
ad hoc parsing
en
dc.subject
program slicing
en
dc.subject
mixed-method empirical study
en
dc.title
An Exploratory Study of Ad Hoc Parsers in Python
en
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.rights.license
In Copyright
en
dc.rights.license
Urheberrechtsschutz
de
dc.identifier.doi
10.34726/hss.2025.110265
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Andreas Olschnögger
-
dc.publisher.place
Wien
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
dc.contributor.assistant
Schröder, Michael
-
tuw.publication.orgunit
E194 - Institut für Information Systems Engineering