Open Access. Powered by Scholars. Published by Universities.®

Computer Sciences Commons

Open Access. Powered by Scholars. Published by Universities.®

Software engineering

Discipline
Institution
Publication Year
Publication
Publication Type
File Type

Articles 1 - 30 of 252

Full-Text Articles in Computer Sciences

A Dataset Of Agentic Ai Coding Tool Configurations, Matthias Galster, Seyedmoein Mohsenimofidi, Levi Böhme, Jai Lal Lulla, Muhammad Auwal Abubakar, Christoph Treude, Sebastian Baltes Jul 2026

A Dataset Of Agentic Ai Coding Tool Configurations, Matthias Galster, Seyedmoein Mohsenimofidi, Levi Böhme, Jai Lal Lulla, Muhammad Auwal Abubakar, Christoph Treude, Sebastian Baltes

Research Collection School Of Computing and Information Systems

Agentic AI coding tools such as Claude Code and OpenAI Codex execute multi-step coding tasks with limited human oversight. To steer these tools, developers create repository-level configuration artifacts (e.g., Markdown files) for configuration mechanisms such as Context Files, Skills, Rules, and Hooks. There is no curated dataset yet that captures these configurations at scale. This dataset, collected from open-source GitHub repositories, fills that gap. We selected 40,585 actively maintained repositories through metadata filtering, classified them using GPT-5.2 to identify 36,710 as belonging to engineered software projects, and systematically detected configuration artifacts in these repositories. The dataset covers 4,738 repositories across …


Smart Atm, Majid Hakeem Jul 2026

Smart Atm, Majid Hakeem

Systems Manuals - 2026

The Smart ATM is a new system that goal is to create a new experience for ATMs users by creating a different way of using the ATM. It would protect users from germs and bacteria. Instead of using buttons and touch screens, the main input for this system will be the motion sensor. To specify, the system uses Microsoft Kinect, which is the motion sensor for the Xbox One.

This document is a user guide, which is intended to give assistance to users for using the Smart ATM. This document contains an application overview, list of user requirements, the design …


Configuring Agentic Ai Coding Tools: An Exploratory Study, Matthias Galster, Seyedmoein Mohsenimofidi, Jai Lal Lulla, Muhammad Auwal Abubakar, Christoph Treude, Sebastian Baltes Jul 2026

Configuring Agentic Ai Coding Tools: An Exploratory Study, Matthias Galster, Seyedmoein Mohsenimofidi, Jai Lal Lulla, Muhammad Auwal Abubakar, Christoph Treude, Sebastian Baltes

Research Collection School Of Computing and Information Systems

Agentic AI coding tools increasingly automate software development tasks. Developers can configure these tools through versioned repository-level artifacts such as Markdown and JSON files. We present a systematic analysis of configuration mechanisms for agentic AI coding tools, covering Claude Code, GitHub Copilot, Cursor, Gemini, and Codex. We identify eight configuration mechanisms spanning from static context to executable and external integrations and, in an empirical study of 2,853 GitHub repositories, examine whether and how they are adopted, with a detailed analysis of Context Files, Skills, and Subagents. First, Context Files dominate the configuration landscape and are often the sole mechanism in …


Umm (Ultimate Memory Manager): A Note–Taking App Built From Scratch, Caleb M. Early Apr 2026

Umm (Ultimate Memory Manager): A Note–Taking App Built From Scratch, Caleb M. Early

ASPIRE 2026

For my honors project, I’m building UMM, an advanced note-taking application built entirely from scratch. I’m someone who takes many notes and primarily uses OneNote and Notion, but over time have found myself wanting something faster and more flexible than any note-taking application I could find. UMM is my attempt to create the note-taking app I wish I had, as well as learn how to create such a program.

Instead of relying on pre-made code, I built my own systems for how documents are structured, edited, saved, as well as how the cursor moves, text is formatted, and how selections …


Match-A-Fit, Brianna Mendoza, Adan Diaz De Leon, Pedro Jacobo, Juan Marco Saca Dada Apr 2026

