ICSE 2024
237 papers
- "I tend to view ads almost like a pestilence": On the Accessibility Implications of Mobile Ads for Blind Users
- "My GitHub Sponsors profile is live!" Investigating the Impact of Twitter/X Mentions on GitHub Sponsors
- 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
- A Study on the Pythonic Functional Constructs' Understandability
- A Theory of Scientific Programming Efficacy
- A User-centered Security Evaluation of Copilot
- ACAV: A Framework for Automatic Causality Analysis in Autonomous Vehicle Accident Recordings
- 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
- Analyzing and Debugging Normative Requirements via Satisfiability Checking
- 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
- Attention! Your Copied Data is Under Monitoring: A Systematic Study of Clipboard Usage in Android Apps
- Automated Program Repair, What Is It Good For? Not Absolutely Nothing!
- Automatic Semantic Augmentation of Language Model Prompts (for Code Summarization)
- Automatically Detecting Reflow Accessibility Issues in Responsive Web Pages
- BOMs Away! Inside the Minds of Stakeholders: A Comprehensive Study of Bills of Materials for Software Systems
- Barriers for Students During Code Change Comprehension
- BinAug: Enhancing Binary Similarity Analysis with Low-Cost Input Repairing
- BinaryAI: Binary Software Composition Analysis via Intelligent Binary Source Code Matching
- Block-based Programming for Two-Armed Robots: A Comparative Study
- Breaking the Flow: A Study of Interruptions During Software Engineering Activities
- CERT: Finding Performance Issues in Database Systems Through the Lens of Cardinality Estimation
- 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
- CSChecker: Revisiting GDPR and CCPA Compliance of Cookie Banners on the Web
- Causal Relationships and Programming Outcomes: A Transcranial Magnetic Stimulation Experiment
- Challenges and Opportunities in Model Checking Large-scale Distributed Systems
- 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
- Co-Creation in Fully Remote Software Teams
- Coca: Improving and Explaining Graph Neural Network-Based Vulnerability Detection Systems
- Code Search is All You Need? Improving Code Suggestions with Code Search
- 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
- DEMISTIFY: Identifying On-device Machine Learning Models Stealing and Reuse Vulnerabilities in Mobile Apps
- DSFM: Enhancing Functional Code Clone Detection with Deep Subtree Interactions
- 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
- DeepSample: DNN sampling-based testing for operational accuracy assessment
- Deeply Reinforcing Android GUI Testing with Deep Reinforcement Learning
- Demystifying Compiler Unstable Feature Usage and Impacts in the Rust Ecosystem
- Demystifying and Detecting Misuses of Deep Learning APIs
- Detecting Automatic Software Plagiarism via Token Sequence Normalization
- Detecting Logic Bugs in Graph Database Management Systems via Injective and Surjective Graph Query 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
- ECFuzz: Effective Configuration Fuzzing for Large-Scale Systems
- EDEFuzz: A Web API Fuzzer for Excessive Data Exposures
- EGFE: End-to-end Grouping of Fragmented Elements in UI Designs with Multimodal Learning
- Efficiently Trimming the Fat: Streamlining Software Dependencies with Java Reflection and Dependency Analysis
- 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-SE: Integrating Semantic Features and Expert Features for Software Effort Estimation
- Fine-grained, accurate and scalable source differencing
- 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
- GPTScan: Detecting Logic Vulnerabilities in Smart Contracts by Combining GPT with Program Analysis
- GenderMag Improves Discoverability in the Field, Especially for Women: An Multi-Year Case Study of Suggest Edit, a Code Review Feature
- Generating REST API Specifications through Static 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 Far Are We? The Triumphs and Trials of Generative AI in Learning Software Engineering
- How do Developers Talk about GitHub Actions? Evidence from Online Software Development Community
- How to Support ML End-User Programmers through a Conversational Agent
- Hypertesting of Programs: Theoretical Foundation and Automated Test Generation
- ITER: Iterative Neural Repair for Multi-Location Patches
- 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
- It's Not a Feature, It's a Bug: Fault-Tolerant Model Mining from Noisy Data
- JLeaks: A Featured Resource Leak Repository Collected From Hundreds of Open-Source Java Projects
- Kind Controllers and Fast Heuristics for Non-Well-Separated GR(1) Specifications
- KnowLog: Knowledge Enhanced Pre-trained Language Model for Log Understanding
- Knowledge Graph Driven Inference Testing for Question Answering Software
- LLMParser: An Exploratory Study on Using Large Language Models for Log Parsing
- 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 in the Wild: Towards Leveraging Unlabeled Data for Effectively Tuning Pre-trained Code Models
- Learning-based Widget Matching for Migrating GUI Test Cases
- 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
- 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
- MAFT: Efficient Model-Agnostic Fairness Testing for Deep Neural Networks via Zero-Order Gradient Search
- MUT: Human-in-the-Loop Unit Test Migration
- 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
- 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 Using GUI Interaction Data to Improve Text Retrieval-based Bug Localization
- 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
- 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
- PPT4J: Patch Presence Test for Java Binaries
- PS3: Precise Patch Presence Test based on Semantic Symbolic Signature
- PonziGuard: Detecting Ponzi Schemes on Ethereum with Contract Runtime Behavior Graph (CRBG)
- Practical Non-Intrusive GUI Exploration Testing with Visual-based Robotic Arms
- Practical Program Repair via Preference-based Ensemble Strategy
- Pre-training by Predicting Program Dependencies for Vulnerability Analysis Tasks
- Precise Sparse Abstract Execution via Cross-Domain Interaction
- Predicting Performance and Accuracy of Mixed-Precision Programs for Precision Tuning
- Predicting open source contributor turnover from value-related discussions: An analysis of GitHub issues
- 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 You Need: Automated Android Bug Replay with Large Language Models
- Property-Based Testing in Practice
- PyAnalyzer: An Effective and Practical Approach for Dependency Extraction from Python Code
- PyTy: Repairing Static Type Errors in Python
- REDriver: Runtime Enforcement for Autonomous Vehicles
- 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
- Raisin: Identifying Rare Sensitive Functions for Bug Detection
- ReClues: Representing and indexing failures in parallel debugging with program variables
- ReFAIR: Toward a Context-Aware Recommender for Fairness Requirements Engineering
- Recovering Trace Links Between Software Documentation And Code
- 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
- Rust-lancet: Automated Ownership-Rule-Violation Fixing with Behavior Preservation
- S3C: Spatial Semantic Scene Coverage for Autonomous Vehicles
- 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
- Safeguarding DeFi Smart Contracts against Oracle Deviations
- Scalable Relational Analysis via Relational Bound Propagation
- Scaling Code Pattern Inference with Interactive What-If Analysis
- Sedar: Obtaining High-Quality Seeds for DBMS Fuzzing via Cross-DBMS SQL Transfer
- Semantic Analysis of Macro Usage for Portability
- Semantic GUI Scene Learning and Video Alignment for Detecting Duplicate Video-based Bug Reports
- Semantic-Enhanced Static Vulnerability Detection in Baseband Firmware
- Shedding Light on Software Engineering-specific Metaphors and Idioms
- Smart Contract and DeFi Security Tools: Do They Meet the Needs of Practitioners?
- Software Engineering Research in a World with Generative Artificial Intelligence
- 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
- TRACED: Execution-aware Pre-training for Source Code
- TRIAD: Automated Traceability Recovery based on Biterm-enhanced Deduction of Transitive Links among Artifacts
- 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
- Traces of Memorisation in Large Language Models for Code
- Translation Validation for JIT Compiler in the V8 JavaScript Engine
- Trustworthy by Design
- Uncover the Premeditated Attacks: Detecting Exploitable Reentrancy Vulnerabilities by Identifying Attacker Contracts
- Uncovering the Causes of Emotions in Software Developer Communication Using Zero-shot LLMs
- 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
- VGX: Large-Scale Sample Generation for Boosting Learning-Based Software Vulnerability Analyses
- VeRe: Verification Guided Synthesis for Repairing Deep Neural Networks
- Verifying Declarative Smart Contracts
- 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