ASE 2018
112 papers
- A DSL for requirements in the context of a seamless approach
- A genetic algorithm for goal-conflict identification
- A large-scale study of test coverage evolution
- A multi-objective framework for effective performance fault injection in distributed systems
- A neural framework for retrieval and summarization of source code
- A symbolic model checking approach to the analysis of string and length constraints
- A tale of two cities: how WebView induces bugs to Android applications
- A unified lattice model and framework for purity analyses
- API method recommendation without worrying about the task-API knowledge gap
- Achieving test automation with testers without coding skills: an industrial report
- An automated approach to estimating code coverage measures via execution logs
- An empirical investigation into learning bug-fixing patches in the wild via neural machine translation
- An empirical study of Android test generation tools in industrial cases
- An evolutionary approach for analyzing Alloy specifications
- Android testing via synthetic symbolic execution
- Assessing and evaluating functional suitability of software
- Assessing the type annotation burden
- AutoConfig: automatic configuration tuning for distributed message systems
- Automated directed fairness testing
- Automated model repair for Alloy
- Automated requirements engineering challenges with examples from small unmanned aerial systems (keynote)
- Automatic mining of constraints for monitoring systems of systems
- Automatically quantifying the impact of a change in systems (journal-first abstract)
- Automatically testing implementations of numerical abstract domains
- Bounded model checking of C++ programs based on the Qt cross-platform framework (journal-first abstract)
- Break the dead end of dynamic slicing: localizing data and control omission bug
- CANAL: a cache timing analysis framework via LLVM transformation
- CPA-SymExec: efficient symbolic execution in CPAchecker
- Characterizing and identifying misexposed activities in Android applications
- Characterizing the natural language descriptions in software logging statements
- ClDiff: generating concise linked code differences
- Client-specific equivalence checking
- Code2graph: automatic generation of static call graphs for Python source code
- Concolic testing for deep neural networks
- Continuous code quality: are we (really) doing that?
- ContractFuzzer: fuzzing smart contracts for vulnerability detection
- Control flow-guided SMT solving for program verification
- DKVF: a framework for rapid prototyping and evaluating distributed key-value stores
- Datalog-based scalable semantic diffing of concurrent programs
- Deep learning based feature envy detection
- DeepGauge: multi-granularity testing criteria for deep learning systems
- DeepRoad: GAN-based metamorphic testing and input validation framework for autonomous driving systems
- Delta debugging microservice systems
- Descartes: a PITest engine to detect pseudo-tested methods: tool demonstration
- Detecting and summarizing GUI changes in evolving mobile apps
- Differential program analysis with fuzzing and symbolic execution
- Domain-independent multi-threaded software model checking
- DroidMate-2: a platform for Android test generation
- Dual-force: understanding WebView malware via cross-language forced execution
- ESBMC 5.0: an industrial-strength C model checker
- Effective API recommendation without historical software repositories
- Effectiveness and challenges in generating concurrent tests for thread-safe classes
- Efficiently manifesting asynchronous programming errors in Android apps
- Empirically assessing opportunities for prefetching and caching in mobile apps
- Estimating the number of remaining links in traceability recovery (journal-first abstract)
- Expandable group identification in spreadsheets
- Experiences applying automated architecture analysis tool suites
- FairFuzz: a targeted mutation strategy for increasing greybox fuzz testing coverage
- Generating reusable web components from mockups
- How many of all bugs do we find? a study of static bug detectors
- Implementation science for software engineering: bridging the gap between research and practice (keynote)
- Improving automatic source code summarization via deep reinforcement learning
- Is this class thread-safe? inferring documentation using graph-based learning
- L-CMP: an automatic learning-based parameterized verification tool
- Lightweight source code monitoring with Triggr
- Live versioning of web applications through refactoring
- Loop path reduction by state pruning
- Mining file histories: should we consider branches?
- Model-driven run-time enforcement of complex role-based access control policies
- Navigating the maze: the impact of configurability in bioinformatics software
- Neural-machine-translation-based commit message generation: how far are we?
- Noise and heterogeneity in historical build data: an empirical study of Travis CI
- OCELOT: a search-based test-data generation tool for C
- On adopting linters to deal with performance concerns in Android apps
- PARTI: a multi-interval theory solver for symbolic execution
- PFix: fixing concurrency bugs based on memory access patterns
- PaMpeR: proof method recommendation system for Isabelle/HOL
- PerfLearner: learning from bug reports to understand and generate performance test frames
- Personalized teammate recommendation for crowdsourced software developers
- RUDSEA: recommending updates of Dockerfiles via software environment analysis
- ReScue: crafting regular expression DoS attacks
- Reducing interactive refactoring effort via clustering-based multi-objective search
- Replay without recording of production bugs for service oriented applications
- S-gram: towards semantic-aware security auditing for Ethereum smart contracts
- SEEDE: simultaneous execution and editing in a development environment
- SRCIROR: a toolset for mutation testing of C source code and LLVM intermediate representation
- Safe stream-based programming with refinement types
- Scalable incremental building with dynamic task dependencies
- Scheduling constraint based abstraction refinement for weak memory models
- Self-protection of Android systems from inter-component communication attacks
- Semantic crash bucketing
- Software engineering techniques applied to relational databases
- Software heritage: collecting, preserving, and sharing all our source code (keynote)
- TDroid: exposing app switching attacks in Android with control flow specialization
- TRIMMER: application specialization for code debloating
- Tackling combinatorial explosion: a study of industrial needs and practices for analyzing highly configurable systems
- Tell them apart: distilling technology differences from crowd-scale comparison discussions
- Template-guided concolic testing via online learning
- Testing autonomous cars for feature interaction failures using many-objective search
- The electrum analyzer: model checking relational first-order temporal specifications
- The need for context in software engineering (IEEE CS Harlan Mills award keynote)
- Top-down model-driven engineering of web services from extended OpenAPI models
- Towards automatic restrictification of CUDA kernel arguments
- Towards automating disambiguation of regulations: using the wisdom of crowds
- Understanding Semi-structured merge conflict characteristics in open-source Java projects (journal-first abstract)
- Understanding and detecting callback compatibility issues for Android applications
- Understanding and detecting evolution-induced compatibility issues in Android apps
- VulSeeker: a semantic learning based vulnerability seeker for cross-platform binary
- code_call_lens: raising the developer awareness of critical code
- jStanley: placing a green thumb on Java collections
- node2defect: using network embedding to improve software defect prediction
- αDiff: cross-version binary code similarity detection with DNN