Posts by Collection

portfolio

publications

Challenges in migrating imperative Deep Learning programs to graph execution: An empirical study.

Published in 2022 International Conference on Mining Software Repositories (MSR), 2022

We conduct a data-driven analysis of challenges—and resultant bugs—involved in writing reliable yet performant imperative DL code by studying 250 open-source projects, consisting of 19.7 MLOC, along with 470 and 446 manually examined code patches and bug reports, respectively.

Citation: Tatiana Castro Vélez, Raffi Khatchadourian, Mehdi Bagherzadeh, and Anita Raja. Challenges in migrating imperative Deep Learning programs to graph execution: An empirical study. In International Conference on Mining Software Repositories, MSR ’22, pages 469–481, New York, NY, USA, May 2022. IEEE/ACM, ACM. (45/138; 32.6% acceptance rate).
Download Paper | Download Slides

Towards safe automated refactoring of imperative Deep Learning programs to graph execution.

Published in NIER track of the IEEE/ACM International Conference on Automated Software Engineering (ASE), 2023

We present our ongoing work on automated refactoring that assists developers in specifying whether and how their otherwise eagerly-executed imperative DL code could be reliably and efficiently executed as graphs while preserving semantics.

Citation: Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, and Anita Raja. Towards safe automated refactoring of imperative Deep Learning programs to graph execution. In International Conference on Automated Software Engineering, ASE ’23, pages 1800–1802. IEEE, September 2023. NIER track. (25/70; 35.7% acceptance rate).
Download Paper | Download Slides

Hybridize Functions: A tool for automatically refactoring imperative Deep Learning programs to graph execution.

Published in Artur Boronat and Gordon Fraser, editors, Fundamental Approaches to Software Engineering (FASE), 2025

We discuss the engineering aspects of a refactoring tool that automatically determines when it is safe and potentially advantageous to migrate imperative DL code to graph execution and vice-versa.

Citation: Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, and Anita Raja. Hybridize Functions: A tool for automatically refactoring imperative Deep Learning programs to graph execution. In Artur Boronat and Gordon Fraser, editors, Fundamental Approaches to Software Engineering, FASE ’25, pages 89–100, Cham, May 2025. ETAPS, Springer Nature Switzerland. (11/31; 35% acceptance rate). EAPLS Distinguished Paper Award.
Download Paper | Download Slides

Towards Automated Evolution of Imperative Deep Learning Programs

Published in PhD thesis, City University of New York (CUNY) Graduate Center, 365 5th Ave, New York, NY 10016, 2025

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.

Citation: Tatiana Castro Vélez. Towards Automated Evolution of Imperative Deep Learning Programs. PhD thesis, City University of New York (CUNY) Graduate Center, 365 5th Ave, New York, NY 10016, September 2025.
Download Paper

Speculative automated refactoring of imperative Deep Learning programs to graph execution

Published in 40th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2025

We present an automated refactoring approach that assists developers in determining which otherwise eagerly-executed imperative DL functions could be effectively and efficiently executed as graphs.

Citation: Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, and Anita Raja. Speculative automated refactoring of imperative Deep Learning programs to graph execution. In International Conference on Automated Software Engineering, ASE ’25. IEEE/ACM, IEEE, November 2025. (245/1190; 20.6% acceptance rate). To appear.
Download Paper

talks

Challenges in Migrating Imperative Deep Learning Programs to Graph Execution: An Empirical Study

Published:

(Presentation 1 hr 20 min): Efficiency is essential to support responsiveness w.r.t. ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code that supports symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development tends to produce DL code that is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, less error-prone imperative DL frameworks encouraging eager execution have emerged at the expense of run-time performance. While hybrid approaches aim for the “best of both worlds,” the challenges in applying them in the real world are largely unknown. We conduct a data-driven analysis of challenges—and resultant bugs—involved in writing reliable yet performant imperative DL code by studying 250 open-source projects, consisting of 19.7 MLOC, along with 470 and 446 manually examined code patches and bug reports, respectively. The results indicate that hybridization: (i) is prone to API misuse, (ii) can result in performance degradation—the opposite of its intention, and (iii) has limited application due to execution mode incompatibility. We put forth several recommendations, best practices, and anti-patterns for effectively hybridizing imperative DL code, potentially benefiting DL practitioners, API designers, tool developers, and educators

Analyses and Safe Transformations for Imperative Deep Learning Programs

Published:

(Presentation 1 hr 20 min): To increase the quality and maintainability of software systems, significant research is being done in the fields of program analysis, transformation, and automatic refactoring. Combining these can help programmers create software that is simpler to maintain and adapt over time while also reducing the risk of bugs and errors. In particular, the application of program analysis, transformation, and automatic refactoring has significant potential in developing large industrial deep learning (DL) software systems that utilize imperative-style programming. Utilizing these techniques can facilitate such systems’ robustness and automated evolution and maintenance.

teaching

Data Structures CCOM 3034, Fall 2024

Undergraduate course, University of Puerto Rico, Río Piedras Campus, Department of Computer Science, 2024

Assistant Professor. ~30 students enrolled.