Directly to content
  1. Publishing |
  2. Search |
  3. Browse |
  4. Recent items rss |
  5. Open Access |
  6. Jur. Issues |
  7. DeutschClear Cookie - decide language by browser settings

Accelerated Programming for Data Analysis and Processing

Le, Thi Kim Tuyen

[thumbnail of PhD_TuyenLe_APDAP_with_appendix.pdf]
Preview
PDF, English - main document
Download (8MB) | Terms of use

Citation of documents: Please do not cite the URL that is displayed in your browser location input, instead use the DOI, URN or the persistent URL below, as we can guarantee their long-time accessibility.

Abstract

In the past decade, data science has made remarkable progress, evidenced by the proliferation of data-driven strategies, the rapid growth of data science-related jobs, and the expansion of university curricula in this field. Consequently, data strengthens its role as a paramount asset for organizations. Nonetheless, along with great benefits come nontrivial challenges.

Particularly, (1) many domain experts, who are proficient in their respective fields but lack programming skills, face difficulties in learning and utilizing numerous data science tool-kits. In addition, (2) data science practitioners invest substantial effort in adapting implementations when switching between platforms or programming languages. Furthermore, (3) transitioning from "small" to "big" datasets often requires additional work, including the deployment of complex data structures, adoption of new libraries, and potential re-implementation.

This dissertation targets resolving these three issues while expediting scripting for developers. We utilized low-code techniques and Machine Learning (ML)-based approaches to accelerate programming tasks. Additionally, we deployed multiple libraries with domain-specific operations to simplify implementation tasks when transitioning across platforms. Moreover, within these libraries, we standardized Application Programming Interfaces for both sequential and parallel processing, enabling users to seamlessly switch between those two with ease. Accordingly, this doctoral project emphasizes both research contributions and practical applications.

In practical terms, we developed a Visual Studio Code extension called NLDSL to support the development and utilization of Domain Specific Languages (DSLs), particularly for data analysis and processing. This extension simplifies scripting tasks for end-users and developers by harnessing the benefits of natural language-like DSLs. Users can readily reuse customized DSLs through shared DSL templates. Specifically, these DSLs employ unified grammars for both sequential and parallel operations to address scalability concerns. The extension has received positive feedback from the community, underscoring the need for such extension types.

Our research contributions primarily focus on accelerating programming with ML code generation techniques and enriching the above libraries for reproduction via published source code and data. We conceived and evaluated an ensemble of code recommenders, named Extended Network, to illustrate the enhanced accuracy achieved by the ensemble-like architecture. Besides, we deployed a refined evaluation method, CT3, to reveal valuable insights while comparing code completion approaches, a task often hindered by classical aggregated evaluation. Finally, we proposed One-shot Correction, a procedure to integrate user feedback into generative Artificial Intelligence models without explicit re-training, facilitating in-depth analysis of unexpected outcomes. The effectiveness of these methods was demonstrated through our empirical studies.

Translation of abstract (German)

Im vergangenen Jahrzehnt hat die Disziplin Data Science bemerkenswerte Fortschritte gemacht, was sich in der Verbreitung datengetriebener Strategien sowie dem raschen Wachstum von Arbeitsplätzen und der Erweiterung universitärer Lehrpläne in diesem Bereich äußert. Folglich festigt sich die Position von Daten als eines der wichtigsten Güter von Organisationen. Allerdings gehen mit umfangreichem Nutzen auch erhebliche Herausforderungen einher.

Insbesondere (1) werden viele Fachkräfte, die in ihrem jeweiligen Bereich Experten sind, denen aber Programmierkenntnisse fehlen, mit Schwierigkeiten beim Erlernen und Nutzen zahlreicher Data Science Toolkits konfrontiert. Zusätzlich (2) investieren Data Science Anwender substanzielle Anstrengungen in die Adaption von Implementierungen beim Wechsel zwischen Plattformen oder Programmiersprachen. Weiterhin (3) erfordert der Übergang von „kleinen“ zu „großen“ Datensätzen oft zusätzliche Arbeit, inklusive des Einsatzes komplexer Datenstrukturen, der Nutzung neuer Bibliotheken und potentieller Neuimplementierung.

Diese Dissertation zielt darauf ab, diese drei Probleme zu lösen und gleichzeitig das Erstellen von Skripten für Entwickler zu erleichtern. Wir nutzen Low-Code-Techniken und auf Machine Learning (ML) basierende Ansätze, um Programmieraufgaben zu beschleunigen. Des Weiteren haben wir mehrere Bibliotheken mit domänenspezifischen Operationen entwickelt, um Implementierungsaufgaben beim Übergang zwischen Plattformen zu vereinfachen. Innerhalb dieser Bibliotheken haben wir darüber hinaus Programmierschnittstellen sowohl für sequentielle als auch parallele Prozessierung standardisiert, um Nutzern den nahtlosen und einfachen Wechsel zwischen beiden zu ermöglichen. Diese Doktorarbeit fokussiert sich auf Beiträge zur Forschung sowie praktische Anwendungen.

Im praktischen Bereich haben wir eine Visual Studio Code Erweiterung namens NLDSL bereitgestellt, um die Entwicklung und Nutzung von Domain Specific Languages (DSLs), insbesondere für die Datenanalyse und –verarbeitung, zu unterstützen. Diese Erweiterung vereinfacht Skripting-Aufgaben für Endanwender und Entwickler, indem sie die Vorteile von DSLs, die der natürlichen Sprache nahe sind, nutzt. Durch gemeinsam genutzte DSL-Vorlagen können Benutzer angepasste DSLs problemlos wiederverwenden. Insbesondere nutzen diese DSLs vereinheitlichte Grammatiken für sowohl sequentielle als auch parallele Operationen, um Skalierbarkeitsprobleme zu adressieren. Die Erweiterung hat in der Community positive Resonanz erhalten, was die Notwendigkeit solcher Erweiterungen betont.

Unsere Forschungsbeiträge fokussieren sich hauptsächlich auf die Beschleunigung der Programmierung mit ML-Techniken zur Code-Generierung und die Anreicherung der oben genannten Bibliotheken zur Reproduktion über veröffentlichte Quellcodes und Daten. Wir haben ein Ensemble von Code-Empfehlern namens Extended Network konzipiert und evaluiert, um die Verbesserung der Genauigkeit durch die Ensemble-Architektur zu veranschaulichen. Außerdem haben wir eine verfeinerte Evaluierungsmethode, CT3, implementiert, um wertvolle Einblicke beim Vergleich von Ansätzen zur Code-Vervollständigung zu gewinnen, eine durch klassische aggregierte Evaluation oft beeinträchtigte Aufgabe. Abschließend haben wir One-shot Correction eingebracht, ein Verfahren zur Integration von Benutzer-Feedback in generative AI-Modelle ohne explizites Neu-Training, um eine eingehende Analyse unerwarteter Ergebnisse zu ermöglichen. Die Effektivität dieser Methoden wurde durch unsere empirischen Studien demonstriert.

Document type: Dissertation
Supervisor: Andrzejak, Prof. Dr. Artur
Place of Publication: Heidelberg
Date of thesis defense: 22 January 2025
Date Deposited: 27 Jan 2025 08:16
Date: 2025
Faculties / Institutes: The Faculty of Mathematics and Computer Science > Department of Computer Science
DDC-classification: 004 Data processing Computer science
About | FAQ | Contact | Imprint |
OA-LogoDINI certificate 2013Logo der Open-Archives-Initiative