The proceedings are now published in the ACM Digital Library.

ACM OpenToc Service

The ACM OpenTOC is a unique service that enables visitors to download the definitive version of the contents from the ACM Digital Library at no charge for a one year period starting from the conference start date. Downloads of these articles are captured in official ACM statistics, improving the accuracy of usage and impact measurements.

FSE 2016- Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering

Full Citation in the ACM Digital Library

SESSION: Keynotes

“Womenomics” and gender-inclusive software: what software engineers need to know (invited talk)

  • Margaret Burnett

Building a socio-technical theory of coordination: why and how (outstanding research award)

  • James Herbsleb

Correct or usable? the limits of traditional verification (impact paper award)

  • Daniel Jackson
  • Mandana Vaziri

SESSION: Showcases

Continuous deployment of mobile software at facebook (showcase)

  • Chuck Rossi
  • Elisa Shibley
  • Shi Su
  • Kent Beck
  • Tony Savor
  • Michael Stumm

Model, execute, and deploy: answering the hard questions in end-user programming (showcase)

  • Shan Shan Huang

Making invisible things visible: tracking down known vulnerabilities at 3000 companies (showcase)

  • Gazi Mahmud

Developer workflow at google (showcase)

  • Caitlin Sadowski

SESSION: Research Papers

Titanium: efficient analysis of evolving alloy specifications

  • Hamid Bagheri
  • Sam Malek

Mining performance specifications

  • Marc Brünink
  • David S. Rosenblum

Designing minimal effective normative systems with the help of lightweight formal methods

  • Jianye Hao
  • Eunsuk Kang
  • Jun Sun
  • Daniel Jackson

Proteus: computing disjunctive loop summary via path dependency analysis

  • Xiaofei Xie
  • Bihuan Chen
  • Yang Liu
  • Wei Le
  • Xiaohong Li

A cross-tool communication study on program analysis tool notifications

  • Brittany Johnson
  • Rahul Pandita
  • Justin Smith
  • Denae Ford
  • Sarah Elder
  • Emerson Murphy-Hill
  • Sarah Heckman
  • Caitlin Sadowski

Factors influencing code review processes in industry

  • Tobias Baum
  • Olga Liskin
  • Kai Niklas
  • Kurt Schneider

Foraging and navigations, fundamentally: developers’ predictions of value and cost

  • David Piorkowski
  • Austin Z. Henley
  • Tahmid Nabi
  • Scott D. Fleming
  • Christopher Scaffidi
  • Margaret Burnett

How to break an API: cost negotiation and community values in three software ecosystems

  • Christopher Bogart
  • Christian Kästner
  • James Herbsleb
  • Ferdian Thung

Python predictive analysis for bug detection

  • Zhaogui Xu
  • Peng Liu
  • Xiangyu Zhang
  • Baowen Xu

Crash consistency validation made easy

  • Yanyan Jiang
  • Haicheng Chen
  • Feng Qin
  • Chang Xu
  • Xiaoxing Ma
  • Jian Lu

Discovering bug patterns in JavaScript

  • Quinn Hanam
  • Fernando S. de M. Brito
  • Ali Mesbah

Effort-aware just-in-time defect prediction: simple unsupervised models could be better than supervised models

  • Yibiao Yang
  • Yuming Zhou
  • Jinping Liu
  • Yangyang Zhao
  • Hongmin Lu
  • Lei Xu
  • Baowen Xu
  • Hareton Leung

Detecting sensitive data disclosure via bi-directional text correlation analysis

  • Jianjun Huang
  • Xiangyu Zhang
  • Lin Tan

Multi-representational security analysis

  • Eunsuk Kang
  • Aleksandar Milicevic
  • Daniel Jackson

String analysis for side channels with segmented oracles

  • Lucas Bang
  • Abdulbaki Aydin
  • Quoc-Sang Phan
  • Corina S. Pasareanu
  • Tevfik Bultan

WebRanz: web page randomization for better advertisement delivery and web-bot prevention

  • Weihang Wang
  • Yunhui Zheng
  • Xinyu Xing
  • Yonghwi Kwon
  • Xiangyu Zhang
  • Patrick Eugster

A discrete-time feedback controller for containerized cloud applications

  • Luciano Baresi
  • Sam Guinea
  • Alberto Leva
  • Giovanni Quattrocchi

