175 citations · 485 across the 23 of their papers we have counts for
20 papers · 1 filter
AgentSZZ: Teaching the LLM Agent to Play Detective with Bug-Inducing Commits
Yunbo Lyu, Jieke Shi, Hong Jin Kang +8
The SZZ algorithm is the dominant technique for identifying bug-inducing commits and underpins many software engineering tasks, such as defect prediction and vulnerability analysis…
Think Like Human Developers: Harnessing Community Knowledge for Structured Code Reasoning
Chengran Yang, Zhensu Sun, Hong Jin Kang +2
Large Language Models (LLMs) have significantly advanced automated code generation, yet they struggle with complex coding tasks requiring multi-step logical reasoning. High-quality…
ACECode: A Reinforcement Learning Framework for Aligning Code Efficiency and Correctness in Code Language Models
Chengran Yang, Hong Jin Kang, Jieke Shi +1
CodeLLMs have demonstrated remarkable advancements in software engineering tasks. However, while these models can generate functionally correct code, they often produce code that i…
JavaVFC: Java Vulnerability Fixing Commits from Open-source Software
Tan Bui, Yan Naing Tun, Yiran Cheng +3
We present a comprehensive dataset of Java vulnerability-fixing commits (VFCs) to advance research in Java vulnerability analysis. Our dataset, derived from thousands of open-sourc…
BugsInPy: A Database of Existing Bugs in Python Programs to Enable Controlled Testing and Debugging Studies
Ratnadira Widyasari, Sheng Qin Sim, Camellia Lok +13
The 2019 edition of Stack Overflow developer survey highlights that, for the first time, Python outperformed Java in terms of popularity. The gap between Python and Java further wi…
Greening Large Language Models of Code
Jieke Shi, Zhou Yang, Hong Jin Kang +3
Large language models of code have shown remarkable effectiveness across various software engineering tasks. Despite the availability of many cloud services built upon these powerf…
Evaluating SZZ Implementations: An Empirical Study on the Linux Kernel
Yunbo Lyu, Hong Jin Kang, Ratnadira Widyasari +2
The SZZ algorithm is used to connect bug-fixing commits to the earlier commits that introduced bugs. This algorithm has many applications and many variants have been devised. Howev…
CHRONOS: Time-Aware Zero-Shot Identification of Libraries from Vulnerability Reports
Yunbo Lyu, Thanh Le-Cong, Hong Jin Kang +5
Tools that alert developers about library vulnerabilities depend on accurate, up-to-date vulnerability databases which are maintained by security researchers. These databases recor…
SkipFuzz: Active Learning-based Input Selection for Fuzzing Deep Learning Libraries
Hong Jin Kang, Pattarakrit Rattanukul, Stefanus Agus Haryono +4
Many modern software systems are enabled by deep learning libraries such as TensorFlow and PyTorch. As deep learning is now prevalent, the security of deep learning libraries is a…
AutoPruner: Transformer-Based Call Graph Pruning
Thanh Le-Cong, Hong Jin Kang, Truong Giang Nguyen +4
Constructing a static call graph requires trade-offs between soundness and precision. Program analysis techniques for constructing call graphs are unfortunately usually imprecise.…
Compressing Pre-trained Models of Code into 3 MB
Jieke Shi, Zhou Yang, Bowen Xu +2
Although large pre-trained models of code have delivered significant advancements in various code processing tasks, there is an impediment to the wide and fluent adoption of these…
How to Find Actionable Static Analysis Warnings: A Case Study with FindBugs
Rahul Yedida, Hong Jin Kang, Huy Tu +3
Automatically generated static code warnings suffer from a large number of false alarms. Hence, developers only take action on a small percent of those warnings. To better predict…
Active Learning of Discriminative Subgraph Patterns for API Misuse Detection
Hong Jin Kang, David Lo
A common cause of bugs and vulnerabilities are the violations of usage constraints associated with Application Programming Interfaces (APIs). API misuses are common in software pro…
Detecting False Alarms from Automatic Static Analysis Tools: How Far are We?
Hong Jin Kang, Khai Loong Aw, David Lo
Automatic static analysis tools (ASATs), such as Findbugs, have a high false alarm rate. The large number of false alarms produced poses a barrier to adoption. Researchers have pro…
Adversarial Specification Mining
Hong Jin Kang, David Lo
There have been numerous studies on mining temporal specifications from execution traces. These approaches learn finite-state automata (FSA) from execution traces when running test…
BiasFinder: Metamorphic Test Generation to Uncover Bias for Sentiment Analysis Systems
Muhammad Hilmi Asyrofi, Zhou Yang, Imam Nur Bani Yusuf +3
Artificial Intelligence (AI) software systems, such as Sentiment Analysis (SA) systems, typically learn from large amounts of data that may reflect human biases. Consequently, the…
AndroEvolve: Automated Update for Android Deprecated-API Usages
Stefanus Agus Haryono, Ferdian Thung, David Lo +5
Android operating system (OS) is often updated, where each new version may involve API deprecation. Usages of deprecated APIs in Android apps need to be updated to ensure the apps'…
AndroEvolve: Automated Android API Update with Data Flow Analysis and Variable Denormalization
Stefanus A. Haryono, Ferdian Thung, David Lo +5
The Android operating system is frequently updated, with each version bringing a new set of APIs. New versions may involve API deprecation; Android apps using deprecated APIs need…
Automatic Android Deprecated-API Usage Update by Learning from Single Updated Example
Stefanus Agus Haryono, Ferdian Thung, Hong Jin Kang +5
Due to the deprecation of APIs in the Android operating system,developers have to update usages of the APIs to ensure that their applications work for both the past and current ver…
CC2Vec: Distributed Representations of Code Changes
Thong Hoang, Hong Jin Kang, Julia Lawall +1
Existing work on software patches often use features specific to a single task. These works often rely on manually identified features, and human effort is required to identify the…