ICSE 2024

234 papers accepted.

Updated on 2024-05-02.

You can find the lastest information here.


ACAV: A Framework for Automatic Causality Analysis in Autonomous Vehicle Accident Recordings

A Comprehensive Study of Learning-based Android Malware Detectors under Challenging Environments

A First Look at the Inheritance-Induced Redundant Test Execution

A Framework For Inferring Properties of User-Defined Functions

A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and Challenges

Analyzing and Debugging Normative Requirements via Satisfiability Checking

An Empirical Study of Data Disruption by Ransomware Attacks

An Empirical Study on Low GPU Utilization of Deep Learning Jobs

An Empirical Study on Noisy Label Learning for Program Understanding

An Empirical Study on Oculus Virtual Reality Applications: Security and Privacy Perspectives

An Exploratory Investigation of Log Anomalies in Unmanned Aerial Vehicles

Are Prompt Engineering and TODO Comments Friends or Foes? An Evaluation on GitHub Copilot

Are We There Yet? Unraveling the State-of-the-Art Smart Contract Fuzzers

Are Your Requests Your True Needs? Checking Excessive Data Collection in VPA App

A Study on the Pythonic Functional Constructs' Understandability

A Theory of Scientific Programming Efficacy

Attention! Your Copied Data is Under Monitoring: A Systematic Study of Clipboard Usage in Android Apps

A User-centered Security Evaluation of Copilot

Automated Program Repair, What Is It Good For? Not Absolutely Nothing!

Automatically Detecting Reflow Accessibility Issues in Responsive Web Pages

Automatic Semantic Augmentation of Language Model Prompts (for Code Summarization)

Barriers for Students During Code Change Comprehension

BinaryAI: Binary Software Composition Analysis via Intelligent Binary Source Code Matching

BinAug: Enhancing Binary Similarity Analysis with Low-Cost Input Repairing

Block-based Programming for Two-Armed Robots: A Comparative Study

BOMs Away! Inside the Minds of Stakeholders: A Comprehensive Study of Bills of Materials for Software Systems

Breaking the Flow: A Study of Interruptions During Software Engineering Activities

Causal Relationships and Programming Outcomes: A Transcranial Magnetic Stimulation Experiment

CERT: Finding Performance Issues in Database Systems Through the Lens of Cardinality Estimation

Characterizing Software Maintenance Meetings: Information Shared, Discussion Outcomes, and Information Captured

ChatGPT Incorrectness Detection in Software Reviews

ChatGPT-Resistant Screening Instrument for Identifying Non-Programmers

CIT4DNN: Generating Diverse and Rare Inputs for Neural Networks Using Latent Space Combinatorial Testing

Cneps: A Precise Approach for Examining Dependencies among Third-Party C/C++ Open-Source Components

Coca: Improving and Explaining Graph Neural Network-Based Vulnerability Detection Systems

Co-Creation in Fully Remote Software Teams

CoderEval: A Benchmark of Pragmatic Code Generation with Generative Pre-trained Models

Combining Structured Static Code Information and Dynamic Symbolic Traces for Software Vulnerability Prediction

Compiler-directed Migrating API Callsite of Client Code

Comprehensive Semantic Repair of Obsolete GUI Test Scripts for Mobile Applications

Concrete Constraint Guided Symbolic Execution

Constraint Based Program Repair for Persistent Memory Bugs

Context-Aware Name Recommendation for Field Renaming

CrashTranslator: Automatically Reproducing Mobile Application Crashes Directly from Stack Trace

Cross-Inlining Binary Function Similarity Detection

Crossover in Parametric Fuzzing

Curiosity-Driven Testing for Sequential Decision-Making Process

Data-Driven Evidence-Based Syntactic Sugar Design

Dataflow Analysis-Inspired Deep Learning for Efficient Vulnerability Detection

Deep Combination of CDCL(T) and Local Search for Satisfiability Modulo Non-Linear Integer Arithmetic Theory

Deep Learning or Classical Machine Learning? An Empirical Study on Log-Based Anomaly Detection

DeepLSH: Deep Locality-Sensitive Hash Learning for Fast and Efficient Near-Duplicate Crash Report Detection

Deeply Reinforcing Android GUI Testing with Deep Reinforcement Learning

DeepSample: DNN sampling-based testing for operational accuracy assessment

DEMISTIFY: Identifying On-device Machine Learning Models Stealing and Reuse Vulnerabilities in Mobile Apps

Demystifying and Detecting Misuses of Deep Learning APIs