Keep it SIMPLEX: satisfying multiple goals with guarantees in control-based self-adaptive systems

  • Stepan Shevtsov
  • Danny Weyns

Automated change impact analysis between SysML models of requirements and design

  • Shiva Nejati
  • Mehrdad Sabetzadeh
  • Chetan Arora
  • Lionel C. Briand
  • Felix Mandoux

Parameter-free probabilistic API mining across GitHub

  • Jaroslav Fowkes
  • Charles Sutton

API deprecation: a retrospective analysis and detection method for code examples on the web

  • Jing Zhou
  • Robert J. Walker

When should internal interfaces be promoted to public?

  • André Hora
  • Marco Tulio Valente
  • Romain Robbes
  • Nicolas Anquetil

POLLUX: safely upgrading dependent application libraries

  • Sukrit Kalra
  • Ayush Goel
  • Dhriti Khanna
  • Mohan Dhawan
  • Subodh Sharma
  • Rahul Purandare

Extracting instruction semantics via symbolic execution of code generators

  • Niranjan Hasabnis
  • R. Sekar

Efficient generation of inductive validity cores for safety properties

  • Elaheh Ghassabani
  • Andrew Gacek
  • Michael W. Whalen

Correctness witnesses: exchanging verification results between verifiers

  • Dirk Beyer
  • Matthias Dangl
  • Daniel Dietsch
  • Matthias Heizmann

SMT-based verification of parameterized systems

  • Arie Gurfinkel
  • Sharon Shoham
  • Yuri Meshman

On-the-fly decomposition of specifications in software model checking

  • Sven Apel
  • Dirk Beyer
  • Vitaly Mordan
  • Vadim Mutilin
  • Andreas Stahlbauer

On well-separation of GR(1) specifications

  • Shahar Maoz
  • Jan Oliver Ringert

Lightweight specification and analysis of dynamic systems with rich configurations

  • Nuno Macedo
  • Julien Brunel
  • David Chemouil
  • Alcino Cunha
  • Denis Kuperberg

Gray links in the use of requirements traceability

  • Nan Niu
  • Wentao Wang
  • Arushi Gupta

Understanding and detecting wake lock misuses for Android applications

  • Yepang Liu
  • Chang Xu
  • Shing-Chi Cheung
  • Valerio Terragni

DiagDroid: Android performance diagnosis via anatomizing asynchronous executions

  • Yu Kang
  • Yangfan Zhou
  • Hui Xu
  • Michael R. Lyu

Minimizing GUI event traces

  • Lazaro Clapp
  • Osbert Bastani
  • Saswat Anand
  • Alex Aiken

Causal impact analysis for app releases in google play

  • William Martin
  • Federica Sarro
  • Mark Harman

Static DOM event dependency analysis for testing web applications

  • Chungha Sung
  • Markus Kusano
  • Nishant Sinha
  • Chao Wang

On-demand strong update analysis via value-flow refinement

  • Yulei Sui
  • Jingling Xue

Call graph construction for Java libraries

  • Michael Reif
  • Michael Eichberg
  • Ben Hermann
  • Johannes Lerch
  • Mira Mezini

Revamping JavaScript static analysis via localization and remediation of root causes of imprecision

  • Shiyi Wei
  • Omer Tripp
  • Barbara G. Ryder
  • Julian Dolby

What would users change in my app? summarizing app reviews for recommending software changes

  • Andrea Di Sorbo
  • Sebastiano Panichella
  • Carol V. Alexandru
  • Junji Shimagaki
  • Corrado A. Visaggio
  • Gerardo Canfora
  • Harald C. Gall

API code recommendation using statistical learning from fine-grained changes

  • Anh Tuan Nguyen
  • Michael Hilton
  • Mihai Codoban
  • Hoan Anh Nguyen
  • Lily Mast
  • Eli Rademacher
  • Tien N. Nguyen
  • Danny Dig

TIPMerge: recommending experts for integrating changes across branches

  • Catarina Costa
  • Jair Figueiredo
  • Leonardo Murta
  • Anita Sarma

Interactive and guided architectural refactoring with search-based recommendation

  • Yun Lin
  • Xin Peng
  • Yuanfang Cai
  • Danny Dig
  • Diwen Zheng
  • Wenyun Zhao