Match-A-Fit, Brianna Mendoza, Adan Diaz De Leon, Pedro Jacobo, Juan Marco Saca Dada

Posters - 2026

Welcome to Match-a-Fit! Match-a-Fit is an iOS application that allows the user to create a digital closet by uploading images of their clothing items. With AI, the program can generate outfits based on the digital closet, the time, and the occasion. Match-a-Fit’s purpose is designed to help users who struggle to get ready, run out of time, or can’t decide on an outfit, by easily generating outfit options based on the occasion.


Do Developers Read Type Information? An Eye-Tracking Study On Typescript, Samuel W. Flint, Robert Dyer, Bonita Sharif Jan 2026

Do Developers Read Type Information? An Eye-Tracking Study On Typescript, Samuel W. Flint, Robert Dyer, Bonita Sharif

Research & Publications

Statically-annotated types have been shown to aid developers in a number of programming tasks, and this benefit holds true even when static type checking is not used. It is hypothesized that this is because developers use type annotations as in-code documentation. In this study, we aim to provide evidence that developers use type annotations as in-code documentation. Understanding this hypothesized use will help to understand how, and in what contexts, developers use type information; additionally, it may help to design better development tools and inform educational decisions. To provide this evidence, we conduct an eye tracking study with 26 undergraduate …


Challenges In Engineering Machine Learning (Software) Systems, Raffi T. Khatchadourian Ph.D. Dec 2025

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. Nov 2025

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 …


Towards Automated Evolution Of Imperative Deep Learning Programs, Tatiana Castro-Vélez Sep 2025

Towards Automated Evolution Of Imperative Deep Learning Programs, Tatiana Castro-Vélez

Dissertations, Theses, and Capstone Projects

Software engineering (SE) is increasingly intersecting with data-centric domains such as machine learning (ML) and deep learning (DL). Similar to bugs in traditional software systems, defects can emerge in ML and DL systems. ML, including DL, systems are now widespread and rely on dynamic models defined by input data. Developers face the challenge of building dependable systems while addressing the demand for scalable software.

Efficiency is essential to support responsiveness with respect to ever-growing datasets. Traditional DL frameworks achieve scalability through deferred execution, enabling symbolic, graph-based deep neural network (DNN) computation. While efficient, this approach is error-prone, cumbersome, and difficult …


Human-Ai-Collaboration-For-Coding, Siddhardha Ravi Aug 2025

Human-Ai-Collaboration-For-Coding, Siddhardha Ravi

Theses, Dissertations and Culminating Projects

AI-generated code, while rapidly producing functional solutions, often falls short in aspects like comprehensive error handling, robust documentation, and optimal architectural design, areas where human expertise excels. Conversely, humans can greatly benefit from AI's rapid code generation capabilities. This project proposes and evaluates "A Framework to Improve Code Quality by Utilizing Generative AI Coding Along With Human-Written Code", designed to create a synergy between AI and human intelligence for enhanced software development. Conducted over four weeks, the research leverages BigCodeBench as its core dataset to rigorously investigate how human intervention can improve AI-generated code quality, identify the most effective human-AI …


Information-Theoretic Detection Of Unusual Source Code Changes, Adriano Torres, Markus Wagner, Christoph Treude, Sebastian Baltes Aug 2025

Information-Theoretic Detection Of Unusual Source Code Changes, Adriano Torres, Markus Wagner, Christoph Treude, Sebastian Baltes

Research Collection School Of Computing and Information Systems

The code base of software projects evolves essentially through inserting and removing information to and from the source code. We can measure this evolution via the elements of information—tokens, words, nodes—of the respective representation of the code. In this work, we approach the measurement of the information content of the source code of open-source projects from an information-theoretic standpoint. Our focus is on the entropy of two fundamental representations of code: tokens and abstract syntax tree nodes, from which we derive definitions of textual and structural entropy. We proceed with an empirical assessment where we evaluate the evolution patterns of …


