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

Software Engineering Commons™

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

4,680 Full-Text Articles 7,285 Authors 2,188,662 Downloads 182 Institutions

All Articles in Software Engineering

Faceted Search

4,680 full-text articles. Page 42 of 190.

The Impact Of Bug Localization Based On Crash Report Mining: A Developers' Perspective, Marcos MEDEIROS, Uirá KULESZA, Roberta COELHO, Rodrigo BONIFACIO, Christoph TREUDE, Eiji Adachi BARBOSA 2024 Singapore Management University

The Impact Of Bug Localization Based On Crash Report Mining: A Developers' Perspective, Marcos Medeiros, Uirá Kulesza, Roberta Coelho, Rodrigo Bonifacio, Christoph Treude, Eiji Adachi Barbosa

Research Collection School Of Computing and Information Systems

Developers often use crash reports to understand the root cause of bugs. However, locating the buggy source code snippet from such information is a challenging task, mainly when the log database contains many crash reports. To mitigate this issue, recent research has proposed and evaluated approaches for grouping crash report data and using stack trace information to locate bugs. The effectiveness of such approaches has been evaluated by mainly comparing the candidate buggy code snippets with the actual changed code in bug-fix commits—which happens in the context of retrospective repository mining studies. Therefore, the existing literature still lacks discussing the …


Githubinclusifier: Finding And Fixing Non-Inclusive Language In Github Repositories, Liam TODD, John GRUNDY, Christoph TREUDE 2024 Singapore Management University

Githubinclusifier: Finding And Fixing Non-Inclusive Language In Github Repositories, Liam Todd, John Grundy, Christoph Treude

Research Collection School Of Computing and Information Systems

Non-inclusive language in software artefacts has been recognised as a serious problem. We describe a tool to find and fix non-inclusive language in a variety of GitHub repository artefacts. These include various README files, PDFs, code comments, and code. A wide variety of non-inclusive language including racist, ageist, ableist, violent and others are located and issues created, tagging the artefacts for checking. Suggested fixes can be generated using third-party LLM APIs, and approved changes made to documents, including code refactorings, and committed to the repository. The tool and evaluation data are available from: https://github. com/LiamTodd/github-inclusifier


My Github Sponsors Profile Is Live!": Investigating The Impact Of Twitter/X Mentions On Github Sponsors, Youmei FAN, Tao XIAO, Hideaki HATA, Christoph TREUDE, Kenichi MATSUMOTO 2024 Singapore Management University

My Github Sponsors Profile Is Live!": Investigating The Impact Of Twitter/X Mentions On Github Sponsors, Youmei Fan, Tao Xiao, Hideaki Hata, Christoph Treude, Kenichi Matsumoto

Research Collection School Of Computing and Information Systems

GitHub Sponsors was launched in 2019, enabling donations to opensource software developers to provide financial support, as per GitHub’s slogan: “Invest in the projects you depend on”. However, a 2022 study on GitHub Sponsors found that only two-fifths of developers who were seeking sponsorship received a donation. The study found that, other than internal actions (such as offering perks to sponsors), developers had advertised their GitHub Sponsors profiles on social media, such as Twitter (also known as X). Therefore, in this work, we investigate the impact of tweets that contain links to GitHub Sponsors profiles on sponsorship, as well as …


Classifying Source Code: How Far Can Compressor-Based Classifiers Go?, Zhou YANG 2024 Singapore Management University

Classifying Source Code: How Far Can Compressor-Based Classifiers Go?, Zhou Yang

Research Collection School Of Computing and Information Systems

Pre-trained language models of code, which are built upon large-scale datasets, millions of trainable parameters, and high computational resources cost, have achieved phenomenal success. Recently, researchers have proposed a compressor-based classifier (Cbc); it trains no parameters but is found to outperform BERT. We conduct the first empirical study to explore whether this lightweight alternative can accurately classify source code. Our study is more than applying Cbc to code-related tasks. We first identify an issue that the original implementation overestimates Cbc. After correction, Cbc's performance on defect prediction drops from 80.7% to 63.0%, which is still comparable to CodeBERT (63.7%). We …


Going Viral: Case Studies On The Impact Of Protestware, Youmei FAN, Dong WANG, Supastsara WATTANAKRIENGKRAI, Hathaichanok DAMRONGSIRI, Christoph TREUDE, Hideaki HATA, Raula Gaikovina KULA 2024 Singapore Management University

Going Viral: Case Studies On The Impact Of Protestware, Youmei Fan, Dong Wang, Supastsara Wattanakriengkrai, Hathaichanok Damrongsiri, Christoph Treude, Hideaki Hata, Raula Gaikovina Kula

Research Collection School Of Computing and Information Systems

