FSE 2014- Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering

Full Citation in the ACM Digital Library

SESSION: Keynote

Omlet: a revolution against big-brother social networks (invited talk)

SESSION: Award Talks

From software engineering to software systems (invited talk)

Ten years with evidence-based software engineering. what is it? has it had any impact? what¿s next? (invited talk)

SESSION: Perspectives from Industry

Experiences developing tools for developers (invited talk)

Are you getting traction? tales from the tech transfer trenches (invited talk)

Data hard with a vengeance (invited talk)

SESSION: Helping and Understanding Developers

Developers¿ code context models for change tasks

Software developers¿ perceptions of productivity

Enablers, inhibitors, and perceptions of testing in novice software teams

Feedback generation for performance problems in introductory programming assignments

SESSION: Debugging and Refactoring

Test case purification for improving fault localization

Automatically generated patches as debugging aids: a human study

A foundation for refactoring C with macros

Vector abstraction and concretization for scalable detection of refactorings

SESSION: Static Analysis

FlowTwist: efficient context-sensitive inside-out taint analysis for large codebases

ORBS: language-independent program slicing

JSAI: a static analysis platform for JavaScript

A path-sensitively sliced control flow graph

SESSION: Mining Software Repositories

Let's talk about it: evaluating contributions through discussion in GitHub

A large scale study of programming languages and code quality in github

Mining preconditions of APIs in large-scale code corpus

Automatic mining of specifications from invocation traces and method invariants

SESSION: Formal Methods and Verification

Counterexample guided abstraction refinement of product-line behavioural models

Powering the static driver verifier using corral

Verifying CTL-live properties of infinite state models using an SMT solver

Efficient runtime-enforcement techniques for policy weaving

SESSION: Regression Testing

Techniques for improving regression testing in continuous integration development environments

Balancing trade-offs in test-suite reduction

Identifying the characteristics of vulnerable code changes: an empirical study

SESSION: Improving Recommender Systems

On the localness of software

Learning natural coding conventions

How should we measure functional sameness from program source code? an exploratory study on Java methods

The plastic surgery hypothesis

SESSION: Concurrency and Parallelism

Grail: context-aware fixing of concurrency bugs

AI: a lightweight system for tolerating concurrency bugs

Retrofitting concurrency for Android applications through refactoring

Sherlock: scalable deadlock detection for concurrent programs

SESSION: Self Adaptation and Repair / Program Analysis Applications

Search-based synthesis of equivalent method sequences

Beyond the rainbow: self-adaptive failure avoidance in configurable systems

Semantics-based obfuscation-resilient binary code similarity comparison with applications to software plagiarism detection

Focus-shifting patterns of OSS developers and their congruence with call graphs

SESSION: Symbolic Execution

How we get there: a context-guided search strategy in concolic testing

Solving complex path conditions through heuristic search on induced polytopes

Statistical symbolic execution with informed sampling

SymJS: automatic symbolic testing of JavaScript web applications

SESSION: Software Documentation

Selection and presentation practices for code example summarization

Mining idioms from source code

Automatic generation of release notes

SESSION: Web Apps

Discovering refactoring opportunities in cascading style sheets

SAFEWAPI: web API misuse detector for web applications

Building call graphs for embedded client-side code in dynamic web applications

SESSION: Architecture and Design

Sketches and diagrams in practice

Architecture challenges for internal software ecosystems: a large-scale industry case study

Variable-specific resolutions for feature interactions

An empirical study on program comprehension with reactive programming

SESSION: Mobile Apps

Apposcopy: semantics-based detection of Android malware through static analysis

Detecting energy bugs and hotspots in mobile apps

EvoDroid: segmented evolutionary testing of Android apps

Prioritizing the devices to test your app on: a case study of Android game apps

SESSION: Testing and Oracles

Improving oracle quality by detecting brittle assertions and unused inputs in tests

On the efficiency of automated testing

An empirical analysis of flaky tests

Are mutants a valid substitute for real faults in software testing?

SESSION: Evolution and Maintenance

No issue left behind: reducing information overload in issue tracking

Panning requirement nuggets in stream of software maintenance tickets

Learning to rank relevant files for bug reports using domain knowledge

Querying sequential software engineering data

SESSION: Tool Demonstrations

Tsmart-GalsBlock: a toolkit for modeling, validation, and synthesis of multi-clocked embedded systems

A tool suite for the model-driven software engineering of cyber-physical systems

XMLMate: evolutionary XML test generation

CHOReOSynt: enforcing choreography realizability in the future internet

RaPiD: a toolkit for reliability analysis of non-deterministic systems

Aalta: an LTL satisfiability checker over Infinite/Finite traces

Omen+: a precise dynamic deadlock detector for multithreaded Java libraries

Archie: a tool for detecting, monitoring, and preserving architecturally significant code

Linking sketches and diagrams to source code artifacts

BumbleBee: a refactoring environment for spreadsheet formulas

RefDistiller: a refactoring aware code review tool for inspecting manual refactoring edits

Critics: an interactive code review tool for searching and inspecting systematic changes

ConceptCloud: a tagcloud browser for software archives

Titan: a toolset that connects software architecture with quality analysis

BugLocalizer: integrated tool support for bug localization

SESSION: Technical Presentations 1

Diagnose crashing faults on production software

SESSION: Technical Presentations 2

Integrating approaches for feature implementation

Numerical program analysis and testing

Traceability and model checking to support safety requirement verification

Dealing with uncertainty in verification of nondeterministic systems

SESSION: Technical Presentations 3

Static analysis driven performance and energy testing

Autonomous compliance monitoring of non-functional properties

Detecting, isolating, and enforcing dependencies among and within test cases

Improving the software testing skills of novices during onboarding through social transparency

SESSION: Technical Presentations 4

Minimizing software conflicts through proactive detection of conflicts and task scheduling

SESSION: Student Research Competition Posters

Detecting and preventing the architectural roots of bugs

Estimating the effectiveness of spectrum-based fault localization

Managing lots of models: the FaMine approach

Social network analysis in open source software peer review

Towards a theory of architectural styles

Software programmer management: a machine learning and human computer interaction framework for optimal task assignment

SESSION: Visions and Challenges

Methodology and culture: drivers of mediocrity in software engineering?

Known unknowns: testing in the presence of uncertainty

Speculative reprogramming

A variability perspective of mutation analysis

Mining micro-practices from operational data

Achieving lightweight trustworthy traceability

Software maintenance like maintenance in other engineering disciplines