Creativity And Curb Cuts: Experiences In Our First Offering Of A Front End Development And Accessibility Focused Cs Course, Briana C. Bettin, Tony Garnett, Alex Gore, Andrea Llanas Jul 2025

Creativity And Curb Cuts: Experiences In Our First Offering Of A Front End Development And Accessibility Focused Cs Course, Briana C. Bettin, Tony Garnett, Alex Gore, Andrea Llanas

Michigan Tech Publications

Students learn an abundance of technical skills while obtaining a computer science degree. The ability to develop meaningful front end user interfaces is often considered the domain of only ''more artistic'' CS students. However, for users to effectively engage with any piece of software, functional user interfaces are critical. Moreover, even among students who have front end skills, semantic and accessible design is all too often less considered. The first author piloted a ''Front End Development and Accessibility'' course this past Fall. This course teaches basic skills of front end with web and leverages key accessibility standards via WCAG. This …


Improving The Reproducibility Of Deep Learning Software: An Initial Investigation Through A Case Study Analysis, Nikita Ravi, Abhinav Goel, James C. Davis, George K. Thiruvathukal May 2025

Improving The Reproducibility Of Deep Learning Software: An Initial Investigation Through A Case Study Analysis, Nikita Ravi, Abhinav Goel, James C. Davis, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

The field of deep learning has witnessed significant breakthroughs, spanning various applications, and fundamentally transforming current software capabilities. However, alongside these advancements, there have been increasing concerns about reproducing the results of these deep learning methods. This is significant because reproducibility is the foundation of reliability and validity in software development, particularly in the rapidly evolving domain of deep learning. The difficulty of reproducibility may arise due to several reasons, including having differences from the original execution environment, incompatible software libraries, proprietary data and source code, lack of transparency, and the stochastic nature in some software. A study conducted by …


A Study Of Preconditions And Postconditions As Design Constraints For Llm Code Generation, Luke Newcomb Apr 2025

A Study Of Preconditions And Postconditions As Design Constraints For Llm Code Generation, Luke Newcomb

Doctoral Dissertations and Master's Theses

Large Language Models (LLMs) have significantly advanced automated code generation, but current methods predominantly rely on natural language descriptions. This approach encounters challenges when handling complex, class-level software generation tasks due to inherent ambiguity and under-specification. Few studies have investigated how more formal software engineering constraints, such as explicit preconditions and postconditions, influence class-level generation tasks. This work addresses this gap through a structured evaluation of six state-of-the-art LLMs generating software implementations from systematically designed class-level specifications. Results demonstrate that incorporating explicit design constraints significantly boosts initial generation accuracy (measured via the pass@k metric), particularly in Python but also in …


Bigcodebench: Benchmarking Code Generation With Diverse Function Calls And Complex Instructions, T.Y. Zhuo, M.C. Vu, J. Chim, ..., David Lo Apr 2025

Bigcodebench: Benchmarking Code Generation With Diverse Function Calls And Complex Instructions, T.Y. Zhuo, M.C. Vu, J. Chim, ..., David Lo

Research Collection School Of Computing and Information Systems

Task automation has been greatly empowered by the recent advances in Large Language Models (LLMs) via Python code, where the tasks ranging from software engineering development to general-purpose reasoning. While current benchmarks have shown that LLMs can solve tasks using programs like human developers, the majority of their evaluations are limited to short and self-contained algorithmic tasks or standalone function calls. Solving challenging and practical tasks requires the capability of utilizing diverse function calls as tools to efficiently implement functionalities like data analysis and web development. In addition, using multiple tools to solve a task needs compositional reasoning by accurately …


Exploration Of The Gap Between The Secure Web Application Development Competencies Needed By Industry And Those Competencies Provided By Graduates Of U.S. Undergraduate Software Engineering Programs, Gary Allen Harris Dec 2024

Exploration Of The Gap Between The Secure Web Application Development Competencies Needed By Industry And Those Competencies Provided By Graduates Of U.S. Undergraduate Software Engineering Programs, Gary Allen Harris

Theses and Dissertations

