Open Access. Powered by Scholars. Published by Universities.®
Programming Languages and Compilers Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Discipline
-
- Software Engineering (63)
- Artificial Intelligence and Robotics (14)
- Social and Behavioral Sciences (5)
- Data Science (4)
- Databases and Information Systems (4)
-
- Graphics and Human Computer Interfaces (4)
- Other Computer Sciences (3)
- Science and Technology Studies (3)
- Statistics and Probability (3)
- Theory and Algorithms (3)
- Communication (2)
- Information Security (2)
- Life Sciences (2)
- Numerical Analysis and Scientific Computing (2)
- Animal Sciences (1)
- Anthropology (1)
- Applied Linguistics (1)
- Applied Statistics (1)
- Art and Design (1)
- Arts and Humanities (1)
- Behavior and Ethology (1)
- Biochemistry, Biophysics, and Structural Biology (1)
- Biophysics (1)
- Climate (1)
- Communication Technology and New Media (1)
- Computational Linguistics (1)
- Computer Engineering (1)
- Keyword
-
- Refactoring (23)
- Java (17)
- Java 8 (12)
- Software engineering (11)
- Deep learning (10)
-
- Imperative programs (9)
- Programming languages (9)
- Default methods (8)
- Static analysis (8)
- Streams (8)
- Automated refactoring (7)
- Empirical studies (7)
- Scala (7)
- Software evolution (7)
- Software maintenance (6)
- Software tools (6)
- Typestate analysis (6)
- Aspect-oriented programming (5)
- Automatic parallelization (4)
- Computer science (4)
- Enumerated types (4)
- Graph execution (4)
- Hybrid programming paradigms (4)
- Interfaces (4)
- Introduction to computer programming (4)
- Programming (4)
- Python (4)
- Aspect-Oriented programming (3)
- Aspect-oriented software (3)
- Concurrency (3)
- Publication Year
- Publication
- Publication Type
- File Type
Articles 1 - 30 of 92
Full-Text Articles in Programming Languages and Compilers
The Security Of Llm-Generated Code, Christopher Brian Gonzalez Ayala
The Security Of Llm-Generated Code, Christopher Brian Gonzalez Ayala
Student Theses
The rapid adoption of Large Language Models (LLMs) in software development has transformed coding practices by enabling automated code generation, completion, and optimization. Despite these advantages, concerns persist regarding the security and reliability of LLM-generated code. This study presents a comprehensive evaluation of both the functional correctness and security of code produced by three prominent LLMs as of early 2026. A total of 4,800 code snippets were generated using 100 security-focused programming prompts derived from the OWASP Top 10:2025, translated across eight natural languages and two phrasing styles (literal and natural developer-oriented prompts). To assess performance, a multi-stage experimental framework …
Llms In Compiler Construction, Raffi Khatchadourian
Llms In Compiler Construction, Raffi Khatchadourian
Open Educational Resources
These lecture slides survey the use of large language models (LLMs) in compiler construction for a graduate compiler course (CSc 81010). They situate LLMs across the compiler pipeline and examine representative work: foundation models trained on LLVM IR and assembly (Meta's LLM Compiler), LLM-driven code optimization, binary decompilation (LLM4Decompile), and LLM-assisted automated refactoring—alongside the challenges of applying probabilistic models to tasks that demand correctness. The slides are a self-contained HTML (W3C Slidy) deck with editable Pandoc Markdown source. Part of a two-session unit on advanced compiler topics; see also "Deep Learning Compilers."
Deep Learning Compilers, Raffi Khatchadourian
Deep Learning Compilers, Raffi Khatchadourian
Open Educational Resources
These lecture slides introduce deep learning compilers for a graduate compiler-construction course (CSc 81010). Building on the classical compiler pipeline, they show how modern machine-learning systems compile tensor programs: static tensor and type analysis (illustrated by a WALA/Ariadne-based refactoring of imperative TensorFlow code to graph mode), MLIR-based end-to-end compilation with IREE, and the PyTorch 2.x stack—TorchDynamo graph capture, AOTAutograd, PrimTorch operator decomposition, and TorchInductor lowering to Triton (GPU) and C++/OpenMP (CPU). The slides are a self-contained HTML (W3C Slidy) deck with editable Pandoc Markdown source. Part of a two-session unit on advanced compiler topics; see also "LLMs in Compiler Construction."
Speculative Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian Ph.D., Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Speculative Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian Ph.D., Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
Efficiency is essential to support ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code---supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged but at the expense of run-time performance. Though hybrid approaches aim for the "best of both worlds," using them effectively requires subtle considerations. Our key insight is that, while DL programs typically execute sequentially, hybridizing imperative DL code resembles parallelizing sequential code in traditional systems. Inspired by this, we …
Speculative Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian Ph.D., Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Speculative Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian Ph.D., Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
Efficiency is essential to support ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code---supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged but at the expense of run-time performance. Though hybrid approaches aim for the "best of both worlds," using them effectively requires subtle considerations. Our key insight is that, while DL programs typically execute sequentially, hybridizing imperative DL code resembles parallelizing sequential code in traditional systems. Inspired by this, we …
Speculative Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi T. Khatchadourian Ph.D., Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Speculative Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi T. Khatchadourian Ph.D., Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
Efficiency is essential to support ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code---supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged but at the expense of run-time performance. Though hybrid approaches aim for the "best of both worlds," using them effectively requires subtle considerations. Our key insight is that, while DL programs typically execute sequentially, hybridizing imperative DL code resembles parallelizing sequential code in traditional systems. Inspired by this, we …
Mat 301 - Applied Statistics And Data Analysis, Eric Aragundi
Mat 301 - Applied Statistics And Data Analysis, Eric Aragundi
Open Educational Resources
Data analysis using standard statistical methods and relevant computer software. Emphasis on real-world data, interpretation, and misinterpretation of computer output.
This syllabus contains open source notebook about data analysis content.
Hybridize Functions: A Tool For Automatically Refactoring Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Hybridize Functions: A Tool For Automatically Refactoring Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
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—supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged but at the expense of run-time performance. Though hybrid approaches aim for the “best of both worlds,” using them effectively requires subtle considerations to make code amenable to safe, accurate, and efficient graph execution—avoiding performance bottlenecks and semantically inequivalent results. We discuss the engineering aspects of a …
Hybridize Functions: A Tool For Automatically Refactoring Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Hybridize Functions: A Tool For Automatically Refactoring Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
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—supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged but at the expense of run-time performance. Though hybrid approaches aim for the “best of both worlds,” using them effectively requires subtle considerations to make code amenable to safe, accurate, and efficient graph execution—avoiding performance bottlenecks and semantically inequivalent results. We discuss the engineering aspects of a …
Hybridize Functions: A Tool For Automatically Refactoring Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Hybridize Functions: A Tool For Automatically Refactoring Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
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—supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged but at the expense of run-time performance. Though hybrid approaches aim for the "best of both worlds," using them effectively requires subtle considerations to make code amenable to safe, accurate, and efficient graph execution—avoiding performance bottlenecks and semantically inequivalent results. We discuss the engineering aspects of a …
Machine Learning: Face Recognition, Mohammed E. Amin
Machine Learning: Face Recognition, Mohammed E. Amin
Publications and Research
This project explores the cutting-edge intersection of machine learning (ML) and face recognition (FR) technology, utilizing the OpenCV library to pioneer innovative applications in real-time security and user interface enhancement. By processing live video feeds, our system encodes visual inputs and employs advanced face recognition algorithms to accurately identify individuals from a database of photos. This integration of machine learning with OpenCV not only showcases the potential for bolstering security systems but also enriches user experiences across various technological platforms. Through a meticulous examination of unique facial features and the application of sophisticated ML algorithms and neural networks, our project …
What Does One Billion Dollars Look Like?: Visualizing Extreme Wealth, William Mahoney Luckman
What Does One Billion Dollars Look Like?: Visualizing Extreme Wealth, William Mahoney Luckman
Dissertations, Theses, and Capstone Projects
The word “billion” is a mathematical abstraction related to “big,” but it is difficult to understand the vast difference in value between one million and one billion; even harder to understand the vast difference in purchasing power between one billion dollars, and the average U.S. yearly income. Perhaps most difficult to conceive of is what that purchasing power and huge mass of capital translates to in terms of power. This project blends design, text, facts, and figures into an interactive narrative website that helps the user better understand their position in relation to extreme wealth: https://whatdoesonebilliondollarslooklike.website/
The site incorporates …
Μakka: Mutation Testing For Actor Concurrency In Akka Using Real-World Bugs, Mohsen Moradi Moghadam, Mehdi Bagherzadeh, Raffi Khatchadourian, Hamid Bagheri
Μakka: Mutation Testing For Actor Concurrency In Akka Using Real-World Bugs, Mohsen Moradi Moghadam, Mehdi Bagherzadeh, Raffi Khatchadourian, Hamid Bagheri
Publications and Research
Actor concurrency is becoming increasingly important in the real-world and mission-critical software. This requires these applications to be free from actor bugs, that occur in the real world, and have tests that are effective in finding these bugs. Mutation testing is a well-established technique that transforms an application to induce its likely bugs and evaluate the effectiveness of its tests in finding these bugs. Mutation testing is available for a broad spectrum of applications and their bugs, ranging from web to mobile to machine learning, and is used at scale in companies like Google and Facebook. However, there still is …
Towards Safe Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Towards Safe Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
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—supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged at the expense of run-time performance. Though hybrid approaches aim for the “best of both worlds,” using them effectively requires subtle considerations to make code amenable to safe, accurate, and efficient graph execution. We present our ongoing work on automated refactoring that assists developers in specifying whether …
Towards Safe Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Towards Safe Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Khatchadourian, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
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—supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged at the expense of run-time performance. Though hybrid approaches aim for the "best of both worlds," using them effectively requires subtle considerations to make code amenable to safe, accurate, and efficient graph execution. We present our ongoing work on automated refactoring that assists developers in specifying whether …
Transformation And Abstraction To Aid Comparison Of Binary Executables Across Compilation Environments, Jeremy D. Seideman
Transformation And Abstraction To Aid Comparison Of Binary Executables Across Compilation Environments, Jeremy D. Seideman
Dissertations, Theses, and Capstone Projects
Binary analysis allows researchers to examine how programs are constructed and how they will impact an underlying system. The various analysis techniques allow the determination of code authorship, reuse, and similarity. Detecting code reuse is significant because code reuse can be a method for vulnerabilities and security issues to spread among software projects. In this work, we examine techniques that can aid in binary analysis, especially those that abstract and transform binaries, so that they can be compared across compilation environments, including possible changes in compiler version, hardware architecture, and compilation options. Historically, this has been difficult to accomplish since …
Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi Khatchadourian
Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Introduction, Raffi Khatchadourian
Working With Control-Flow Graphs, Raffi Khatchadourian
Working With Control-Flow Graphs, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Reengineering And Refactoring, Raffi Khatchadourian
Reengineering And Refactoring, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Building An Ast Eclipse Plug-In, Raffi Khatchadourian
Building An Ast Eclipse Plug-In, Raffi Khatchadourian
Open Educational Resources
Complete the Building an AST Eclipse Plug-in assignment. Once it works, find a medium-sized open-source Java project to run your plugin on. You may want to explore GitHub. Import the project into Eclipse and run your plug-in on it. Report on the following, which may require you to change some of the source code so that it is convenient:
- Project name.
- Project URL.
- Project description.
- The number of classes in the project.
- The number of user-defined methods in the project.
- For each class, the number of method calls.
- Statistics about the method calls:
- The total number of method calls …
Wala Quick Start, Raffi Khatchadourian
Wala Quick Start, Raffi Khatchadourian
Open Educational Resources
Setting up and trying the TJ Watson Library for Analysis (WALA).
Cp6200 Javaprogramming2 Oer - Oop Course Project, Shoshana Marcus
Cp6200 Javaprogramming2 Oer - Oop Course Project, Shoshana Marcus
Open Educational Resources
No abstract provided.
Review Java Basics In 2 Weeks (Slides), Shoshana Marcus
Review Java Basics In 2 Weeks (Slides), Shoshana Marcus
Open Educational Resources
No abstract provided.
Cp6200 Javaprogramming2 Oer - Oop Assignment - Item And Shopping Cart Classes, Shoshana Marcus
Cp6200 Javaprogramming2 Oer - Oop Assignment - Item And Shopping Cart Classes, Shoshana Marcus
Open Educational Resources
No abstract provided.
Cp 6200 Java Programming 2 Syllabus (Oer), Shoshana Marcus
Cp 6200 Java Programming 2 Syllabus (Oer), Shoshana Marcus
Open Educational Resources
No abstract provided.
Methods For Drone Trajectory Analysis Of Bottlenose Dolphins (Tursiops Truncatus), Jillian D. Bliss
Methods For Drone Trajectory Analysis Of Bottlenose Dolphins (Tursiops Truncatus), Jillian D. Bliss
Theses and Dissertations
With the increase in the use of UAS (Unmanned Aerial Systems) for marine mammal research, there is a need for the development of methods of analysis to transform UAS high resolution video into quantitative data. This study sought to develop a preliminary method of analysis that would quantify and present a way to visualize the dynamics and relative spatial distribution and changes in distribution of bottlenose dolphins (Tursiops truncatus) in the waters of Turneffe Atoll, Belize. This approach employs a previously developed video tracking program ‘Keypoint Tracking’ that enables manual tracking of individual dolphins and the creation of …
How Many Mutex Bugs Can A Simple Analysis Find In Go Programs?, Fumi Takeuchi, Hidehiko Masuhara, Raffi Khatchadourian, Youyou Cong, Keisuke Ishibashi
How Many Mutex Bugs Can A Simple Analysis Find In Go Programs?, Fumi Takeuchi, Hidehiko Masuhara, Raffi Khatchadourian, Youyou Cong, Keisuke Ishibashi
Publications and Research
In open-source software, it is known that there are many concurrency bugs. A previous study in Go revealed that a considerable number of such bugs are simple (for example, 9% of the bugs are the ones that forget to unlock a mutex,) through a manual program investigation. This paper tries to detect such bugs by applying a simple analysis to see how far such a tool can match the manual analysis. We built a simple intraprocedural control flow analysis in Go, and evaluated its performance concerning the open source programs with concurrency bugs reported in the previous study. Consequently, as …
Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi Khatchadourian, Mehdi Bagherzadeh, Anita Raja
Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi Khatchadourian, Mehdi Bagherzadeh, Anita Raja
Publications and Research
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 …
Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi Khatchadourian, Mehdi Bagherzadeh, Anita Raja
Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi Khatchadourian, Mehdi Bagherzadeh, Anita Raja
Publications and Research
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 …