Demystifying Compiler Unstable Feature Usage and Impacts in the Rust Ecosystem

Detecting Automatic Software Plagiarism via Token Sequence Normalization

Detecting Logic Bugs in Graph Database Management Systems via Injective and Surjective Graph Pattern Transformation

Development in times of hype: How freelancers explore Generative AI?

DivLog: Log Parsing with Prompt Enhanced In-Context Learning

Do Automatic Test Generation Tools Generate Flaky Tests?

DocFlow: Extracting Taint Specifications from Software Documentation

Domain Knowledge Matters: Improving Prompts with Fix Templates for Repairing Python Type Errors

DSFM: Enhancing Functional Code Clone Detection with Deep Subtree Interactions

ECFuzz: Effective Configuration Fuzzing for Large-Scale Systems

EDEFuzz: A Web API Fuzzer for Excessive Data Exposures

Efficiently Trimming the Fat: Streamlining Software Dependencies with Java Reflection and Dependency Analysis

EGFE: End-to-end Grouping of Fragmented Elements in UI Designs with Multimodal Learning

Empirical Analysis of Vulnerabilities Life Cycle in Golang Ecosystem

Empirical Study of the Docker Smells Impact on the Image Size

Enabling Runtime Verification of Causal Discovery Algorithms with Automated Conditional Independence Reasoning

Enhancing Exploratory Testing by Large Language Model and Knowledge Graph

Evaluating Code Summarization Techniques: A New Metric and an Empirical Characterization

Evaluating Large Language Models in Class-Level Code Generation

Exploiting Library Vulnerability via Migration Based Automating Test Generation

Exploring Experiences with Automated Program Repair in Practice

Exploring the Potential of ChatGPT in Automated Code Refinement: An Empirical Study

Extrapolating Coverage Rate in Greybox Fuzzing

FAIR: Flow Type-Aware Pre-Training of Compiler Intermediate Representations

Fairness Improvement with Multiple Protected Attributes: How Far Are We?

Fast Deterministic Black-box Context-free Grammar Inference

Finding XPath Bugs in XML Document Processors via Differential Testing

Fine-grained, accurate and scalable source differencing

Fine-SE: Integrating Semantic Features and Expert Features for Software Effort Estimation

FlakeSync: Automatically Repairing Async Flaky Tests

FlashSyn: Flash Loan Attack Synthesis via Counter Example Driven Approximation

Fuzz4All: Universal Fuzzing with Large Language Models

FuzzInMem: Fuzzing Programs via In-memory Structures

FuzzSlice: Pruning False Positives in Static Analysis Warnings through Function-Level Fuzzing

GenderMag Improves Discoverability in the Field, Especially for Women

Generating REST API Specifications through Static Analysis

GPTScan: Detecting Logic Vulnerabilities in Smart Contracts by Combining GPT with Program Analysis

GrammarT5: Grammar-Integrated Pretrained Encoder-Decoder Neural Model for Code

Hard to Read and Understand Pythonic Idioms? DeIdiom and Explain Them in Non-Idiomatic Equivalent Code

High Expectations: An Observational Study of Programming and Cannabis Intoxication

How Are Paid and Volunteer Open Source Developers Different? A Study of the Rust Project

How do Developers Talk about GitHub Actions? Evidence from Online Software Development Community

How Far Are We? The Triumphs and Trials of Generative AI in Learning Software Engineering

How to Support ML End-User Programmers through a Conversational Agent

Hypertesting of Programs: Theoretical Foundation and Automated Test Generation

Identifying Affected Libraries and Their Ecosystems for Open Source Software Vulnerabilities

Improving Smart Contract Security with Contrastive Learning-based Vulnerability Detection

Improving Testing Behavior by Gamifying IntelliJ

Inferring Data Preconditions from Deep Learning Models for Trustworthy Prediction in Deployment

Investigating White-Box Attacks for On-Device Models

Is unsafe an Achilles' Heel? A Comprehensive Study of Safety Requirements in Unsafe Rust Programming

“I tend to view ads almost like a pestilence”: On the Accessibility Implications of Mobile Ads for Blind Users

ITER: Iterative Neural Repair for Multi-Location Patches

It's Not a Feature, It's a Bug: Fault-Tolerant Model Mining from Noisy Data

Kind Controllers and Fast Heuristics for Non-Well-Separated GR(1) Specifications

Knowledge Graph Driven Inference Testing for Question Answering Software

KnowLog: Knowledge Enhanced Pre-trained Language Model for Log Understanding

Language Models for Code Completion: A Practical Evaluation