Literature demonstrates that threats and attacks on computer systems and networks have been around since the beginning of computing, and the number, severity, sophistication, and costs of attacks and data breaches are continuing to grow. Several studies suggest that one of the most common causes of data breaches is insecure web applications that contain vulnerable application code. These studies suggest that poor secure web application development practices are a prime cause of the susceptible web applications. Additionally, studies suggest that higher education is not meeting industry’s secure software/web application development needs. Employers have reported that they are not getting the …


Controller Software: Evolution, Identification, And Implementation, Balaji Balasubramaniam Dec 2024

Controller Software: Evolution, Identification, And Implementation, Balaji Balasubramaniam

Dissertations and Doctoral Documents, University of Nebraska-Lincoln, 2023–

In the annals of automation history and advancement, one can find control technology is at the core. Modern-day controllers rely heavily on software capability to provide stability and improve the system's performance. In particular, drone flight controllers use autopilot control software to accomplish autonomous navigation from take-off to landing. However, we know very little about how the controller code modifications and its impact, particularly at the software level. No general framework has been developed to identify the control code changes and observe the real values of software control loops at the kernel layer.

In this thesis, we lay the foundation …


Turning 50 Hours Into 5 Minutes: Automating Work With Custom Tools, Aidan La Penta Nov 2024

Turning 50 Hours Into 5 Minutes: Automating Work With Custom Tools, Aidan La Penta

Honors Student Research

This project streamlines a critical business task for the Kutztown Honors Program by automating the extraction of information from student transcript PDFs. Using custom software written in Python, the program parses 400 pages of data in 70 seconds to significantly reduce the hours of manual effort previously required. By leveraging skills from the CSIT curriculum, this project represents an innovative approach for a CSIT student to support a university department through custom software solutions. The project enhances operational efficiency for the Honors Program and demonstrates the practical application of computer science to solve real-world problems within the wider academic community.


Quality Assurance In Software Engineering: A Journey Towards Explainable Automated Solutions, Ratnadira Widyasari Sep 2024

Quality Assurance In Software Engineering: A Journey Towards Explainable Automated Solutions, Ratnadira Widyasari

Dissertations and Theses Collection (Open Access)

In today's digital era, the pervasive influence of software on daily life underscores the necessity for high-quality and reliable systems. Software failures can result in substantial harm and financial losses, highlighting the pivotal role of Software Quality Assurance (SQA). While automated SQA techniques have evolved to aid developers in ensuring software quality, the necessity for explainability in these automated solutions has become equally important. For example, in automated fault localization, only identifying suspicious locations is insufficient; it is essential to provide reasoning on why these locations are suspicious. This dissertation presents a series of interconnected studies aimed at developing explainable …


Remote Onboarding Of Software Developers: Leveraging Virtual Reality And Ai Tools, James Dominic Aug 2024

Remote Onboarding Of Software Developers: Leveraging Virtual Reality And Ai Tools, James Dominic

All Dissertations

Software development teams add newcomers to accommodate the increasing demand, complexity of software solutions, and turnover. Onboarding newcomers is expensive and error-prone. It can take up to three years for a newcomer to become an expert on a project. Onboarding techniques described in the current literature focus on collocated teams. As more teams are adopting remote and distributed team structures, I address this research gap in understanding remote onboarding for software developers. I present my research on the use of Virtual Reality (VR) for remote software developer onboarding. I discuss a VR remote pair programming environment. With positive outcomes, pair …


Lang2views Capstone: The Importance Of A Conscientious Team Lead, Joseph Wornath Jun 2024

Lang2views Capstone: The Importance Of A Conscientious Team Lead, Joseph Wornath

University Honors Theses

This review essay reflects the Lang2views capstone project from the perspective of a team lead. The Lang2views capstone project was a web-based user interface designed to simplify how the Lang2views corporation localizes videos into other languages for their clients. Our capstone group was split into three subgroups: front-end, back-end, and DevOps. The strategy for completing the project went through a major change midway through development wherein we changed our software development methodology from a more rigid Waterfall-type approach to a more flexible Agile methodology. Because of this, many of the initially planned features had to be reevaluated as out of …


