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