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

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?

  • Emerson Murphy-Hill
  • Thomas Zimmermann
  • Nachiappan Nagappan

Analyze this! 145 questions for data scientists in software engineering

  • Andrew Begel
  • Thomas Zimmermann

The dimensions of software engineering success

  • Paul Ralph
  • Paul Kelly

How do professionals perceive legacy systems and software modernization?

  • Ravi Khadka
  • Belfrit V. Batlajery
  • Amir M. Saeidi
  • Slinger Jansen
  • Jurriaan Hage

SESSION: Testing 1

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

  • Tingting Yu
  • Witawas Srisa-an
  • Gregg Rothermel

Performance regression testing target prioritization via performance risk analysis

  • Peng Huang
  • Xiao Ma
  • Dongcai Shen
  • Yuanyuan Zhou

Code coverage for suite evaluation by developers

  • Rahul Gopinath
  • Carlos Jensen
  • Alex Groce

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

  • Mika V. Mäntylä
  • Kai Petersen
  • Timo O. A. Lehtinen
  • Casper Lassenius

SESSION: Modeling

Verifying component and connector models against crosscutting structural views

  • Shahar Maoz
  • Jan Oliver Ringert
  • Bernhard Rumpe

TradeMaker: automated dynamic analysis of synthesized tradespaces

  • Hamid Bagheri
  • Chong Tang
  • Kevin Sullivan

Lifting model transformations to product lines

  • Rick Salay
  • Michalis Famelis
  • Julia Rubin
  • Alessio Di Sandro
  • Marsha Chechik

Automated goal operationalisation based on interpolation and SAT solving

  • Renzo Degiovanni
  • Dalal Alrajeh
  • Nazareno Aguirre
  • Sebastian Uchitel

SESSION: Configuration, Variability, and Clones

Mining configuration constraints: static analyses and empirical results

  • Sarah Nadi
  • Thorsten Berger
  • Christian Kästner
  • Krzysztof Czarnecki

Which configuration option should I change?

  • Sai Zhang
  • Michael D. Ernst

Detecting differences across multiple instances of code clones

  • Yun Lin
  • Zhenchang Xing
  • Yinxing Xue
  • Yang Liu
  • Xin Peng
  • Jun Sun
  • Wenyun Zhao

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

  • Kai Chen
  • Peng Liu
  • Yingjun Zhang

SESSION: Social Aspects of Software Engineering

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

  • Klaas-Jan Stol
  • Brian Fitzgerald

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

  • Patrick Wagstrom
  • Subhajit Datta

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

  • Leif Singer
  • Fernando Figueira Filho
  • Margaret-Anne Storey

Building it together: synchronous development in OSS

  • Qi Xuan
  • Vladimir Filkov

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

  • Martin Monperrus

Data-guided repair of selection statements

  • Divya Gopinath
  • Sarfraz Khurshid
  • Diptikalyan Saha
  • Satish Chandra

The strength of random search on automated program repair

  • Yuhua Qi
  • Xiaoguang Mao
  • Yan Lei
  • Ziying Dai
  • Chengsong Wang

MintHint: automated synthesis of repair hints

  • Shalini Kaleeswaran
  • Varun Tulsian
  • Aditya Kanade
  • Alessandro Orso

SESSION: Formal Analysis

Mining behavior models from user-intensive web applications

  • Carlo Ghezzi
  • Mauro Pezzè
  • Michele Sama
  • Giordano Tamburrelli

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

  • Steven Arzt
  • Eric Bodden

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

  • Antonio Filieri
  • Henry Hoffmann
  • Martina Maggio

Perturbation analysis of stochastic systems with empirical distribution parameters

  • Guoxin Su
  • David S. Rosenblum

SESSION: Configuration Management

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

  • Caius Brindescu
  • Mihai Codoban
  • Sergii Shmarkatiuk
  • Danny Dig

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

  • Kıvanç Muşlu
  • Christian Bird
  • Nachiappan Nagappan
  • Jacek Czerwonka

An exploratory study of the pull-based software development model

  • Georgios Gousios
  • Martin Pinzger
  • Arie van Deursen

Influence of social and technical factors for evaluating contribution in GitHub

  • Jason Tsay
  • Laura Dabbish
  • James Herbsleb

SESSION: Software Understanding

Understanding JavaScript event-based interactions

  • Saba Alimadadi
  • Sheldon Sequeira
  • Ali Mesbah
  • Karthik Pattabiraman

