ICSE 2014- Proceedings of the 36th International Conference on Software Engineering

Full Citation in the ACM Digital Library

SESSION: Perspectives on Software Engineering

Cowboys, ankle sprains, and keepers of quality: how is video game development different from software development?

Analyze this! 145 questions for data scientists in software engineering

The dimensions of software engineering success

How do professionals perceive legacy systems and software modernization?

SESSION: Testing 1

SimRT: an automated framework to support regression testing for data races

Performance regression testing target prioritization via performance risk analysis

Code coverage for suite evaluation by developers

Time pressure: a controlled experiment of test case development and requirements review

SESSION: Modeling

Verifying component and connector models against crosscutting structural views

TradeMaker: automated dynamic analysis of synthesized tradespaces

Lifting model transformations to product lines

Automated goal operationalisation based on interpolation and SAT solving

SESSION: Configuration, Variability, and Clones

Mining configuration constraints: static analyses and empirical results

Which configuration option should I change?

Detecting differences across multiple instances of code clones

Achieving accuracy and scalability simultaneously in detecting application clones on Android markets

SESSION: Social Aspects of Software Engineering

Two's company, three's a crowd: a case study of crowdsourcing software development

Does latitude hurt while longitude kills? geographical and temporal separation in a large scale software development project

Software engineering at the speed of light: how developers stay current using twitter

Building it together: synchronous development in OSS

SESSION: Repair

A critical review of "automatic patch generation learned from human-written patches": essay on the problem statement and the evaluation of automatic software repair

Data-guided repair of selection statements

The strength of random search on automated program repair

MintHint: automated synthesis of repair hints

SESSION: Formal Analysis

Mining behavior models from user-intensive web applications

Reviser: efficiently updating IDE-/IFDS-based data-flow analyses in response to incremental program changes

Automated design of self-adaptive software with control-theoretical formal guarantees

Perturbation analysis of stochastic systems with empirical distribution parameters

SESSION: Configuration Management

How do centralized and distributed version control systems impact software changes?

Transition from centralized to decentralized version control systems: a case study on reasons, barriers, and outcomes

An exploratory study of the pull-based software development model

Influence of social and technical factors for evaluating contribution in GitHub

SESSION: Software Understanding

Understanding JavaScript event-based interactions

Understanding understanding source code with functional magnetic resonance imaging

Improving automated source code summarization via an eye-tracking study of programmers

Using psycho-physiological measures to assess task difficulty in software development

SESSION: Prediction

Dictionary learning based software defect prediction

Comparing static bug finders and statistical prediction

Coverage is not strongly correlated with test suite effectiveness

How to make best use of cross-company data in software effort estimation?

SESSION: Concurrency

CARE: cache guided deterministic replay for concurrent Java programs

Inferring models of concurrent systems from logs of their behavior with CSight

Unleashing concurrency for irregular data structures

ConLock: a constraint-based approach to dynamic checking on deadlocks in multithreaded programs

SESSION: Apps and Energy

SEEDS: a software engineer's energy-optimization decision support framework

APE: an annotation language and middleware for energy-efficient mobile application development

Making web applications more energy efficient for OLED smartphones

SESSION: Testing 2

Micro execution

Unit test virtualization with VMVM

Interpolated n-grams for model based testing

An analysis of the relationship between conditional entropy and failed error propagation in software testing

SESSION: Code Contracts, Invariants, and Robustness

Trading robustness for maintainability: an empirical study of evolving c# programs

Case studies and tools for contract specifications

Using dynamic analysis to generate disjunctive invariants

Inductive verification of data model invariants for web applications

SESSION: Search and APIs

How do API documentation and static typing affect API usability?

Live API documentation

CodeHint: dynamic and interactive synthesis of code snippets

Spotting working code examples

SESSION: Adaptive Systems

Self-adaptation through incremental generative model transformations at runtime

Hope for the best, prepare for the worst: multi-tier control for adaptive systems

Brownout: building more robust cloud applications

Integrating adaptive user interface capabilities in enterprise applications

SESSION: Build and Package Management

Programmers' build errors: a case study (at google)

Understanding and improving software build teams

Towards efficient optimization in package management systems

Easing software component repository evolution

SESSION: Mining

AR-miner: mining informative reviews for developers from mobile app marketplace

Mining billions of AST nodes to study actual and potential usage of Java language features

Mining interprocedural, data-oriented usage patterns in JavaScript web applications

Mining fine-grained code changes to detect unknown change patterns

SESSION: Automated Bug Detection and Repair

Detecting memory leaks through introspective dynamic behavior modelling using machine learning

Automated memory leak detection for production use

Vejovis: suggesting fixes for JavaScript faults

Is spreadsheet ambiguity harmful? detecting and repairing spreadsheet smells due to ambiguous computation

SESSION: Requirements

Us and them: a study of privacy requirements across north america, asia, and europe

Distilling privacy requirements for mobile applications

Uncertainty, risk, and information value in software requirements and architecture

Requirements fixation

SESSION: Testing and Conformance Verification

Exploring variability-aware execution for testing plugin-based web applications

A study of equivalent and stubborn mutation operators using human analysis of equivalence

Cross-checking oracles from intrinsic software redundancy

Mind the gap: assessing the conformance of software traceability to relevant guidelines

SESSION: Modeling and Interfaces

Effects of using examples on structural model comprehension: a controlled experiment

Design rule spaces: a new form of architecture insight

Controlled modeling environment using flexibly-formatted spreadsheets

Feature maintenance with emergent interfaces

SESSION: Apps and Verification

Detecting performance anti-patterns for applications developed using object-relational mapping

Characterizing and detecting performance bugs for smartphone applications

Checking app behavior against app descriptions

AsDroid: detecting stealthy behaviors in Android applications by user interface and program behavior contradiction

SESSION: Symbolic Execution

Patch verification via multiversion interprocedural control flow graphs

Property differencing for incremental checking

Symbolic assume-guarantee reasoning through BDD learning

Enhancing symbolic execution with veritesting

SESSION: Refactoring and Reverse Engineering

Manual refactoring changes with automated refactoring validation

Alternate refactoring paths reveal usability problems

A study and toolkit for asynchronous programming in c#

Reuse-oriented reverse engineering of functional components from x86 binaries