Open Access. Powered by Scholars. Published by Universities.®
Programming Languages and Compilers Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Discipline
- Keyword
-
- Scala (7)
- Programming languages (4)
- Software engineering (4)
- Compiler construction (2)
- Empirical studies (2)
-
- Machine learning systems (2)
- AST (1)
- Automated refactoring (1)
- CS0 (1)
- CS04ALL (1)
- Code generation (1)
- Code optimization (1)
- Collections (1)
- Computational literacy (1)
- Computational thinking (1)
- Computer science (1)
- Control-flow graphs (1)
- Decompilation (1)
- Deep learning compilers (1)
- Eclipse (1)
- Functional programming (1)
- Graph capture (1)
- IREE (1)
- Inheritance (1)
- Java 8 (1)
- K-12 (1)
- LLM (1)
- LLM4Decompile (1)
- LLVM IR (1)
- Large language models (1)
- Publication
- Publication Type
Articles 1 - 18 of 18
Full-Text Articles in Programming Languages and Compilers
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."
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.
Working With Control-Flow Graphs, Raffi Khatchadourian
Working With Control-Flow Graphs, 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).
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 5, Raffi Khatchadourian
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 5, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Collections In Scala, Raffi Khatchadourian
Collections In Scala, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 4, Raffi Khatchadourian
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 4, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 3, Raffi Khatchadourian
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 3, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Csci 49380/79526: Fundamentals Of Reactive Programming- Assignment 1, Raffi Khatchadourian
Csci 49380/79526: Fundamentals Of Reactive Programming- Assignment 1, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Csci 49380/79526: Fundamentals Of Reactive Programming- Syllabus, Raffi Khatchadourian
Csci 49380/79526: Fundamentals Of Reactive Programming- Syllabus, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 2, Raffi Khatchadourian
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 2, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Inheritance Details In Scala, Raffi Khatchadourian
Inheritance Details In Scala, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja
An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja
Publications and Research
Machine Learning (ML), including Deep Learning (DL), systems, i.e., those with ML capabilities, are pervasive in today's data-driven society. Such systems are complex; they are comprised of ML models and many subsystems that support learning processes. As with other complex systems, ML systems are prone to classic technical debt issues, especially when such systems are long-lived, but they also exhibit debt specific to these systems. Unfortunately, there is a gap of knowledge in how ML systems actually evolve and are maintained. In this paper, we fill this gap by studying refactorings, i.e., source-to-source semantics-preserving program transformations, performed in real-world, open-source …
An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray
An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray
Publications and Research
Streaming APIs allow for big data processing of native data structures by providing MapReduce-like operations over these structures. However, unlike traditional big data systems, these data structures typically reside in shared memory accessed by multiple cores. Although popular, this emerging hybrid paradigm opens the door to possibly detrimental behavior, such as thread contention and bugs related to non-execution and non-determinism. This study explores the use and misuse of a popular streaming API, namely, Java 8 Streams. The focus is on how developers decide whether or not to run these operations sequentially or in parallel and bugs both specific and tangential …
Cs04all: List Comprehensions, Hunter R. Johnson
Cs04all: List Comprehensions, Hunter R. Johnson
Open Educational Resources
List Comprehensions
This is a tutorial on list comprehensions in Python, suitable for use in an Intro or CS0 course. We also briefly mention set comprehensions and dictionary comprehensions.
https://cocalc.com/share/bde99afd-76c8-493d-9608-db9019bcd346/171/list_comprehensions?viewer=share/
This OER material was produced as a result of the CS04ALL CUNY OER project
Computational Thinking And Literacy, Sharin Rawhiya Jacob, Mark Warschauer
Computational Thinking And Literacy, Sharin Rawhiya Jacob, Mark Warschauer
Journal of Computer Science Integration
Today’s students will enter a workforce that is powerfully shaped by computing. To be successful in a changing economy, students must learn to think algorithmically and computationally, to solve problems with varying levels of abstraction. These computational thinking skills have become so integrated into social function as to represent fundamental literacies. However, computer science has not been widely taught in K-12 schools. Efforts to create computer science standards and frameworks have yet to make their way into mandated course requirements. Despite a plethora of research on digital literacies, research on the role of computational thinking in the literature is sparse. …