The Impact Of Bug Localization Based On Crash Report Mining: A Developers' Perspective,
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,
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,
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?,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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.