Can testedness be effectively measured?

  • Iftekhar Ahmed
  • Rahul Gopinath
  • Caius Brindescu
  • Alex Groce
  • Carlos Jensen

A large-scale empirical comparison of static and dynamic test case prioritization techniques

  • Qi Luo
  • Kevin Moran
  • Denys Poshyvanyk

Analyzing the validity of selective mutation with dominator mutants

  • Bob Kurtz
  • Paul Ammann
  • Jeff Offutt
  • Márcio E. Delamaro
  • Mariet Kurtz
  • Nida Gökçe

An extensive study of static regression test selection in modern software evolution

  • Owolabi Legunsen
  • Farah Hariri
  • August Shi
  • Yafeng Lu
  • Lingming Zhang
  • Darko Marinov

PerfGuard: binary-centric application performance monitoring in production environments

  • Chung Hwan Kim
  • Junghwan Rhee
  • Kyu Hyung Lee
  • Xiangyu Zhang
  • Dongyan Xu

Python probabilistic type inference with natural language support

  • Zhaogui Xu
  • Xiangyu Zhang
  • Lin Chen
  • Kexin Pei
  • Baowen Xu

Detecting and fixing precision-specific operations for measuring floating-point errors

  • Ran Wang
  • Daming Zou
  • Xinrui He
  • Yingfei Xiong
  • Lu Zhang
  • Gang Huang

Deep API learning

  • Xiaodong Gu
  • Hongyu Zhang
  • Dongmei Zhang
  • Sunghun Kim

Build system with lazy retrieval for Java projects

  • Ahmet Celik
  • Alex Knaust
  • Aleksandar Milicevic
  • Milos Gligoric

iGen: dynamic interaction inference for configurable software

  • ThanhVu Nguyen
  • Ugur Koc
  • Javran Cheng
  • Jeffrey S. Foster
  • Adam A. Porter

CacheOptimizer: helping developers configure caching frameworks for hibernate-based database-centric web applications

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

BinGo: cross-architecture cross-OS binary search

  • Mahinthan Chandramohan
  • Yinxing Xue
  • Zhengzi Xu
  • Yang Liu
  • Chia Yuan Cho
  • Hee Beng Kuan Tan

Relationship-aware code search for JavaScript frameworks

  • Xuan Li
  • Zerui Wang
  • Qianxiang Wang
  • Shoumeng Yan
  • Tao Xie
  • Hong Mei

Code relatives: detecting similarly behaving software

  • Fang-Hsiang Su
  • Jonathan Bell
  • Kenneth Harvey
  • Simha Sethumadhavan
  • Gail Kaiser
  • Tony Jebara

Understanding and generating high quality patches for concurrency bugs

  • Haopeng Liu
  • Yuxi Chen
  • Shan Lu

Anti-patterns in search-based program repair

  • Shin Hwei Tan
  • Hiroaki Yoshida
  • Mukul R. Prasad
  • Abhik Roychoudhury

Semi-supervised verified feedback generation

  • Shalini Kaleeswaran
  • Anirudh Santhiar
  • Aditya Kanade
  • Sumit Gulwani

WATERFALL: an incremental approach for repairing record-replay tests of web applications

  • Mouna Hammoudi
  • Gregg Rothermel
  • Andrea Stocco

Efficiency of projectional editing: a controlled experiment

  • Thorsten Berger
  • Markus Völter
  • Hans Peter Jensen
  • Taweesap Dangprasert
  • Janet Siegmund

ECHO: instantaneous in situ race detection in the IDE

  • Sheng Zhan
  • Jeff Huang

Detecting table clones and smells in spreadsheets

  • Wensheng Dou
  • Shing-Chi Cheung
  • Chushu Gao
  • Chang Xu
  • Liang Xu
  • Jun Wei

Flow-sensitive composition of thread-modular abstract interpretation

  • Markus Kusano
  • Chao Wang

A deployable sampling strategy for data race detection

  • Yan Cai
  • Jian Zhang
  • Lingwei Cao
  • Jian Liu

Online shared memory dependence reduction via bisectional coordination

  • Yanyan Jiang
  • Chang Xu
  • Du Li
  • Xiaoxing Ma
  • Jian Lu