A Survey Of Practical Haskell: Parsing, Interpreting, And Testing, Parker Landon May 2024

A Survey Of Practical Haskell: Parsing, Interpreting, And Testing, Parker Landon

Honors Projects

Strongly typed pure functional programming languages like Haskell have historically been confined to academia as vehicles for programming language research. While features of functional programming have greatly influenced mainstream programming languages, the imperative programming style remains pervasive in practical software development. This paper illustrates the practical utility of Haskell and pure functional programming by exploring “hson,” a scripting language for processing JSON developed in Haskell. After introducing the relevant features of Haskell to the unfamiliar reader, this paper reveals how hson leverages functional programming to implement parsing, interpreting, and testing. By showcasing how Haskell’s language features enable the creation of …


Large Language Models For Qualitative Research In Software Engineering: Exploring Opportunities And Challenges, Muneera Bano, Rashina Hoda, Didar Zowghi, Christoph Treude May 2024

Large Language Models For Qualitative Research In Software Engineering: Exploring Opportunities And Challenges, Muneera Bano, Rashina Hoda, Didar Zowghi, Christoph Treude

Research Collection School Of Computing and Information Systems

The recent surge in the integration of Large Language Models (LLMs) like ChatGPT into qualitative research in software engineering, much like in other professional domains, demands a closer inspection. This vision paper seeks to explore the opportunities of using LLMs in qualitative research to address many of its legacy challenges as well as potential new concerns and pitfalls arising from the use of LLMs. We share our vision for the evolving role of the qualitative researcher in the age of LLMs and contemplate how they may utilize LLMs at various stages of their research experience.


Rescape: Transforming Coral-Reefscape Images For Quantitative Analysis, Zachary Ferris, Eraldo Ribeiro, Tomofumi Nagata, Robert Van Woesik Apr 2024

Rescape: Transforming Coral-Reefscape Images For Quantitative Analysis, Zachary Ferris, Eraldo Ribeiro, Tomofumi Nagata, Robert Van Woesik

Ocean Engineering and Marine Sciences Faculty Publications

Ever since the first image of a coral reef was captured in 1885, people worldwide have been accumulating images of coral reefscapes that document the historic conditions of reefs. However, these innumerable reefscape images suffer from perspective distortion, which reduces the apparent size of distant taxa, rendering the images unusable for quantitative analysis of reef conditions. Here we solve this century-long distortion problem by developing a novel computer-vision algorithm, ReScape, which removes the perspective distortion from reefscape images by transforming them into top-down views, making them usable for quantitative analysis of reef conditions. In doing so, we demonstrate the …


Fixing Your Own Smells: Adding A Mistake-Based Familiarization Step When Teaching Code Refactoring, Ivan Wei Han Tan, Christopher M. Poskitt Mar 2024

Fixing Your Own Smells: Adding A Mistake-Based Familiarization Step When Teaching Code Refactoring, Ivan Wei Han Tan, Christopher M. Poskitt

Research Collection School Of Computing and Information Systems

Programming problems can be solved in a multitude of functionally correct ways, but the quality of these solutions (e.g. readability, maintainability) can vary immensely. When code quality is poor, symptoms emerge in the form of 'code smells', which are specific negative characteristics (e.g. duplicate code) that can be resolved by applying refactoring patterns. Many undergraduate computing curricula train students on this software engineering practice, often doing so via exercises on unfamiliar instructor-provided code. Our observation, however, is that this makes it harder for novices to internalise refactoring as part of their own development practices. In this paper, we propose a …


Embedding Software Engineering In Mixed Methods: Computationally Enhanced Risk Communication, Ann Marie Reinhold, Madison H. Munro, Elizabeth A. Shanahan, Ross J. Gore, Barry C. Ezell, Clemente I. Izurieta Jan 2024

Embedding Software Engineering In Mixed Methods: Computationally Enhanced Risk Communication, Ann Marie Reinhold, Madison H. Munro, Elizabeth A. Shanahan, Ross J. Gore, Barry C. Ezell, Clemente I. Izurieta

