FSE 2017
124 papers
- A compiler and verifier for page access oblivious computation
- A fast causal profiler for task parallel programs
- A feasibility study of using automated program repair for introductory programming assignments
- A symbolic justice violations transition system for unrealizable GR(1) specifications
- A tool for automated reasoning about traces based on configurable formal semantics
- ARCC: assistant for repetitive code comprehension
- ARTINALI: dynamic invariant detection for cyber-physical system security
- Adaptively generating high quality fixes for atomicity violations
- Application of search-based software engineering methodologies for test suite optimization and evolution in mission critical mobile application development
- Applying deep learning based automatic bug triager to industrial projects
- Are deep neural networks the best choice for modeling source code?
- AtexRace: across thread and execution sampling for in-house race detection
- Attributed variability models: outside the comfort zone
- Automated control of multiple software goals using multiple actuators
- Automated identification of security issues from commit messages and bug reports
- Automated testing of hybrid Simulink/Stateflow controllers: industrial case studies
- Automatic generation of inter-component communication exploits for Android applications
- Automatic inference of code transforms for patch generation
- Automatically analyzing groups of crashes for finding correlations
- Automatically diagnosing and repairing error handling bugs in C
- Automating traceability link recovery through classification
- BDCI: behavioral driven conflict identification
- Bayesian specification learning for finding API usage errors
- Better test cases for better automated program repair
- CLTSA: labelled transition system analyser with counting fluent support
- Cherry-picking of code commits in long-running, multi-release software
- Cimplifier: automatically debloating containers
- CodeCarbonCopy
- CodeMatch: obfuscation won't conceal your repackaged app
- Constraint normalization and parameterized caching for quantitative program analysis
- Continuous variable-specific resolutions of feature interactions
- Cooperative kernels: GPU multitasking for blocking algorithms
- Counterexample-guided approach to finding numerical invariants
- Craig vs. Newton in software model checking
- DESCRY: reproducing system-level concurrency failures
- DRACO: discovering refactorings that improve architecture using fine-grained co-change dependencies
- DecisionDroid: a supervised learning-based system to identify cloned Android applications
- Detecting missing information in bug descriptions
- Detecting wearable app permission mismatches: a case study on Android wear
- Discovering relational specifications
- DynAlloy analyzer: a tool for the specification and analysis of alloy models with dynamic behaviour
- Easy over hard: a case study on deep learning
- Enabling mutation testing for Android apps
- FOSS version differentiation as a benchmark for static analysis security testing tools
- Failure-directed program trimming
- Fairness testing: testing software for discrimination
- File-level vs. module-level regression test selection for .NET
- Finding near-optimal configurations in product lines by random sampling
- From scenario modeling to scenario programming for reactive systems with dynamic topology
- Generalized observational slicing for tree-represented modelling languages
- Guided, stochastic model-based GUI testing of Android apps
- Guidelines for adopting frontend architectures and patterns in microservices-based systems
- Improving performance of automatic program repair using learned heuristics
- Improving understanding of dynamically typed software developed by agile practitioners
- Is there a mismatch between real-world feature models and product-line research?
- JoanAudit: a tool for auditing common injection vulnerabilities
- Kmax: finding all configurations of Kbuild makefiles statically
- LAMP: data provenance for graph based machine learning algorithms through derivative computation
- LaChouTi: kernel vulnerability responding framework for the fragmented Android devices
- Loopster: static loop termination analysis
- Measuring neural efficiency of program comprehension
- Measuring the cost of regression testing in practice: a study of Java projects using continuous integration
- Model-based dynamic software project scheduling
- Model-based privacy and security analysis with CARiSMA
- Model-driven software engineering in practice: privacy-enhanced filtering of network traffic
- Model-level, platform-independent debugging in the context of the model-driven development of real-time systems
- Modeling and verification of evolving cyber-physical spaces
- More accurate recommendations for method-level changes
- Natural language querying in SAP-ERP platform
- NoFAQ: synthesizing command repairs from examples
- OASIS: prioritizing static analysis warnings for Android apps based on app user reviews
- On evidence preservation requirements for forensic-ready systems
- On the scalability of Linux kernel maintainers' work
- On the similarity of software development documentation
- PATDroid: permission-aware GUI testing of Android
- Practical symbolic verification of regular properties
- Probabilistic model checking of perturbed MDPs with applications to cloud computing
- QEMU-based framework for non-intrusive virtual machine instrumentation and introspection
- QTEP: quality-aware test case prioritization
- RGSE: a regular property guided symbolic executor for Java
- Reasons and drawbacks of using trivial npm packages: the developers' perspective
- Recommender system for model driven software development
- Record and replay for Android: are we there yet in industrial cases?
- Recovering clear, natural identifiers from obfuscated JS names
- Reference architectures and Scrum: friends or foes?
- Reflections on the REST architectural style and "principled design of the modern web architecture" (impact paper award)
- Regression test selection across JVM boundaries
- Reproducing concurrency failures from crash stacks
- Revisiting unsupervised learning for defect prediction
- RunDroid: recovering execution call graphs for Android applications
- S3: syntax- and semantic-guided repair synthesis via programming by examples
- Screening heuristics for project gating systems
- Serverless computing: economic and architectural impact
- Software engineering research results in industrial practice: a tale of two projects (invited talk)
- Static analysis for optimizing big data queries
- Steelix: program-state based binary fuzzing
- Strong agile metrics: mining log data to determine predictive power of software metrics for continuous delivery teams
- Suggesting meaningful variable names for decompiled code: a machine translation approach
- Summarizing software engineering communication artifacts from different sources
- Symbolic execution of programmable logic controller code
- Synergistic debug-repair of heap manipulations
- System performance optimization via design and configuration space exploration
- The MONDO collaboration framework: secure collaborative modeling over existing version control systems
- The care and feeding of wild-caught mutants
- The power of "why" and "why not": enriching scenario exploration with provenance
- The rising tide lifts all boats: the advancement of science in cyber security (invited talk)
- Thread-modular static analysis for relaxed memory models
- Toward full elasticity in distributed static analysis: the case of callgraph analysis
- Trade-offs in continuous integration: assurance, security, and flexibility
- Understanding misunderstandings in source code
- Understanding the impact of refactoring on smells: a longitudinal study of 23 software projects
- Understanding the impact of support for iteration on code search
- User- and analysis-driven context aware software development in mobile computing
- Using bad learners to find good configurations
- Using search-based software engineering to handle the changes with uncertainties for self-adaptive systems
- VART: a tool for the automatic detection of regression faults
- Verifying the forecast: how climate models are developed and tested (invited talk)
- What do software engineers care about? gaps between research and practice
- When program analysis meets mobile security: an industrial study of misusing Android internet sockets
- Where is the bug and how is it fixed? an experiment with practitioners
- Why do developers use trivial packages? an empirical case study on npm
- Why modern open source projects fail
- XSearch: a domain-specific cross-language relevant question retrieval tool
- µDroid: an energy-aware mutation testing framework for Android