Dissertations, Theses, and Capstone Projects
Date of Degree
9-2025
Document Type
Doctoral Dissertation
Degree Name
Doctor of Philosophy
Program
Computer Science
Advisor
Raffi Khatchadourian
Committee Members
Subash Shankar
Anita Raja
Carlos Corrada
Subject Categories
Computer Sciences
Keywords
software engineering, software evolution, source code analysis, automated refactoring, empirical studies
Abstract
Software engineering (SE) is increasingly intersecting with data-centric domains such as machine learning (ML) and deep learning (DL). Similar to bugs in traditional software systems, defects can emerge in ML and DL systems. ML, including DL, systems are now widespread and rely on dynamic models defined by input data. Developers face the challenge of building dependable systems while addressing the demand for scalable software.
Efficiency is essential to support responsiveness with respect to ever-growing datasets. Traditional DL frameworks achieve scalability through deferred execution, enabling symbolic, graph-based deep neural network (DNN) computation. While efficient, this approach is error-prone, cumbersome, and difficult to debug. In contrast, imperative DL frameworks that encourage eager execution offer a more intuitive, and less error-prone development experience, but sacrifice scalability and efficiency.
Hybrid approaches, now integrated into mainstream DL frameworks, aim to balance this tradeoff by executing imperative DL programs as static graphs at run-time. However, these approaches require complex metadata and face limitations with native program constructs. Ensuring safe, accurate, and efficient graph execution demands careful consideration to avoid performance bottlenecks and maintain semantic correctness.
This dissertation addresses a significant knowledge gap in understanding the practical application of hybridization in real-world DL systems. Without these insights, DL systems risk inefficiency, fragility, and high maintenance costs. This work presents an in-depth analysis of hybridization, focusing on its challenges, evolution, and usage patterns, and offers actionable recommendations, best practices, and anti-patterns for developers. Additionally, I develop an automated refactoring tool to analyze DL program source code, assess the suitability of hybridization, and optimize its application.
Recommended Citation
Castro-Vélez, Tatiana, "Towards Automated Evolution of Imperative Deep Learning Programs" (2025). CUNY Academic Works.
https://academicworks.cuny.edu/gc_etds/6444