Open Access. Powered by Scholars. Published by Universities.®
- Discipline
-
- Programming Languages and Compilers (63)
- Artificial Intelligence and Robotics (18)
- Graphics and Human Computer Interfaces (11)
- Engineering (10)
- Computer Engineering (9)
-
- Systems Architecture (6)
- Databases and Information Systems (4)
- Information Security (4)
- Social and Behavioral Sciences (4)
- Theory and Algorithms (4)
- Data Science (3)
- Internet Law (3)
- Law (3)
- Numerical Analysis and Scientific Computing (3)
- Robotics (3)
- Arts and Humanities (2)
- Computer and Systems Architecture (2)
- Data Storage Systems (2)
- Digital Communications and Networking (2)
- Mathematics (2)
- OS and Networks (2)
- Other Computer Sciences (2)
- Public Affairs, Public Policy and Public Administration (2)
- Science and Technology Policy (2)
- Science and Technology Studies (2)
- American Politics (1)
- Applied Linguistics (1)
- Keyword
-
- Refactoring (24)
- Software engineering (17)
- Java (13)
- Java 8 (12)
- Deep learning (10)
-
- Programming languages (9)
- Software evolution (9)
- Default methods (8)
- Imperative programs (8)
- Streams (8)
- Empirical studies (7)
- Software maintenance (7)
- Software tools (7)
- Static analysis (7)
- Automated refactoring (6)
- Typestate analysis (6)
- Aspect-oriented programming (5)
- Machine learning systems (5)
- Software repository mining (5)
- Automatic parallelization (4)
- Enumerated types (4)
- HCI (4)
- Hybrid programming paradigms (4)
- Interfaces (4)
- Aspect-Oriented programming (3)
- Computer science (3)
- Graph execution (3)
- Graphs (3)
- Human Computer Interaction (3)
- Programming (3)
- Publication Year
- Publication
- Publication Type
- File Type
Articles 1 - 30 of 100
Full-Text Articles in Software Engineering
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 …
Software Integration In Personal Healthcare Devices And The Patient User Experience, Yassine Chahid, Patrick Slattery
Software Integration In Personal Healthcare Devices And The Patient User Experience, Yassine Chahid, Patrick Slattery
Publications and Research
This study examines the current landscape and future direction of medical device hardware and software integration, focusing on how each contributes to patient care. It begins by analyzing hardware focused medical devices, such as implantable tools patients may rely on to assist with their condition, alongside diagnostic and monitoring equipment used to treat conditions in a variety of medical areas (e.g. cardiovascular conditions). It then evaluates how software is currently integrated through embedded systems, data processing, and user interfaces that support real time monitoring and clinical decision making, and how this impacts quality of care for the patient whilst minimizing …
An Empirical Framework For Evaluating Semantic Preservation Using Hugging Face, Nan Jia, Anita Raja, Raffi Khatchadourian
An Empirical Framework For Evaluating Semantic Preservation Using Hugging Face, Nan Jia, Anita Raja, Raffi Khatchadourian
Publications and Research
As machine learning (ML) becomes an integral part of high-autonomy systems, it is critical to ensure the trustworthiness of learning-enabled software systems (LESS). Yet, the nondeterministic and run-time-defined semantics of ML complicate traditional software refactoring. We define semantic preservation in LESS as the property that optimizations of intelligent components do not alter the system's overall functional behavior. This paper introduces an empirical framework to evaluate semantic preservation in LESS by mining model evolution data from HuggingFace. We extract commit histories, $\textit{Model Cards}$, and performance metrics from a large number of models. To establish baselines, we conducted case studies in three …
Challenges In Engineering Machine Learning (Software) Systems, Raffi T. Khatchadourian Ph.D.
Challenges In Engineering Machine Learning (Software) Systems, Raffi T. Khatchadourian Ph.D.
Open Educational Resources
Lecture slides on the software engineering challenges unique to machine learning systems, for an undergraduate software engineering course. After contrasting traditional programming with machine learning, the deck examines why the usual tools for managing complexity—abstraction, reuse, and composition—are harder to apply to ML, given the lack of clear specifications and modularity. It covers concept drift, feedback loops (illustrated with crime-prediction and recommendation examples), and the accumulation of technical debt in ML systems, including the role and pitfalls of notebooks in moving from experimentation to production. Based on "Machine Learning in Production/AI Engineering" by Christian Kaestner and Eunsuk Kang (Carnegie Mellon …
Introduction To Machine Learning And Machine Learning Systems, Raffi T. Khatchadourian Ph.D.
Introduction To Machine Learning And Machine Learning Systems, Raffi T. Khatchadourian Ph.D.
Open Educational Resources
Lecture slides introducing machine learning and machine learning systems for an undergraduate software engineering course. Topics include what machine learning is and how it differs from traditional programming, foundation models, the major types of learning (supervised, unsupervised, reinforcement, and others), and applications across domains. Using a food-delivery time-prediction case study, the deck walks through a typical ML pipeline—data collection and cleaning, feature engineering, model training, and evaluation—and covers evaluation methods (precision and recall, confusion matrices, error measures) along with underfitting versus overfitting and the realities of learning and evaluation in production. Based on "Machine Learning in Production/AI Engineering" by Christian …
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 …
Sla Evaluation And Composition In Reconfigurable Cloud-Based Services, Michael Iannelli
Sla Evaluation And Composition In Reconfigurable Cloud-Based Services, Michael Iannelli
Dissertations, Theses, and Capstone Projects
Given the business model of offering data and computing services in a cloud setting, a major question arises: How do the services of one cloud provider compare to those of others? With the ubiquitous use of smartphones and tablets, the ability of a cloud provider to support QoS and client mobility becomes paramount. This research proposes a methodology for evaluating service-level agreements (SLAs) between cloud providers and their consumers, with a particular focus on dynamic SLA composition to adapt to changes in the application requirements and the external environment—such as traffic surges, security threats, or evolving business models.
In one …
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 …
Csc36000 - Modern Distributed Computing Assignment 2, Saptarashmi Bandyopadhyay
Csc36000 - Modern Distributed Computing Assignment 2, Saptarashmi Bandyopadhyay
Open Educational Resources
This assignment is designed to help the student identify and mitigate common errors in Distributed Computing such as race conditions and reaching consensus, as well as reflecting on how Distributed Computing concepts apply to their class project.
Reless: A Framework For Assessing Safety In Deep Learning Systems, Nan Jia, Anita Raja, Raffi T. Khatchadourian
Reless: A Framework For Assessing Safety In Deep Learning Systems, Nan Jia, Anita Raja, Raffi T. Khatchadourian
Publications and Research
Traditionally, software refactoring helps to improve a system's internal structure and enhance its non-functional features, such as reliability and run-time performance, while preserving external behavior including original program semantics. However, in the context of learning-enabled software systems (LESS), e.g., Machine Learning (ML) systems, it is unclear which portions of a software's semantics require preservation at the development phase. This is mainly because (a) the behavior of the LESS is not defined until run-time; and (b) the inherently iterative and non-deterministic nature of ML algorithms. Consequently, there is a knowledge gap in what refactoring truly means in the context of LESS …
Crime Prediction Using Agent-Based Modeling, Yifei Gong
Crime Prediction Using Agent-Based Modeling, Yifei Gong
Dissertations, Theses, and Capstone Projects
Crime risk evaluation and crime prediction using agent-based modeling (ABM) have gained popularity in the field of computational criminology in recent years. Traditionally, researchers rely on statistical methods and machine learning models to predict crimes using historical data. ABM generates macro-level crime patterns in a bottom-up fashion by simulating the daily behaviors of autonomous entities, such as citizens and offenders. ABM takes into consideration the non-linear interactions between agents under complex social contexts. Currently, the comprehensive usage of ABM for criminological theory testing and urban policy evaluations calls for a unified software framework. In this research, we introduce CARESim, an …
Communication Challenges In Underwater Wireless Networks: Mac Protocols And Software Solutions, Dmitrii Dugaev
Communication Challenges In Underwater Wireless Networks: Mac Protocols And Software Solutions, Dmitrii Dugaev
Dissertations, Theses, and Capstone Projects
Underwater wireless networks (UWNs) represent a diverse and intriguing research domain, encompassing a wide array of scientific and industrial applications. This dissertation delves into the communication challenges at the Medium Access Control (MAC) layer within UWNs, stemming from the distinctive signal propagation conditions and the harshness of the deployment environment. The manuscript provides comprehensive coverage of key aspects of UWNs, including potential applications, communication protocols, methodologies employed in such networks, and existing software solutions that facilitate simulation, emulation, and real testbed scenarios for underwater research endeavors. Furthermore, this research introduces innovative software and communication solutions designed to facilitate the seamless …
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 …
Μ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 …
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).
A Tool-Supported Metamodel For Program Bugfix Analysis In Empirical Software Engineering, Manal Zneit
A Tool-Supported Metamodel For Program Bugfix Analysis In Empirical Software Engineering, Manal Zneit
Theses and Dissertations
This thesis describes a software modeling approach aimed at addressing empirical studies in software engineering. We build a metamodel that provides an overview of the taxonomy of program bugfixes in deep learning programs. For modeling purposes, we present a prototype tool that is an implementation of the model-driven techniques presented.
Quertci: A Tool Integrating Github Issue Querying With Comment Classification, Ye Paing, Tatiana Castro Vélez, Raffi Khatchadourian
Quertci: A Tool Integrating Github Issue Querying With Comment Classification, Ye Paing, Tatiana Castro Vélez, Raffi Khatchadourian
Publications and Research
Empirical Software Engineering (ESE) researchers study (open-source) project issues and the comments and threads within to discover—among others—challenges developers face when incorporating new technologies, platforms, and programming language constructs. However, such threads accumulate, becoming unwieldy and hindering any insight researchers may gain. While existing approaches alleviate this burden by classifying issue thread comments, there is a gap between searching popular open-source software repositories (e.g., those on GitHub) for issues containing particular keywords and feeding the results into a classification model. This paper demonstrates a research infrastructure tool called QuerTCI that bridges this gap by integrating the GitHub issue comment search …
Spotlight Report #6: Proffering Machine-Readable Personal Privacy Research Agreements: Pilot Project Findings For Ieee P7012 Wg, Noreen Y. Whysel, Lisa Levasseur
Spotlight Report #6: Proffering Machine-Readable Personal Privacy Research Agreements: Pilot Project Findings For Ieee P7012 Wg, Noreen Y. Whysel, Lisa Levasseur
Publications and Research
What if people had the ability to assert their own legally binding permissions for data collection, use, sharing, and retention by the technologies they use? The IEEE P7012 has been working on an interoperability specification for machine-readable personal privacy terms to support this ability since 2018. The premise behind the work of IEEE P7012 is that people need technology that works on their behalf—i.e. software agents that assert the individual’s permissions and preferences in a machine-readable format.
Thanks to a grant from the IEEE Technical Activities Board Committee on Standards (TAB CoS), we were able to explore the attitudes of …
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 …