Maintainers are now self-sabotaging their work in order to take political or economic stances, a practice referred to as "protestware". In this poster, we present our approach to understand how the discourse about such an attack went viral, how it is received by the community, and whether developers respond to the attack in a timely manner. We study two notable protestware cases, i.e., Colors.js and es5-ext, comparing with discussions of a typical security vulnerability as a baseline, i.e., Ua-parser, and perform a thematic analysis of more than two thousand protest-related posts to extract the different narratives when discussing protestware.


Creative And Correct: Requesting Diverse Code Solutions From Ai, Scott BLYTH, Markus WAGNER, Christoph TREUDE 2024 Monash University

Creative And Correct: Requesting Diverse Code Solutions From Ai, Scott Blyth, Markus Wagner, Christoph Treude

Research Collection School Of Computing and Information Systems

AI foundation models have the capability to produce a wide array of responses to a single prompt, a feature that is highly beneficial in software engineering to generate diverse code solutions. However, this advantage introduces a significant trade-off between diversity and correctness. In software engineering tasks, diversity is key to exploring design spaces and fostering creativity, but the practical value of these solutions is heavily dependent on their correctness. Our study systematically investigates this trade-off using experiments with HumanEval tasks, exploring various parameter settings and prompting strategies. We assess the diversity of code solutions using similarity metrics from the code …


Enhancing Source Code Representations For Deep Learning With Static Analysis, Xueting GUAN, Christoph TREUDE 2024 Singapore Management University

Enhancing Source Code Representations For Deep Learning With Static Analysis, Xueting Guan, Christoph Treude

Research Collection School Of Computing and Information Systems

Deep learning techniques applied to program analysis tasks such as code classification, summarization, and bug detection have seen widespread interest. Traditional approaches, however, treat programming source code as natural language text, which may neglect significant structural or semantic details. Additionally, most current methods of representing source code focus solely on the code, without considering beneficial additional context. This paper explores the integration of static analysis and additional context such as bug reports and design patterns into source code representations for deep learning models. We use the Abstract Syntax Tree-based Neural Network (ASTNN) method and augment it with additional context information …


Test Optimization In Dnn Testing: A Survey, Qiang HU, Yuejun GUO, Xiaofei XIE, Maxime CORDY, Lei MA, Mike PAPADAKIS, Yves LE TRAON 2024 Singapore Management University

Test Optimization In Dnn Testing: A Survey, Qiang Hu, Yuejun Guo, Xiaofei Xie, Maxime Cordy, Lei Ma, Mike Papadakis, Yves Le Traon

Research Collection School Of Computing and Information Systems

This article presents a comprehensive survey on test optimization in deep neural network (DNN) testing. Here, test optimization refers to testing with low data labeling effort. We analyzed 90 papers, including 43 from the software engineering (SE) community, 32 from the machine learning (ML) community, and 15 from other communities. Our study: (i) unifies the problems as well as terminologies associated with low-labeling cost testing, (ii) compares the distinct focal points of SE and ML communities, and (iii) reveals the pitfalls in existing literature. Furthermore, we highlight the research opportunities in this domain.


Minimon: Minimizing Android Applications With Intelligent Monitoring-Based Debloating, Jiakun LIU, Zicheng ZHANG, Xing HU, Thung Ferdian, Shahar MAOZ, Debin GAO, Eran TOCH, Zhipeng ZHAO, David LO 2024 Singapore Management University

Minimon: Minimizing Android Applications With Intelligent Monitoring-Based Debloating, Jiakun Liu, Zicheng Zhang, Xing Hu, Thung Ferdian, Shahar Maoz, Debin Gao, Eran Toch, Zhipeng Zhao, David Lo

Research Collection School Of Computing and Information Systems

The size of Android applications is getting larger to fulfill the requirements of various users. However, not all the features of the applications are needed and desired by a specific user. The unnecessary and non-desired features can increase the attack surface and consume system resources such as storage and memory. To address this issue, we propose a framework, MiniMon, to debloat unnecessary features from an Android app based on the logs of specific users' interactions with the app.However, rarely used features may not be recorded during the data collection, and users' preferences may change slightly over time. To address these …


Assessing Ai Detectors In Identifying Ai-Generated Code: Implications For Education, Wei Hung PAN, Ming Jie CHOK, Jonathan Leong Shan WONG, Yung Xin SHIN, Yeong Shian POON, Zhou YANG, Chun Yong CHONG, David LO, Mei Kuan LIM 2024 Singapore Management University

Assessing Ai Detectors In Identifying Ai-Generated Code: Implications For Education, Wei Hung Pan, Ming Jie Chok, Jonathan Leong Shan Wong, Yung Xin Shin, Yeong Shian Poon, Zhou Yang, Chun Yong Chong, David Lo, Mei Kuan Lim

