FSE 2020
169 papers
- A behavioral notion of robustness for software systems
- A comprehensive study on challenges in deploying deep learning based software
- A first look at good first issues on GitHub
- A first look at the integration of machine learning models in complex autonomous driving systems: a case study on Apollo
- A principled approach to GraphQL query cost analysis
- A randomized controlled trial on the effects of embedded computer language switching
- A theory of the engagement in open source projects via summer of code programs
- AMS: generating AutoML search spaces from weak specifications
- API method recommendation via explicit matching of functionality verb phrases
- ARCADE: an extensible workbench for architecture recovery, change, and decay evaluation
- ARDiff: scaling program equivalence checking via iterative abstraction and refinement of common code
- Adapting bug prediction models to predict reverted commits at Wayfair
- All your app links are belong to us: understanding the threats of instant apps based attacks
- AlloyMC: Alloy meets model counting
- An empirical analysis of the costs of clone- and platform-oriented software reuse
- An empirical study of bots in software development: characteristics and challenges from a practitioner's perspective
- An evaluation of methods to port legacy code to SGX enclaves
- Assisting the elite-driven open source development through activity data
- Attention tracking for developers
- Automated construction of energy test oracles for Android
- Automatically identifying performance issue reports with heuristic linguistic patterns
- BEE: a tool for structuring and analyzing bug reports
- Baital: an adaptive weighted sampling approach for improved t-wise coverage
- Beware the evolving 'intelligent' web service! an integration architecture tactic to guard AI-first components
- Beyond accuracy: assessing software documentation quality
- Biases and differences in code review using medical imaging and eye-tracking: genders, humans, and machines
- Block public access: trust safety verification of access control policies
- Boosting fuzzer efficiency: an information theoretic perspective
- Borrowing your enemy's arrows: the case of code reuse in Android via direct inter-app code invocation
- BugsInPy: a database of existing bugs in Python programs to enable controlled testing and debugging studies
- C2S: translating natural language comments to formal program specifications
- CRSG: a serious game for teaching code review
- Calm energy accounting for multithreaded Java applications
- Can microtask programming work in industry?
- Change impact analysis in Simulink designs of embedded systems
- Clustering test steps in natural language toward automating test automation
- Code recommendation for exception handling
- Community expectations for research artifacts and evaluation processes
- Configuration smells in continuous delivery pipelines: a linter and a six-month study on GitLab
- Continuous experimentation on artificial intelligence software: a research agenda
- Correlations between deep neural network model coverage criteria and model quality
- Cost measures matter for mutation testing study validity
- CrFuzz: fuzzing multi-purpose programs through input validation
- DENAS: automated rule generation by knowledge extraction from neural networks
- Dads: dynamic slicing continuously-running distributed programs with budget constraints
- Deep learning library testing via effective model generation
- DeepCommenter: a deep code comment generation tool with hybrid lexical and syntactical information
- DeepSearch: a simple and effective blackbox attack for deep neural networks
- Detecting and understanding JavaScript global identifier conflicts on the web
- Detecting critical bugs in SMT solvers using blackbox mutational fuzzing
- Detecting numerical bugs in neural network architectures
- Detecting optimization bugs in database engines via non-optimizing reference engine construction
- DiffTech: a tool for differencing similar technologies from question-and-answer discussions
- Dimensions of software configuration: on the configuration context in modern software development
- Do the machine learning models on a crowd sourced platform exhibit bias? an empirical study on model fairness
- Docable: evaluating the executability of software tutorials
- Does stress impact technical interview performance?
- Domain-independent interprocedural program analysis using block-abstraction memoization
- Dynamic slicing for deep neural networks
- Dynamically reconfiguring software microbenchmarks: reducing execution time without sacrificing result quality
- Efficient binary-level coverage analysis
- Efficient customer incident triage via linking with system incidents
- Efficient incident identification from multi-dimensional issue reports via meta-heuristic search
- Efficiently finding higher-order mutants
- Effort-aware just-in-time defect identification in practice: a case study at Alibaba
- Enhancing developer interactions with programming screencasts through accurate code extraction
- Enhancing developers' support on pull requests activities with software bots
- Enhancing the interoperability between deep learning frameworks by model conversion
- Establishing key performance indicators for measuring software-development processes at a large organization
- Estimating GPU memory consumption of deep learning models
- Evolutionary improvement of assertion oracles
- Exempla gratis (E.G.): code examples for free
- Exploring how deprecated Python library APIs are (not) handled
- Exploring the evolution of software practices
- FREPA: an automated and formal approach to requirement modeling and analysis in aircraft control domain
- Fairway: a way to build fair ML software
- Fireteam: a small-team development practice in industry
- Flexeme: untangling commits using lexical flows
- FrUITeR: a framework for evaluating UI test reuse
- Fuzzing: on the exponential cost of vulnerability discovery
- Global cost/quality management across multiple applications
- Graph-based trace analysis for microservice architecture understanding and problem diagnosis
- HISyn: human learning-inspired natural language programming
- Harvey: a greybox fuzzer for smart contracts
- Heard it through the Gitvine: an empirical study of tool diffusion across the npm ecosystem
- How to mitigate the incident? an effective troubleshooting guide recommendation technique for online service systems
- Identifying linked incidents in large-scale online service systems
- Impact of programming languages on energy consumption for mobile devices
- Improving cybersecurity hygiene through JIT patching
- Inductive program synthesis over noisy data
- Inferring and securing software configurations using automated reasoning
- Inherent vacuity for GR(1) specifications
- IntelliCode compose: code generation using transformer
- Intelligent REST API data fuzzing
- Interactive, effort-aware library version harmonization
- Interval counterexamples for loop invariant learning
- Is neuron coverage a meaningful measure for testing deep neural networks?
- JITO: a tool for just-in-time defect identification and localization
- JShrink: in-depth investigation into debloating modern Java applications
- Java Ranger: statically summarizing regions for efficient symbolic execution of Java
- Learning to extract transaction function from requirements: an industrial case on financial software
- LibComp: an IntelliJ plugin for comparing Java libraries
- MCBAT: a practical tool for model counting constraints on bounded integer arrays
- MTFuzz: fuzzing with a multi-task neural network
- Machine learning based test data generation for safety-critical software
- Machine translation testing via pathological invariance
- Making symbolic execution promising by learning aggressive state-pruning strategy
- Mining assumptions for software components using machine learning
- Mining input grammars from dynamic control flow
- ModCon: a model-based testing platform for smart contracts
- Model-based exploration of the frontier of behaviours for deep learning system testing
- Modular collaborative program analysis in OPAL
- Mono2Micro: an AI-based toolchain for evolving monolithic enterprise applications to a microservice architecture
- MutAPK 2.0: a tool for reducing mutation testing effort of Android apps
- Next generation automated software evolution refactoring at scale
- Object detection for graphical user interface: old fashioned or deep learning or a combination?
- On decomposing a deep neural network into modules
- On the naturalness of hardware descriptions
- On the relationship between design discussions and design quality: a case study of Apache projects
- On the relationship between refactoring actions and bugs: a differentiated replication
- Online sports betting through the prism of software engineering
- Operational calibration: debugging confidence errors for DNNs in the field
- PAClab: a program analysis collaboratory
- PCA: memory leak detection using partial call-path analysis
- PRF: a framework for building automatic program repair prototypes for JVM-based languages
- PRODeep: a platform for robustness verification of deep neural networks
- Past-sensitive pointer analysis for symbolic execution
- Questions for data scientists in software engineering: a replication
- Real-time incident prediction for online service systems
- Recommender systems: metric suggestion mechanisms applied to adaptable software dashboards
- Recommending stack overflow posts for fixing runtime exceptions using failure scenario matching
- Reducing DNN labelling cost using surprise adequacy: an industrial case study for autonomous driving
- Reducing implicit gender biases in software development: does intergroup contact theory work?
- Repairing confusion and bias errors for DNN-based image classifiers
- Reusing software engineering knowledge from developer communication
- Revealing the complexity of automotive software
- Robotics software engineering: a perspective from the service robotics domain
- RulePad: interactive authoring of checkable design rules
- SVMRanker: a general termination analysis framework of loop programs via SVM
- SWAN: a static analysis framework for swift
- Scaling static taint analysis to industrial SOA applications: a case study at Alibaba
- Search-based adversarial testing and improvement of constrained credit scoring systems
- Selecting third-party libraries: the practitioners' perspective
- SinkFinder: harvesting hundreds of unknown interesting function pairs with just one seed
- Software documentation and augmented reality: love or arranged marriage?
- Static asynchronous component misuse detection for Android applications
- Synthesizing correct code for machine learning programs
- Testing machine learning code using polyhedral region
- Testing self-adaptive software with probabilistic guarantees on performance metrics
- Thinking aloud about confusing code: a qualitative investigation of program comprehension and atoms of confusion
- Threshy: supporting safe usage of intelligent web services
- Towards automated verification of smart contract fairness
- Towards intelligent incident management: why we need it and how we make it
- Towards learning visual semantics
- Towards transferring lean software startup practices in software engineering education
- TypeWriter: neural type prediction with search-based validation
- UBITect: a precise and scalable method to detect use-before-initialization bugs in Linux kernel
- UIED: a hybrid tool for GUI element detection
- UIScreens: extracting user interface screens from mobile programming video tutorials
- Understanding and automatically detecting conflicting interactions between smart home IoT applications
- Understanding and discovering software configuration dependencies in cloud and datacenter systems
- Understanding build issue resolution in practice: symptoms and fix patterns
- Understanding the impact of GitHub suggested changes on recommendations between developers
- Understanding type changes in Java
- WebJShrink: a web service for debloating Java bytecode
- WebRR: self-replay enhanced robust record/replay for web application testing
- When does my program do this? learning circumstances of software behavior
- eQual: informing early design decisions
- tsDetect: an open source test smells detection tool