- When: Thursday, March 24, 2022 from 02:00 PM to 03:00 PM
- Speakers: Raffi Khatchadourian
- Location: ZOOM only
- Export to iCal
Abstract:
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 but 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. A full paper on this work will appear in the upcoming main (technical) track of the 2022 International Conference on Mining Software Repositories (MSR '22), co-located with ICSE '22.
Bio:
Raffi Khatchadourian is an Assistant Professor in the Department of Computer Science at Hunter College and a member of the Doctoral Faculty of The Graduate School and University Center’s Ph.D. Program in Computer Science of the City University of New York (CUNY). His research interests lie at the intersection of software engineering, programming languages, and systems, where he investigates how program analysis, automated refactoring, and type theory can ease the burden associated with correctly, efficiently, and securely evolving large and complex software. His research also involves studying the behavior of software developers (empirical software engineering) and how software engineering methodology can improve statistical programs and artificial intelligence. Raffi Khatchadourian has served as a program committee (PC) member for ECOOP, GPCE, ‹Programming›, IEEE SCAM, OOPSLA's Onward!, and ASE's LBR. He has sole-organized the New York Seminar on Programming Languages and Software Engineering (NYPLSE) and co-organized SPLASH, ESEC/FSE, ECOOP, and the Hunter College Cyber Security Summer Camp for female non-CS majors. Raffi is a member of the CUNY Institute of Computer Simulation, Stochastic Modeling, and Optimization (CoSSMO) and leads the PONDER Lab @ CUNY.