Research Collection School Of Computing and Information Systems

Educators are increasingly concerned about the usage of Large Language Models (LLMs) such as ChatGPT in programming education, particularly regarding the potential exploitation of imperfections in Artificial Intelligence Generated Content (AIGC) Detectors for academic misconduct.In this paper, we present an empirical study where the LLM is examined for its attempts to bypass detection by AIGC Detectors. This is achieved by generating code in response to a given question using different variants. We collected a dataset comprising 5,069 samples, with each sample consisting of a textual description of a coding problem and its corresponding human-written Python solution codes. These samples were …


Large Language Model For Vulnerability Detection: Emerging Results And Future Directions, Xin ZHOU, Ting ZHANG, David LO 2024 Singapore Management University

Large Language Model For Vulnerability Detection: Emerging Results And Future Directions, Xin Zhou, Ting Zhang, David Lo

Research Collection School Of Computing and Information Systems

Previous learning-based vulnerability detection methods relied on either medium-sized pre-trained models or smaller neural networks from scratch. Recent advancements in Large Pre-Trained Language Models (LLMs) have showcased remarkable few-shot learning capabilities in various tasks. However, the effectiveness of LLMs in detecting software vulnerabilities is largely unexplored. This paper aims to bridge this gap by exploring how LLMs perform with various prompts, particularly focusing on two state-of-the-art LLMs: GPT-3.5 and GPT-4. Our experimental results showed that GPT-3.5 achieves competitive performance with the prior state-of-the-art vulnerability detection approach and GPT-4 consistently outperformed the state-of-the-art.


Code Search Is All You Need? Improving Code Suggestions With Code Search, Junkai CHEN, Xing HU, Zhenhao LI, Cuiyun GAO, Xin XIA, David LO 2024 Singapore Management University

Code Search Is All You Need? Improving Code Suggestions With Code Search, Junkai Chen, Xing Hu, Zhenhao Li, Cuiyun Gao, Xin Xia, David Lo

Research Collection School Of Computing and Information Systems

Modern integrated development environments (IDEs) provide various automated code suggestion techniques (e.g., code completion and code generation) to help developers improve their efficiency. Such techniques may retrieve similar code snippets from the code base or leverage deep learning models to provide code suggestions. However, how to effectively enhance the code suggestions using code retrieval has not been systematically investigated. In this paper, we study and explore a retrieval-augmented framework for code suggestions. Specifically, our framework leverages different retrieval approaches and search strategies to search similar code snippets. Then the retrieved code is used to further enhance the performance of language …


Greening Large Language Models Of Code, Jieke SHI, Zhou YANG, Hong Jin KANG, Bowen XU, Junda HE, David LO 2024 Singapore Management University

Greening Large Language Models Of Code, Jieke Shi, Zhou Yang, Hong Jin Kang, Bowen Xu, Junda He, David Lo

Research Collection School Of Computing and Information Systems

Large language models of code have shown remarkable effectiveness across various software engineering tasks. Despite the availability of many cloud services built upon these powerful models, there remain several scenarios where developers cannot take full advantage of them, stemming from factors such as restricted or unreliable internet access, institutional privacy policies that prohibit external transmission of code to third-party vendors, and more. Therefore, developing a compact, efficient, and yet energy-saving model for deployment on developers' devices becomes essential.To this aim, we propose Avatar, a novel approach that crafts a deployable model from a large language model of code by optimizing …


Ps3: Precise Patch Presence Test Based On Semantic Symbolic Signature, Qi ZHAN, Xing HU, Zhiyang LI, Xin XIA, David LO, Shanping LI 2024 Singapore Management University

Ps3: Precise Patch Presence Test Based On Semantic Symbolic Signature, Qi Zhan, Xing Hu, Zhiyang Li, Xin Xia, David Lo, Shanping Li

Research Collection School Of Computing and Information Systems

During software development, vulnerabilities have posed a significant threat to users. Patches are the most effective way to combat vulnerabilities. In a large-scale software system, testing the presence of a security patch in every affected binary is crucial to ensure system security. Identifying whether a binary has been patched for a known vulnerability is challenging, as there may only be small differences between patched and vulnerable versions. Existing approaches mainly focus on detecting patches that are compiled in the same compiler options. However, it is common for developers to compile programs with very different compiler options in different situations, which …


Coca: Improving And Explaining Graph Neural Network-Based Vulnerability Detection Systems, Sicong CAO, Xiaobing SUN, Xiaoxue WU, David LO, Lili BO, Bin LI, Wei LIU 2024 Singapore Management University

Coca: Improving And Explaining Graph Neural Network-Based Vulnerability Detection Systems, Sicong Cao, Xiaobing Sun, Xiaoxue Wu, David Lo, Lili Bo, Bin Li, Wei Liu