Large Language Models are Edge-Case Generators: Crafting Unusual Programs for Fuzzing Deep Learning Libraries

Large Language Models are Few-Shot Summarizers: Multi-Intent Comment Generation via In-Context Learning

Large Language Models for Test-Free Fault Localization

Learning and Repair of Deep Reinforcement Learning Policies from Fuzz-Testing Data

Learning-based Widget Matching for Migrating GUI Test Cases

Learning in the Wild: Towards Leveraging Unlabeled Data for Effectively Tuning Pre-trained Code Models

Less is More? An Empirical Study on Configuration Issues in Python PyPI Ecosystem

LibAlchemy: A Two-Layer Persistent Summary Design for Taming Third-Party Libraries in Static Bug-Finding Systems

LibvDiff: Library Version Difference Guided OSS Version Identification in Binaries

LLMParser: An Exploratory Study on Using Large Language Models for Log Parsing

LogShrink: Effective Log Compression by Leveraging Commonality and Variability of Log Data

Lost in Translation: A Study of Bugs Introduced by Large Language Models while Translating Code

Machine Learning is All You Need: A Simple Token-based Approach for Effective Code Clone Detection

Make LLM a Testing Expert: Bringing Human-like Interaction to Mobile GUI Testing via Functionality-aware Decisions

MalCertain: Enhancing Deep Neural Network Based Android Malware Detection by Tackling Prediction Uncertainty

MalwareTotal: Multi-Faceted and Sequence-Aware Bypass Tactics against Static Malware Detection

Marco: A Stochastic Asynchronous Concolic Explorer

MetaLog: Generalizable Cross-System Anomaly Detection from Logs with Meta-Learning

MiniMon: Minimizing Android Applications with Intelligent Monitoring-Based Debloating

Mining Pull Requests to Detect Process Anomalies in Open Source Software Development

Modularizing while Training: a New Paradigm for Modularizing DNN Models

ModuleGuard: Understanding and Detecting Module Conflicts in Python Ecosystem

MotorEase: Automated Detection of Motor Impairment Accessibility Issues in Mobile App UIs

Mozi: Discovering DBMS Bugs via Configuration-Based Equivalent Transformation

MultiTest: Physical-Aware Object Insertion for Testing Multi-sensor Fusion Perception Systems

MUT: Human-in-the-Loop Unit Test Migration

“My GitHub Sponsors profile is live!” Investigating the Impact of Twitter/X Mentions on GitHub Sponsors

Novelty Begets Popularity, But Curbs Participation - A Macroscopic View of the Python Open-Source Ecosystem

NuzzleBug: Debugging Block-Based Programs in Scratch

Object Graph Programming

On Calibration of Pre-trained Code models

On Extracting Specialized Code Abilities from Large Language Models: A Feasibility Study

On the Effectiveness of Function-Level Vulnerability Detectors for Inter-Procedural Vulnerabilities

On the Helpfulness of Answering Developer Questions on Discord with Similar Conversations and Posts from the Past

On Using GUI Interaction Data to Improve Text Retrieval-based Bug Localization

Optimistic Prediction of Synchronization-Reversal Data Races

Out of Context: How important is Local Context in Neural Program Repair?

Out of Sight, Out of Mind: Better Automatic Vulnerability Repair by Broadening Input Ranges and Sources

PonziGuard: Detecting Ponzi Schemes on Ethereum with Contract Runtime Behavior Graph (CRBG)

PPT4J: Patch Presence Test for Java Binaries

Practical Non-Intrusive GUI Exploration Testing with Visual-based Robotic Arms

Practical Program Repair via Preference-based Ensemble Strategy

Precise Sparse Abstract Execution via Cross-Domain Interaction

Predicting Performance and Accuracy of Mixed-Precision Programs for Precision Tuning

Pre-training by Predicting Program Dependencies for Vulnerability Analysis Tasks

PrettySmart: Detecting Permission Re-delegation Vulnerability for Token Behaviors in Smart Contracts

Prism: Decomposing Program Semantics for Code Clone Detection through Compilation

Programming Assistant for Exception Handling with CodeBERT

Prompting Is All Your Need: Automated Android Bug Replay with Large Language Models

Property-Based Testing in Practice

PS3: Precise Patch Presence Test based on Semantic Symbolic Signature

PyAnalyzer: An Effective and Practical Approach for Dependency Extraction from Python Code

PyTy: Repairing Static Type Errors in Python

Raisin: Identifying Rare Sensitive Functions for Bug Detection

ReClues: Representing and indexing failures in parallel debugging with program variables

