ICSE 2020
129 papers
- A comprehensive study of autonomous vehicle bugs
- A cost-efficient approach to building in continuous integration
- A large-scale empirical study on vulnerability distribution within projects and the lessons learned
- A novel approach to tracing safety requirements and state-based design models
- A study on the lifecycle of flaky tests
- A study on the prevalence of human values in software engineering publications, 2015 - 2018
- A tale from the trenches: cognitive biases and software development
- Accessibility issues in Android apps: state of affairs, sentiments, and ways forward
- Adapting requirements models to varying environments
- An empirical assessment of security risks of global Android banking apps
- An empirical study on API parameter rules
- An empirical study on program failures of deep learning jobs
- An evidence-based inquiry into the use of grey literature in software engineering
- An investigation of cross-project learning in online just-in-time software defect prediction
- Ankou: guiding grey-box fuzzing towards combinatorial difference
- Approximation-refinement testing of compute-intensive cyber-physical models: an approach based on system identification
- Automatic testing and improvement of machine translation
- Automatically testing string solvers
- BCFA: bespoke control flow analysis for CFA at scale
- Big code != big vocabulary: open-vocabulary models for source code
- Burn after reading: a shadow stack with microsecond-level runtime rerandomization for protecting return addresses
- CC2Vec: distributed representations of code changes
- CPC: automatically classifying and propagating natural language comments via program analysis
- Caspar: extracting and synthesizing user stories of problems from app reviews
- Causal testing: understanding defects' root causes
- Co-evolving code with evolving metamodels
- Collaborative bug finding for Android apps
- ComboDroid: generating high-quality test inputs for Android apps via use case combinations
- Comparing formal tools for system design: a judgment study
- Conquering the extensional scalability problem for value-flow analysis frameworks
- Context-aware in-process crowdworker recommendation
- DLFix: context-based code transformation learning for automated program repair
- Debugging inputs
- DeepBillboard: systematic physical-world testing of autonomous driving systems
- Demystify official API usage directives with crowdsourced API misuse scenarios, erroneous code examples and patches
- Detection of hidden feature requests from massive chat messages via deep siamese network
- Dissector: input validation for deep learning applications by crossing-layer dissection
- Efficient generation of error-inducing floating-point inputs via symbolic execution
- Empirical review of automated analysis tools on 47, 587 Ethereum smart contracts
- Engineering gender-inclusivity into software: ten teams' tales from the trenches
- Establishing multilevel test-to-code traceability links
- Explaining pair programming session dynamics from knowledge gaps
- Extracting taint specifications for JavaScript libraries
- Finding client-side business flow tampering vulnerabilities
- Fuzz testing based data augmentation to improve robustness of deep neural networks
- Gang of eight: a defect taxonomy for infrastructure as code scripts
- Gap between theory and practice: an empirical study of security patches in solidity
- HARP: holistic analysis for refactoring Python-based analytics programs
- Heaps'n leaks: how heap snapshots improve Android taint analysis
- Here we go again: why is it difficult for developers to learn another programming language?
- HeteroRefactor: refactoring for heterogeneous computing with FPGA
- How Android developers handle evolution-induced API compatibility issues: a large-scale study
- How do companies collaborate in open source ecosystems?: an empirical study of OpenStack
- How does misconfiguration of analytic services compromise mobile privacy?
- How has forking changed in the last 20 years?: a study of hard forks on GitHub
- How software practitioners use informal local meetups to share software engineering knowledge
- How to not get rich: an empirical study of donations in open source
- HyDiff: hybrid differential software analysis
- Impact analysis of cross-project bugs on software ecosystems
- Importance-driven deep learning system testing
- Improving data scientist efficiency with provenance
- Improving the effectiveness of traceability link recovery using hierarchical bayesian networks
- Interpreting cloud computer vision pain-points: a mining study of stack overflow
- Is rust used safely by software developers?
- JVM fuzzing for JIT-induced side-channel detection
- Lazy product discovery in huge configuration spaces
- Learning from, understanding, and supporting DevOps artifacts for docker
- Learning-to-rank vs ranking-to-learn: strategies for regression testing in continuous integration
- Low-overhead deadlock prediction
- Managing data constraints in database-backed web applications
- MemLock: memory usage guided fuzzing
- Misbehaviour prediction for autonomous driving systems
- Mitigating turnover with code review recommendation: balancing expertise, workload, and knowledge distribution
- Multiple-entry testing of Android applications by constructing activity launching contexts
- Near-duplicate detection in web app model inference
- Neurological divide: an fMRI study of prose and code writing
- On learning meaningful assert statements for unit test cases
- On the efficiency of test suite based program repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programs
- On the recall of static call graph construction in practice
- One size does not fit all: a grounded theory and online survey study of developer preferences for security warning types
- POSIT: simultaneously tagging natural and programming languages
- Pipelining bottom-up data flow analysis
- Planning for untangling: predicting the difficulty of merge conflicts
- Practical fault detection in puppet programs
- Predicting developers' negative feelings about code review
- Primers or reminders?: the effects of existing review comments on code review
- Quickly generating diverse valid test inputs with reinforcement learning
- Recognizing developers' emotions while programming
- Reducing run-time adaptation space via analysis of possible utility bounds
- ReluDiff: differential verification of deep neural networks
- Repairing deep neural networks: fix patterns and challenges
- Retrieval-based neural source code summarization
- Revealing injection vulnerabilities by leveraging existing tests
- RoScript: a visual script driven truly non-intrusive robotic testing system for touch screen applications
- SAVER: scalable, precise, and safe memory-error repair
- SLACC: simion-based language agnostic code clones
- SLEMI: equivalence modulo input (EMI) based mutation of CPS models for finding compiler bugs in Simulink
- Scaling open source communities: an empirical study of the Linux kernel
- Schrödinger's security: opening the box on app developers' security rationale
- Securing unsafe rust programs with XRust
- Seenomaly: vision-based linting of GUI animation effects against design-don't guidelines
- Simulee: detecting CUDA synchronization bugs via memory-access modeling
- Software documentation: the practitioners' perspective
- Software visualization and deep transfer learning for effective software defect prediction
- SpecuSym: speculative symbolic execution for cache timing leak detection
- Structure-invariant testing for machine translation
- Studying the use of Java logging utilities in the wild
- Suggesting natural method names to check name consistencies
- Symbolic verification of message passing interface programs
- TRADER: trace divergence analysis and embedding regulation for debugging recurrent neural networks
- Tailoring programs for static analysis via program transformation
- Taming behavioral backward incompatibilities via cross-project testing and analysis
- Targeted greybox fuzzing with static lookahead analysis
- Taxonomy of real faults in deep learning systems
- Testing DNN image classifiers for confusion & bias errors
- Testing file system implementations on layered models
- Time-travel testing of Android apps
- Towards characterizing adversarial defects of deep learning software from the lens of uncertainty
- Towards the use of the readily available tests from the release pipeline as performance tests: are we there yet?
- Translating video recordings of mobile app usages into replayable scenarios
- Typestate-guided fuzzer for discovering use-after-free vulnerabilities
- Unblind your apps: predicting natural-language labels for mobile GUI components by deep learning
- Understanding the automated parameter optimization on transfer learning for cross-project defect prediction: an empirical study
- Unsuccessful story about few shot malware family classification and siamese network to the rescue
- Verifying object construction
- Watchman: monitoring dependency conflicts for Python library ecosystem
- When APIs are intentionally bypassed: an exploratory study of API workarounds
- White-box fairness testing through adversarial sampling
- sFuzz: an efficient adaptive fuzzer for solidity smart contracts