Research Collection School Of Computing and Information Systems

Recently, Graph Neural Network (GNN)-based vulnerability detection systems have achieved remarkable success. However, the lack of explainability poses a critical challenge to deploy black-box models in security-related domains. For this reason, several approaches have been proposed to explain the decision logic of the detection model by providing a set of crucial statements positively contributing to its predictions. Unfortunately, due to the weakly-robust detection models and suboptimal explanation strategy, they have the danger of revealing spurious correlations and redundancy issue.In this paper, we propose Coca, a general framework aiming to 1) enhance the robustness of existing GNN-based vulnerability detection models to …


Ppt4j: Patch Presence Test For Java Binaries, Zhiyuan PAN, Xing HU, Xin XIA, Xian ZHAN, David LO, Xiaohu YANG 2024 Singapore Management University

Ppt4j: Patch Presence Test For Java Binaries, Zhiyuan Pan, Xing Hu, Xin Xia, Xian Zhan, David Lo, Xiaohu Yang

Research Collection School Of Computing and Information Systems

The number of vulnerabilities reported in open source software has increased substantially in recent years. Security patches provide the necessary measures to protect software from attacks and vulnerabilities. In practice, it is difficult to identify whether patches have been integrated into software, especially if we only have binary files. Therefore, the ability to test whether a patch is applied to the target binary, a.k.a. patch presence test, is crucial for practitioners. However, it is challenging to obtain accurate semantic information from patches, which could lead to incorrect results.In this paper, we propose a new patch presence test framework named Ppt4J …


Streamlining Java Programming: Uncovering Well-Formed Idioms With Idiomine, Yanming YANG, Xing HU, Xin XIA, David LO, Xiaohu YANG 2024 Singapore Management University

Streamlining Java Programming: Uncovering Well-Formed Idioms With Idiomine, Yanming Yang, Xing Hu, Xin Xia, David Lo, Xiaohu Yang

Research Collection School Of Computing and Information Systems

Code idioms are commonly used patterns, techniques, or practices that aid in solving particular problems or specific tasks across multiple software projects. They can improve code quality, performance, and maintainability, and also promote program standardization and reuse across projects. However, identifying code idioms is significantly challenging, as existing studies have still suffered from three main limitations. First, it is difficult to recognize idioms that span non-contiguous code lines. Second, identifying idioms with intricate data flow and code structures can be challenging. Moreover, they only extract dataset-specific idioms, so common idioms or well-established code/design patterns that are rarely found in datasets …


Concretely Mapped Symbolic Memory Locations For Memory Error Detection, Haoxin TU, Lingxiao JIANG, Jiaqi HONG, Xuhua DING, He JIANG 2024 Singapore Management University

Concretely Mapped Symbolic Memory Locations For Memory Error Detection, Haoxin Tu, Lingxiao Jiang, Jiaqi Hong, Xuhua Ding, He Jiang

Research Collection School Of Computing and Information Systems

Memory allocation is a fundamental operation for managing memory objects in many programming languages. Misusing allocated memory objects (e.g., buffer overflow and use-after-free) can lead to catastrophic consequences. Symbolic execution-based approaches are often used to detect such memory errors, leveraging their capabilities in automatic path exploration and test case generation. However, existing symbolic execution engines face significant limitations in modeling dynamic memory layouts. These engines either represent memory object locations as concrete addresses, limiting analyses to specific address layouts and missing errors that occur at special addresses, or represent locations as simple symbolic variables without sufficient constraints, resulting in memory …


The Social Pot: A Social Media Application, Reid Long 2024 Bridgewater College

The Social Pot: A Social Media Application, Reid Long

ASPIRE 2024

The Social Pot is a web application that allows a user to post to Instagram and X simultaneously from one place. The user creates a Social Pot Account and from there can set their Instagram username and password within the home page. Once the user attempts to post, it will redirect them to login to X which once successful will make the tweet. Used the API 'instagram-private-api'. User needed to give access to my X Project which in turn gave an Auth token (via X redirect URL). The auth token was then sent to my endpoint in order to get …


Terry Riley's "In C" For Mobile Ensemble, David B. Wetzel, Griffin Moe, George K. Thiruvathukal 2024 Loyola University Chicago

Terry Riley's "In C" For Mobile Ensemble, David B. Wetzel, Griffin Moe, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

This workshop presents a mobile-friendly Web Audio application for a “technology ensemble play-along” of Terry Riley’s 1964 composition In C. Attendees will join in a reading of In C using available web-enabled devices as musical instruments. We hope to demonstrate an accessible music-technology experience that relies on face-to-face interaction within a shared space. In this all-electronic implementation, no special musical or technical expertise is required.


Digital Commons powered by bepress