REDriver: Runtime Enforcement for Autonomous Vehicles

ReFAIR: Toward a Context-Aware Recommender for Fairness Requirements Engineering

Reorder Pointer Flow in Sound Concurrency Bug Prediction

Resource Usage and Optimization Opportunities in Workflows of GitHub Actions

Revealing Hidden Threats: An Empirical Study of Library Misuse in Smart Contracts

Revisiting Android App Categorization

Ripples of a Mutation — An Empirical Study of Propagation Effects in Mutation Testing

RogueOne: Detecting Rogue Updates via Differential Data-flow Analysis Using Trust Domains

ROSInfer: Statically Inferring Behavioral Component Models for ROS-based Robotics Systems

RPG: Rust Library Fuzzing with Pool-based Fuzz Target Generation and Generic Support

RUNNER: Responsible UNfair NEuron Repair for Enhancing Deep Neural Network Fairness

Rust-lancet: Automated Ownership-Rule-Violation Fixing with Behavior Preservation

S3C: Spatial Semantic Scene Coverage for Autonomous Vehicles

Safeguarding DeFi Smart Contracts against Oracle Deviations

Scalable Relational Analysis via Relational Bound Propagation

Scaling Code Pattern Inference with Interactive What-If Analysis

SCTrans: Constructing a Large Public Scenario Dataset for Simulation Testing of Autonomous Driving Systems

SCVHunter: Smart Contract Vulnerability Detection Based on Heterogeneous Graph Attention Network

Sedar: Obtaining High-Quality Seeds for DBMS Fuzzing via Cross-DBMS SQL Transfer

Semantic Analysis of Macro Usage for Portability

Semantic-Enhanced Static Vulnerability Detection in Baseband Firmware

Semantic GUI Scene Learning and Video Alignment for Detecting Duplicate Video-based Bug Reports

Shedding Light on Software Engineering-specific Metaphors and Idioms

Smart Contract and DeFi Security Tools: Do They Meet the Needs of Practitioners?

SpecBCFuzz: Fuzzing LTL Solvers with Boundary Conditions

Streamlining Java Programming: Uncovering Well-Formed Idioms with IdioMine

Strengthening Supply Chain Security with Fine-grained Safe Patch Identification

Supporting Web-based API Searches in the IDE Using Signatures

Symbol-Specific Sparsification of Interprocedural Distributive Environment Problems

Tensor-Aware Energy Accounting

Testing Graph Database Systems via Equivalent Query Rewriting

Testing the Limits: Unusual Text Inputs Generation for Mobile App Crash Detection with Large Language Model

The Classics Never Go Out of Style: An Empirical Study of Downgrades from the Bazel Build Technology

Toward Automatically Completing GitHub Workflows

Toward Improved Deep Learning-based Vulnerability Detection

Towards Causal Deep Learning for Vulnerability Detection

Towards Finding Accounting Errors in Smart Contracts

Towards More Practical Automation of Vulnerability Assessment

Towards Reliable AI: Adequacy Metrics for Ensuring the Quality of System-level Testing of Autonomous Vehicles

Trace-based Multi-Dimensional Root Cause Localization of Performance Issues in Microservice Systems

TRACED: Execution-aware Pre-training for Source Code

Traces of Memorisation in Large Language Models for Code

Translation Validation for JIT Compiler in the V8 JavaScript Engine

Uncovering the Causes of Emotions in Software Developer Communication Using Zero-shot LLMs

Uncover the Premeditated Attacks: Detecting Exploitable Reentrancy Vulnerabilities by Identifying Attacker Contracts

Understanding Transaction Bugs in Database Systems

UniLog: Automatic Logging via LLM and In-Context Learning

Unraveling the Drivers of Sense of Belonging in Software Delivery Teams: Insights from a Large-Scale Survey

Unveiling Memorization in Code Models

Unveiling the Life Cycle of User Feedback: Best Practices from Software Practitioners

Using an LLM to Help With Code Understanding

VeRe: Verification Guided Synthesis for Repairing Deep Neural Networks

Verifying Declarative Smart Contracts

VGX: Large-Scale Sample Generation for Boosting Learning-Based Software Vulnerability Analyses

When Contracts Meets Crypto: Exploring Developers' Struggles with Ethereum Cryptographic APIs

When Neural Code Completion Models Size up the Situation: Attaining Cheaper and Faster Completion through Dynamic Model Inference

Where is it? Tracing the Vulnerability-relevant Files from Vulnerability Reports

Xpert: Empowering Incident Management with Query Recommendations via Large Language Models