LASSO – an observatorium for the dynamic selection, analysis and comparison of software


Kessel, Marcus


[img] PDF
dissertation_mkessel.pdf - Veröffentlichte Version

Download (4MB)

URN: urn:nbn:de:bsz:180-madoc-641077
Dokumenttyp: Dissertation
Erscheinungsjahr: 2023
Ort der Veröffentlichung: Mannheim
Hochschule: Universität Mannheim
Gutachter: Atkinson, Colin
Datum der mündl. Prüfung: 16 Februar 2023
Sprache der Veröffentlichung: Englisch
Einrichtung: Fakultät für Wirtschaftsinformatik und Wirtschaftsmathematik > Software Engineering (Atkinson 2003-)
Fachgebiet: 004 Informatik
Fachklassifikation: CCS: Software and its engineering,
Freie Schlagwörter (Englisch): software testing , behaviour , observation , program-analysis , dynamic-analysis , static-analysis , mining-software-repositories , experimentation , study , measurement , metric , stimulus , response , code-search , data-driven , large-scale , analytics
Abstract: Mining software repositories at the scale of 'big code' (i.e., big data) is a challenging activity. As well as finding a suitable software corpus and making it programmatically accessible through an index or database, researchers and practitioners have to establish an efficient analysis infrastructure and precisely define the metrics and data extraction approaches to be applied. Moreover, for analysis results to be generalisable, these tasks have to be applied at a large enough scale to have statistical significance, and if they are to be repeatable, the artefacts need to be carefully maintained and curated over time. Today, however, a lot of this work is still performed by human beings on a case-by-case basis, with the level of effort involved often having a significant negative impact on the generalisability and repeatability of studies, and thus on their overall scientific value. The general purpose, 'code mining' repositories and infrastructures that have emerged in recent years represent a significant step forward because they automate many software mining tasks at an ultra-large scale and allow researchers and practitioners to focus on defining the questions they would like to explore at an abstract level. However, they are currently limited to static analysis and data extraction techniques, and thus cannot support (i.e., help automate) any studies which involve the execution of software systems. This includes experimental validations of techniques and tools that hypothesise about the behaviour (i.e., semantics) of software, or data analysis and extraction techniques that aim to measure dynamic properties of software. In this thesis a platform called LASSO (Large-Scale Software Observatorium) is introduced that overcomes this limitation by automating the collection of dynamic (i.e., execution-based) information about software alongside static information. It features a single, ultra-large scale corpus of executable software systems created by amalgamating existing Open Source software repositories and a dedicated DSL for defining abstract selection and analysis pipelines. Its key innovations are integrated capabilities for searching for selecting software systems based on their exhibited behaviour and an 'arena' that allows their responses to software tests to be compared in a purely data-driven way. We call the platform a 'software observatorium' since it is a place where the behaviour of large numbers of software systems can be observed, analysed and compared.
Übersetzung des Abstracts: Das Mining von Software Repositorien in der Größenordnung von "Big Code" (d.h. Big Data) stellt eine immense Herausforderung dar. Wissenschaftler und Praktiker müssen nicht nur passende Software Korpora erstellen, die über Datenbanken zugänglich sein müssen, sondern es ist auch ihre Aufgabe eine effiziente Analyseinfrastruktur zu entwickeln die es ermöglicht Metriken präzise zu definieren und Techniken zur Extraktion anzuwenden. Um Ergebnisse von Analysen verallgemeinern zu können, müssen Mining Aufgaben skalierbar sein um statistische Signifikanz zu erzielen. Aus den Korpora verwendete Artefakte sollten aktuell gehalten werden, sodass die Analyse Ergebnisse wiederholt werden können. Heutzutage werden diese Aufgaben meist immer noch von Menschen manuell durchgeführt was zur Folge hat, dass die Generalisierbarkeit von Ergebnissen und die Replikation von Studien eingeschränkt sind, wodurch diese an wissenschaftlichem Wert verlieren. In den letzten Jahren wurden allgemeine Korpora und Infrastrukturen zum "Code Mining" vorgestellt welche einen erheblichen Fortschritt darstellen da sie viele der verbundenen Mining Aufgaben in der gewünschten Größenordnung skalieren können. Wissenschaftler und Praktiker sind nun gezielt in der Lage Fragen über "Big Code" zu stellen und diese auf einer abstrakten Ebene zu erforschen. Dennoch sind die Ansätze limitiert, da sie derzeit ausschließlich statische Analysen und Extraktionstechniken bereitstellen. Studien die die Ausführung von Software Systemen voraussetzen werden daher nicht unterstützt und können somit nicht automatisiert werden. Diese umfassen experimentelle Validierungen von Techniken und Werkzeugen welche das Verhalten (d.h. die Semantik) von Software nutzen, oder Datenanalysen und Extraktionstechniken welche zum Ziel haben dynamische Eigenschaften von Software zu messen. In dieser Arbeit wird die Plattform LASSO ("Large-Scale Software Observatorium") vorgestellt, welche die genannten Einschränkungen durch die Sammlung von dynamischen, ausführungsbasierten Informationen beseitigt, sowie die Sammlung von statischen Informationen ermöglicht. Sie bietet einen einzelnen, skalierbaren Korpus von ausführbaren Software Systemen der Open Source Repositorien integriert, und eine dedizierte DSL um Selektions- und Analyse Prozesse definieren zu können. Die Schlüsselinnovationen bestehen aus der Fähigkeit Systeme anhand ihres tatsächlichen Verhaltens auswählen zu können, und einer "Arena" welche es erlaubt die Reaktionen von Systemen auf Testfälle zu beobachten und diese datengetrieben vergleichen zu können. Wir nennen diese Plattform daher ein "Software Observatorium", da diese einen Ort darstellt in der das Verhalten einer Vielzahl von Systemen beobachtet und verglichen werden kann. (Deutsch)




Dieser Eintrag ist Teil der Universitätsbibliographie.

Das Dokument wird vom Publikationsserver der Universitätsbibliothek Mannheim bereitgestellt.




Metadaten-Export


Zitation


+ Suche Autoren in

+ Download-Statistik

Downloads im letzten Jahr

Detaillierte Angaben



Sie haben einen Fehler gefunden? Teilen Sie uns Ihren Korrekturwunsch bitte hier mit: E-Mail


Actions (login required)

Eintrag anzeigen Eintrag anzeigen