Parallel data race detection for task parallel programs with locks

  • Adarsh Yoga
  • Santosh Nagarakatte
  • Aarti Gupta

Paradise unplugged: identifying barriers for female participation on stack overflow

  • Denae Ford
  • Justin Smith
  • Philip J. Guo
  • Chris Parnin

Why we refactor? confessions of GitHub contributors

  • Danilo Silva
  • Nikolaos Tsantalis
  • Marco Tulio Valente

Effectiveness of code contribution: from patch-based to pull-request-based tools

  • Jiaxin Zhu
  • Minghui Zhou
  • Audris Mockus

Isomorphic regression testing: executing uncovered branches without test augmentation

  • Jie Zhang
  • Yiling Lou
  • Lingming Zhang
  • Dan Hao
  • Lu Zhang
  • Hong Mei

Directed test generation to detect loop inefficiencies

  • Monika Dhok
  • Murali Krishna Ramanathan

Field-exhaustive testing

  • Pablo Ponzio
  • Nazareno Aguirre
  • Marcelo F. Frias
  • Willem Visser

SESSION: Visions and Reflections

Sustainable software design

  • Martin P. Robillard

Designing for dystopia: software engineering research for the post-apocalypse

  • Titus Barik
  • Rahul Pandita
  • Justin Middleton
  • Emerson Murphy-Hill

Disrupting developer productivity one bot at a time

  • Margaret-Anne Storey
  • Alexey Zagalsky

Training the future workforce through task curation in an OSS ecosystem

  • Anita Sarma
  • Marco Aurélio Gerosa
  • Igor Steinmacher
  • Rafael Leano

Reaching the masses: a new subdiscipline of app programmer education

  • Charles Weir
  • Awais Rashid
  • James Noble

Studying developer gaze to empower software engineering research and practice

  • Bonita Sharif
  • Benjamin Clark
  • Jonathan I. Maletic

DeepSoft: a vision for a deep model of software

  • Hoa Khanh Dam
  • Truyen Tran
  • John Grundy
  • Aditya Ghose

Budgeted testing through an algorithmic lens

  • Myra B. Cohen
  • A. Pavan
  • N. V. Vinodchandran

Reasoning with imprecise privacy preferences

  • Inah Omoronyia

SESSION: Industrial Papers

Bing developer assistant: improving developer productivity by recommending sample code

  • Hongyu Zhang
  • Anuj Jain
  • Gaurav Khandelwal
  • Chandrashekhar Kaushik
  • Scott Ge
  • Wenxiang Hu

Cluster-based test suite functional analysis

  • Marcel Zalmanovici
  • Orna Raz
  • Rachel Tzoref-Brill

A portable interface for runtime energy monitoring

  • Connor Imes
  • Lars Bergstrom
  • Henry Hoffmann

Learning for test prioritization: an industrial case study

  • Benjamin Busjaeger
  • Tao Xie

Combinatorial generation of structurally complex test inputs for commercial software applications

  • Hua Zhong
  • Lingming Zhang
  • Sarfraz Khurshid

Automated test input generation for Android: are we really there yet in an industrial case?

  • Xia Zeng
  • Dengfeng Li
  • Wujie Zheng
  • Fan Xia
  • Yuetang Deng
  • Wing Lam
  • Wei Yang
  • Tao Xie

SESSION: Tool Demonstrations

NonDex: a tool for detecting and debugging wrong assumptions on Java API specifications

  • Alex Gyori
  • Ben Lambeth
  • August Shi
  • Owolabi Legunsen
  • Darko Marinov

TIPMerge: recommending developers for merging branches

  • Catarina Costa
  • Jair Figueiredo
  • Anita Sarma
  • Leonardo Murta

Time-travel debugging for JavaScript/Node.js

  • Earl T. Barr
  • Mark Marron
  • Ed Maurer
  • Dan Moseley
  • Gaurav Seth

PUMConf: a tool to configure product specific use case and domain models in a product line

  • Ines Hajri
  • Arda Goknil
  • Lionel C. Briand
  • Thierry Stephany

T2API: synthesizing API code usage templates from English texts with statistical translation

  • Thanh Nguyen
  • Peter C. Rigby
  • Anh Tuan Nguyen
  • Mark Karanfil
  • Tien N. Nguyen