VMASC Publications

Mixed methods research ameliorates many convergent research challenges within the contemporary sociotechnical landscape. We suggest the integration of software engineering in mixed methods studies is a critical step to address some of the remaining and persistent challenges. One such research challenge where software engineering is particularly well suited is in hazard preparedness—in particular, the creation of risk communication messages to mitigate or prevent harm. Computationally enhanced risk communication is convergent research that integrates software engineering and social science research for the benefit of protecting humans and infrastructure. To this end, we developed a mixed methods framework for the efficient construction …


Choosing A Sophisticated, Robust, And Secure Programming Language, J. Simon Richard Dec 2023

Choosing A Sophisticated, Robust, And Secure Programming Language, J. Simon Richard

The Downtown Review: An Interdisciplinary Journal Written and Peer-Reviewed by Mandel Honors College Students at Cleveland State University

This paper explores which programming languages maximize the quality and efficiency of software development projects requiring high levels of sophistication, security, and stability. Of the four languages discussed in this paper—C, C++, Java, and Rust—we conclude that Rust is the best for this application.


Do Contributing Files Provide Information About Oss Newcomers' Onboarding Barriers?, Felipe Fronchetti, David Shepherd, Igor Wiese, Christoph Treude, Marco Gerosa, Igor Steinmacher Dec 2023

Do Contributing Files Provide Information About Oss Newcomers' Onboarding Barriers?, Felipe Fronchetti, David Shepherd, Igor Wiese, Christoph Treude, Marco Gerosa, Igor Steinmacher

Research Collection School Of Computing and Information Systems

Effectively onboarding newcomers is essential for the success of open source projects. These projects often provide onboarding guidelines in their ‘CONTRIBUTING’ files (e.g., CONTRIBUTING.md on GitHub). These files explain, for example, how to find open tasks, implement solutions, and submit code for review. However, these files often do not follow a standard structure, can be too large, and miss barriers commonly found by newcomers. In this paper, we propose an automated approach to parse these CONTRIBUTING files and assess how they address onboarding barriers. We manually classified a sample of files according to a model of onboarding barriers from the …


Supporting Software Engineers With Large Language Model-Based Automation, Ting Zhang Dec 2023

Supporting Software Engineers With Large Language Model-Based Automation, Ting Zhang

Dissertations and Theses Collection (Open Access)

In recent years, software engineering (SE) has witnessed significant growth, leading to the creation and sharing of an abundance of software artifacts such as source code, bug reports, and pull requests. Analyzing these artifacts is crucial for comprehending the sentiments of software developers and automating various SE tasks, ultimately leading to more human-centered automated SE and enhancing software development efficiency. However, the diverse and unstructured nature of software text poses a significant challenge to this analysis. In response, researchers have investigated a variety of approaches, including the utilization of natural language processing techniques. The advent of large language models (LLMs), …


Dexbert: Effective, Task-Agnostic And Fine-Grained Representation Learning Of Android Bytecode, Tiezhu Sun, Kevin Allix, Kisub Kim, Xin Zhou, Dongsun Kim, David Lo, Tegawendé F. Bissyande, Jacques Klein Oct 2023

Dexbert: Effective, Task-Agnostic And Fine-Grained Representation Learning Of Android Bytecode, Tiezhu Sun, Kevin Allix, Kisub Kim, Xin Zhou, Dongsun Kim, David Lo, Tegawendé F. Bissyande, Jacques Klein

Research Collection School Of Computing and Information Systems

The automation of an increasingly large number of software engineering tasks is becoming possible thanks to Machine Learning (ML). One foundational building block in the application of ML to software artifacts is the representation of these artifacts ( e.g. , source code or executable code) into a form that is suitable for learning. Traditionally, researchers and practitioners have relied on manually selected features, based on expert knowledge, for the task at hand. Such knowledge is sometimes imprecise and generally incomplete. To overcome this limitation, many studies have leveraged representation learning, delegating to ML itself the job of automatically devising suitable …