Understanding understanding source code with functional magnetic resonance imaging

  • Janet Siegmund
  • Christian Kästner
  • Sven Apel
  • Chris Parnin
  • Anja Bethmann
  • Thomas Leich
  • Gunter Saake
  • André Brechmann

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

  • Paige Rodeghero
  • Collin McMillan
  • Paul W. McBurney
  • Nigel Bosch
  • Sidney D'Mello

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

  • Thomas Fritz
  • Andrew Begel
  • Sebastian C. Müller
  • Serap Yigit-Elliott
  • Manuela Züger

SESSION: Prediction

Dictionary learning based software defect prediction

  • Xiao-Yuan Jing
  • Shi Ying
  • Zhi-Wu Zhang
  • Shan-Shan Wu
  • Jin Liu

Comparing static bug finders and statistical prediction

  • Foyzur Rahman
  • Sameer Khatri
  • Earl T. Barr
  • Premkumar Devanbu

Coverage is not strongly correlated with test suite effectiveness

  • Laura Inozemtseva
  • Reid Holmes

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

  • Leandro L. Minku
  • Xin Yao

SESSION: Concurrency

CARE: cache guided deterministic replay for concurrent Java programs

  • Yanyan Jiang
  • Tianxiao Gu
  • Chang Xu
  • Xiaoxing Ma
  • Jian Lu

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

  • Ivan Beschastnikh
  • Yuriy Brun
  • Michael D. Ernst
  • Arvind Krishnamurthy

Unleashing concurrency for irregular data structures

  • Peng Liu
  • Charles Zhang

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

  • Yan Cai
  • Shangru Wu
  • W. K. Chan

SESSION: Apps and Energy

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

  • Irene Manotas
  • Lori Pollock
  • James Clause

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

  • Nima Nikzad
  • Octav Chipara
  • William G. Griswold

Making web applications more energy efficient for OLED smartphones

  • Ding Li
  • Angelica Huyen Tran
  • William G. J. Halfond

SESSION: Testing 2

Micro execution

  • Patrice Godefroid

Unit test virtualization with VMVM

  • Jonathan Bell
  • Gail Kaiser

Interpolated n-grams for model based testing

  • Paolo Tonella
  • Roberto Tiella
  • Cu Duy Nguyen

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

  • Kelly Androutsopoulos
  • David Clark
  • Haitao Dan
  • Robert M. Hierons
  • Mark Harman

SESSION: Code Contracts, Invariants, and Robustness

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

  • Nélio Cacho
  • Thiago César
  • Thomas Filipe
  • Eliezio Soares
  • Arthur Cassio
  • Rafael Souza
  • Israel Garcia
  • Eiji Adachi Barbosa
  • Alessandro Garcia

Case studies and tools for contract specifications

  • Todd W. Schiller
  • Kellen Donohue
  • Forrest Coward
  • Michael D. Ernst

Using dynamic analysis to generate disjunctive invariants

  • ThanhVu Nguyen
  • Deepak Kapur
  • Westley Weimer
  • Stephanie Forrest

Inductive verification of data model invariants for web applications

  • Ivan Bocić
  • Tevfik Bultan

SESSION: Search and APIs

How do API documentation and static typing affect API usability?

  • Stefan Endrikat
  • Stefan Hanenberg
  • Romain Robbes
  • Andreas Stefik

Live API documentation

  • Siddharth Subramanian
  • Laura Inozemtseva
  • Reid Holmes

CodeHint: dynamic and interactive synthesis of code snippets

  • Joel Galenson
  • Philip Reames
  • Rastislav Bodik
  • Björn Hartmann
  • Koushik Sen

Spotting working code examples

  • Iman Keivanloo
  • Juergen Rilling
  • Ying Zou

SESSION: Adaptive Systems

Self-adaptation through incremental generative model transformations at runtime

  • Bihuan Chen
  • Xin Peng
  • Yijun Yu
  • Bashar Nuseibeh
  • Wenyun Zhao

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

  • Nicolas D'Ippolito
  • Víctor Braberman
  • Jeff Kramer
  • Jeff Magee
  • Daniel Sykes
  • Sebastian Uchitel

Brownout: building more robust cloud applications

  • Cristian Klein
  • Martina Maggio
  • Karl-Erik Årzén
  • Francisco Hernández-Rodriguez

Integrating adaptive user interface capabilities in enterprise applications

  • Pierre A. Akiki
  • Arosha K. Bandara
  • Yijun Yu

SESSION: Build and Package Management

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

  • Hyunmin Seo
  • Caitlin Sadowski
  • Sebastian Elbaum
  • Edward Aftandilian
  • Robert Bowdidge

Understanding and improving software build teams

  • Shaun Phillips
  • Thomas Zimmermann
  • Christian Bird

Towards efficient optimization in package management systems

  • Alexey Ignatiev
  • Mikoláš Janota
  • Joao Marques-Silva

Easing software component repository evolution

  • Jérôme Vouillon
  • Mehdi Dogguy
  • Roberto Di Cosmo