JBSE: a symbolic executor for Java programs with complex heap inputs

  • Pietro Braione
  • Giovanni Denaro
  • Mauro Pezzè

ARdoc: app reviews development oriented classifier

  • Sebastiano Panichella
  • Andrea Di Sorbo
  • Emitza Guzman
  • Corrado A. Visaggio
  • Gerardo Canfora
  • Harald C. Gall

Hunter: next-generation code reuse for Java

  • Yuepeng Wang
  • Yu Feng
  • Ruben Martins
  • Arati Kaushik
  • Isil Dillig
  • Steven P. Reiss

BigDebug: interactive debugger for big data analytics in Apache Spark

  • Muhammad Ali Gulzar
  • Matteo Interlandi
  • Tyson Condie
  • Miryung Kim

Visualizing code and coverage changes for code review

  • Sebastiaan Oosterwaal
  • Arie van Deursen
  • Roberta Coelho
  • Anand Ashok Sawant
  • Alberto Bacchelli

End-to-end memory behavior profiling with DINAMITE

  • Svetozar Miucin
  • Conor Brady
  • Alexandra Fedorova

Validate your SPDX files for open source license violations

  • Demetris Paschalides
  • Georgia M. Kapitsaki

FSX: a tool for fine-grained incremental unit test generation for C/C++ programs

  • Hiroaki Yoshida
  • Susumu Tokumoto
  • Mukul R. Prasad
  • Indradeep Ghosh
  • Tadahiro Uehara

SESSION: Doctoral Symposium

Refactoring and migration of cascading style sheets: towards optimization and improved maintainability

  • Davood Mazinanian

Developing a reusable control-based approach to build self-adaptive software systems with formal guarantees

  • Stepan Shevtsov

Automating repetitive code changes using examples

  • Reudismam Rolim

Understanding and improving continuous integration

  • Michael Hilton

Guided code synthesis using deep neural networks

  • Carol V. Alexandru

Generating interactive web pages from storyboards

  • Pavel Panchekha

Data structure synthesis

  • Calvin Loncaric

Understanding behavioural patterns in JavaScript

  • Saba Alimadadi

Regression testing of web applications using Record/Replay tools

  • Mouna Hammoudi

Supporting change in product lines within the context of use case-driven development and testing

  • Ines Hajri

Input-sensitive performance testing

  • Qi Luo

On the utility of dominator mutants for mutation testing

  • Bob Kurtz

SESSION: Graduate Submissions

Effective assignment and assistance to software developers and reviewers

  • Motahareh Bahrami Zanjani

RABIEF: range analysis based integer error fixing

  • Xi Cheng

Fine-grained binary code authorship identification

  • Xiaozhu Meng

Identifying participants for collaborative merge

  • Catarina Costa

Cozy: synthesizing collection data structures

  • Calvin Loncaric

Constraint-based event trace reduction

  • Jie Wang

Automatic trigger generation for end user written rules for home automation

  • Chandrakana Nandi

Hotspot symbolic execution of floating-point programs

  • Minghui Quan

Evaluation of fault localization techniques

  • Spencer Pearson

How should static analysis tools explain anomalies to developers?

  • Titus Barik

Repairing test dependence

  • Wing Lam

Combining bug detection and test case generation

  • Martin Kellogg

SmartDebug: an interactive debug assistant for Java

  • Xinrui Guo

Static loop analysis and its applications

  • Xie Xiaofei

Social health cues developers use when choosing open source packages

  • Andrew Head

Finding and breaking test dependencies to speed up test execution

  • Sebastian Kappler

Automatic performance testing using input-sensitive profiling

  • Qi Luo

SESSION: Undergraduate Submissions

Enforcing correct array indexes with a type system

  • Joseph Santino

Discovering additional violations of Java API invariants

  • Waylon Huang

Preventing signedness errors in numerical computations in Java

  • Christopher A. Mackie

Bounded model checking of state-space digital systems: the impact of finite word-length effects on the implementation of fixed-point digital controllers based on state-space modeling

  • Felipe R. Monteiro

Atlas: an intelligent, performant framework for web-based grid computing

  • Sachith Gullapalli