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. Păsăreanu
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