SESSION: Mining

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

  • Ning Chen
  • Jialiu Lin
  • Steven C. H. Hoi
  • Xiaokui Xiao
  • Boshen Zhang

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

  • Robert Dyer
  • Hridesh Rajan
  • Hoan Anh Nguyen
  • Tien N. Nguyen

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

  • Hung Viet Nguyen
  • Hoan Anh Nguyen
  • Anh Tuan Nguyen
  • Tien N. Nguyen

Mining fine-grained code changes to detect unknown change patterns

  • Stas Negara
  • Mihai Codoban
  • Danny Dig
  • Ralph E. Johnson

SESSION: Automated Bug Detection and Repair

Detecting memory leaks through introspective dynamic behavior modelling using machine learning

  • Sangho Lee
  • Changhee Jung
  • Santosh Pande

Automated memory leak detection for production use

  • Changhee Jung
  • Sangho Lee
  • Easwaran Raman
  • Santosh Pande

Vejovis: suggesting fixes for JavaScript faults

  • Frolin S. Ocariza, Jr.
  • Karthik Pattabiraman
  • Ali Mesbah

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

  • Wensheng Dou
  • Shing-Chi Cheung
  • Jun Wei

SESSION: Requirements

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

  • Swapneel Sheth
  • Gail Kaiser
  • Walid Maalej

Distilling privacy requirements for mobile applications

  • Keerthi Thomas
  • Arosha K. Bandara
  • Blaine A. Price
  • Bashar Nuseibeh

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

  • Emmanuel Letier
  • David Stefan
  • Earl T. Barr

Requirements fixation

  • Rahul Mohanani
  • Paul Ralph
  • Ben Shreeve

SESSION: Testing and Conformance Verification

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

  • Hung Viet Nguyen
  • Christian Kästner
  • Tien N. Nguyen

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

  • Xiangjuan Yao
  • Mark Harman
  • Yue Jia

Cross-checking oracles from intrinsic software redundancy

  • Antonio Carzaniga
  • Alberto Goffi
  • Alessandra Gorla
  • Andrea Mattavelli
  • Mauro Pezzè

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

  • Patrick Rempel
  • Patrick Mäder
  • Tobias Kuschke
  • Jane Cleland-Huang

SESSION: Modeling and Interfaces

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

  • Dina Zayan
  • Michał Antkiewicz
  • Krzysztof Czarnecki

Design rule spaces: a new form of architecture insight

  • Lu Xiao
  • Yuanfang Cai
  • Rick Kazman

Controlled modeling environment using flexibly-formatted spreadsheets

  • Hisashi Miyashita
  • Hideki Tai
  • Shunichi Amano

Feature maintenance with emergent interfaces

  • Márcio Ribeiro
  • Paulo Borba
  • Christian Kästner

SESSION: Apps and Verification

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

  • Tse-Hsun Chen
  • Weiyi Shang
  • Zhen Ming Jiang
  • Ahmed E. Hassan
  • Mohamed Nasser
  • Parminder Flora

Characterizing and detecting performance bugs for smartphone applications

  • Yepang Liu
  • Chang Xu
  • Shing-Chi Cheung

Checking app behavior against app descriptions

  • Alessandra Gorla
  • Ilaria Tavecchia
  • Florian Gross
  • Andreas Zeller

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

  • Jianjun Huang
  • Xiangyu Zhang
  • Lin Tan
  • Peng Wang
  • Bin Liang

SESSION: Symbolic Execution

Patch verification via multiversion interprocedural control flow graphs

  • Wei Le
  • Shannon D. Pattison

Property differencing for incremental checking

  • Guowei Yang
  • Sarfraz Khurshid
  • Suzette Person
  • Neha Rungta

Symbolic assume-guarantee reasoning through BDD learning

  • Fei He
  • Bow-Yaw Wang
  • Liangze Yin
  • Lei Zhu

Enhancing symbolic execution with veritesting

  • Thanassis Avgerinos
  • Alexandre Rebert
  • Sang Kil Cha
  • David Brumley

SESSION: Refactoring and Reverse Engineering

Manual refactoring changes with automated refactoring validation

  • Xi Ge
  • Emerson Murphy-Hill

Alternate refactoring paths reveal usability problems

  • Mohsen Vakilian
  • Ralph E. Johnson

A study and toolkit for asynchronous programming in c#

  • Semih Okur
  • David L. Hartveld
  • Danny Dig
  • Arie van Deursen

Reuse-oriented reverse engineering of functional components from x86 binaries

  • Dohyeong Kim
  • William N. Sumner
  • Xiangyu Zhang
  • Dongyan Xu
  • Hira Agrawal