FSE 2019
150 papers
- A comprehensive study on deep learning bug characteristics
- A conceptual replication of continuous integration pain points in the context of Travis CI
- A dynamic taint analyzer for distributed systems
- A framework for writing trigger-action todo comments in executable format
- A graph-based framework for analysing the design of smart contracts
- A large-scale empirical study of compiler errors in continuous integration
- A learning-based approach for automatic construction of domain glossary from source code and documentation
- A longitudinal field study on creation and use of domain-specific languages in industry
- A segmented memory model for symbolic execution
- A statistics-based performance testing methodology for cloud applications
- A taxonomy of metrics for software fault prediction
- Achilles' heel of plug-and-Play software architectures: a grounded theory based approach
- AggrePlay: efficient record and replay of multi-threaded programs
- An IR-based approach towards automated integration of geo-spatial datasets in map-based software systems
- An empirical study of real-world variability bugs detected by variability-oblivious tools
- An industrial application of test selection using test suite diagnosability
- Analysing socio-technical congruence in the package dependency network of Cargo
- AnswerBot: an answer summary generation tool based on stack overflow
- Architectural decision forces at work: experiences in an industrial consultancy setting
- Are existing code smells relevant in web games? an empirical study
- Assessing the quality of the steps to reproduce in bug reports
- Automated patch porting across forked projects
- Automatically detecting missing cleanup for ungraceful exits
- BIKER: a tool for Bi-information source based API method recommendation
- Binary reduction of dependency graphs
- Bisecting commits and modeling commit risk during testing
- Black box fairness testing of machine learning models
- Boosting operational DNN testing efficiency through conditioning
- Bridging the gap between ML solutions and their business requirements using feature interactions
- Cerebro: context-aware adaptive fuzzing for effective vulnerability detection
- CloneCognition: machine learning based code clone validation tool
- Code coverage at Google
- Compiler bug isolation via effective witness test program generation
- Concolic testing for models of state-based systems
- Concolic testing with adaptively changing search heuristics
- Context-aware test case adaptation
- DISCOVER: detecting algorithmic complexity vulnerabilities
- Decomposing the rationale of code commits: the software developer's perspective
- DeepDelta: learning to repair compilation errors
- DeepStellar: model-based quantitative analysis of stateful deep learning systems
- Design diagrams as ontological source
- Design thinking in practice: understanding manifestations of design thinking in software engineering
- Detecting concurrency memory corruption vulnerabilities
- Developing secure bitcoin contracts with BitML
- Distributed execution of test cases and continuous integration
- Diversity-based web test generation
- EVMFuzzer: detect EVM vulnerabilities via fuzz testing
- Eagle: a team practices audit framework for agile software development
- Effective error-specification inference via domain-knowledge expansion
- Effects of explicit feature traceability on program comprehension
- Efficient computing in a safe environment
- Empirical review of Java program repair tools: a large-scale experiment on 2, 141 bugs and 23, 551 repair attempts
- Empirical study of customer communication problem in agile requirements engineering
- Employing different program analysis methods to study bug evolution
- Ethnographic research in software engineering: a critical review and checklist
- Evaluating model testing and model checking for finding requirements violations in Simulink models
- Event trace reduction for effective bug replay of Android apps via differential GUI state analysis
- Evolving with patterns: a 31-month startup experience report
- Exploratory test agents for stateful software systems
- Exploring and exploiting the correlations between bug-inducing and bug-fixing commits
- FUDGE: fuzz driver generation at scale
- Failure-driven program repair
- File tracing by intercepting disk requests
- FinExpert: domain-specific test generation for FinTech systems
- Finding and understanding bugs in software model checkers
- Finding the shortest path to reproduce a failure found by TESTAR
- Generating automated and online test oracles for Simulink models with continuous and uncertain behaviors
- Generating effective test cases for self-driving cars from police reports
- Generating query-specific class API summaries
- Going big: a large-scale study on what big data developers ask
- Governify for APIs: SLA-driven ecosystem for API governance
- Helping developers search and locate task-relevant information in natural language documents
- How bad can a bug get? an empirical analysis of software failures in the OpenStack cloud computing platform
- Identifying the most valuable developers using artifact traceability graphs
- Improving requirements engineering practices to support experimentation in software startups
- Industry practice of coverage-guided enterprise Linux kernel fuzzing
- Insights from open source software supply chains (keynote)
- JCOMIX: a search-based tool to detect XML injection vulnerabilities in web applications
- Java reflection API: revealing the dark side of the mirror
- Just fuzz it: solving floating-point constraints using coverage-guided fuzzing
- Latent error prediction and fault localization for microservice applications by learning from system trace logs
- Lifting Datalog-based analyses to software product lines
- Living with feature interactions (keynote)
- Locating vulnerabilities in binaries via memory layout recovering
- MOTSD: a multi-objective test selection tool using test suite diagnosability
- Machine learning-assisted performance testing
- Machine-learning supported vulnerability detection in source code
- Managing the open cathedral
- Mart: a mutant generation tool for LLVM
- Maximal multi-layer specification synthesis
- Mitigating power side channels during compilation
- Model checking a C++ software framework: a case study
- Model-based testing of breaking changes in Node.js libraries
- Monitoring-aware IDEs
- Nodest: feedback-driven static analysis of Node.js applications
- NullAway: practical type-based null safety for Java
- On extending single-variant model transformations for reuse in software product line engineering
- On the scalable dynamic taint analysis for distributed systems
- On the use of lambda expressions in 760 open source Python projects
- On using machine learning to identify knowledge in API reference documentation
- Phoenix: automated data-driven synthesis of repairs for static analysis violations
- Pinpointing performance inefficiencies in Java
- Predicting breakdowns in cloud services (with SPIKE)
- Predicting pull request completion time: a case study on large scale cloud services
- Preference-wise testing for Android applications
- Principles of feature modeling
- PyGGI 2.0: language independent genetic improvement framework
- REINAM: reinforcement learning for input-grammar inference
- Recommending related functions from API usage-based function clone structures
- Reducing the workload of the Linux kernel maintainers: multiple-committer model
- Releasing fast and slow: an exploratory case study at ING
- Rethinking Regex engines to address ReDoS
- Risks and assets: a qualitative study of a software ecosystem in the mining industry
- Robust log-based anomaly detection on unstable log data
- SAR: learning cross-language API mappings with little knowledge
- SEntiMoji: an emoji-powered learning approach for sentiment analysis in software engineering
- Safety and robustness for deep learning with provable guarantees (keynote)
- Semantic relation based expansion of abbreviations
- ServDroid: detecting service usage inefficiencies in Android applications
- Software clusterings with vector semantics and the call graph
- Static deep neural network analysis for robustness
- Storm: program reduction for testing and debugging probabilistic programming systems
- Suggesting reviewers of software artifacts using traceability graphs
- Symbolic execution-driven extraction of the parallel execution plans of Spark applications
- TERMINATOR: better automated UI test case prioritization
- Tackling knowledge needs during software evolution
- Target-driven compositional concolic testing with function summary refinement for effective bug detection
- Test-related factors and post-release defects: an empirical study
- Testing scratch programs automatically
- The importance of accounting for real-world labelling when predicting software vulnerabilities
- The lessons software engineers can extract from painters to improve the software development process
- The review linkage graph for code review analytics: a recovery approach and empirical study
- The role of limitations and SLAs in the API industry
- Together strong: cooperative Android app analysis
- Towards more efficient meta-heuristic algorithms for combinatorial test generation
- Tuning backfired? not (always) your fault: understanding and detecting configuration-related performance bugs
- Understanding GCC builtins to develop better tools
- Understanding flaky tests: the developer's perspective
- Understanding source code comments at large-scale
- Using microservices for non-intrusive customization of multi-tenant SaaS
- Using software testing to repair models
- VARYS: an agnostic model-driven monitoring-as-a-service framework for the cloud
- Web test dependency detection
- What the fork: a study of inefficient and efficient forking practices in social coding
- When deep learning met code search
- White-box testing of big data analytics with complex user-defined functions
- WhoDo: automating reviewer suggestions at scale
- Why aren't regular expressions a lingua franca? an empirical study on the re-use and portability of regular expressions
- iFixFlakies: a framework for automatically fixing order-dependent flaky tests
- iFixR: bug report driven program repair