FSE 2014- Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering

FSE 2014- Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering

Full Citation in the ACM Digital Library

SESSION: Keynote

Omlet: a revolution against big-brother social networks (invited talk)

  • Monica S. Lam

SESSION: Award Talks

From software engineering to software systems (invited talk)

  • Alexander L. Wolf

Ten years with evidence-based software engineering. what is it? has it had any impact? what¿s next? (invited talk)

  • Magne Jørgensen

SESSION: Perspectives from Industry

Experiences developing tools for developers (invited talk)

  • John Penix

Are you getting traction? tales from the tech transfer trenches (invited talk)

  • Satish Chandra

Data hard with a vengeance (invited talk)

  • Thomas Zimmermann

SESSION: Helping and Understanding Developers

Developers¿ code context models for change tasks

  • Thomas Fritz
  • David C. Shepherd
  • Katja Kevic
  • Will Snipes
  • Christoph Bräunlich

Software developers¿ perceptions of productivity

  • André N. Meyer
  • Thomas Fritz
  • Gail C. Murphy
  • Thomas Zimmermann

Enablers, inhibitors, and perceptions of testing in novice software teams

  • Raphael Pham
  • Stephan Kiesling
  • Olga Liskin
  • Leif Singer
  • Kurt Schneider

Feedback generation for performance problems in introductory programming assignments

  • Sumit Gulwani
  • Ivan Radiček
  • Florian Zuleger

SESSION: Debugging and Refactoring

Test case purification for improving fault localization

  • Jifeng Xuan
  • Martin Monperrus

Automatically generated patches as debugging aids: a human study

  • Yida Tao
  • Jindae Kim
  • Sunghun Kim
  • Chang Xu

A foundation for refactoring C with macros

  • Jeffrey L. Overbey
  • Farnaz Behrang
  • Munawar Hafiz

Vector abstraction and concretization for scalable detection of refactorings

  • Narcisa Andreea Milea
  • Lingxiao Jiang
  • Siau-Cheng Khoo

SESSION: Static Analysis

FlowTwist: efficient context-sensitive inside-out taint analysis for large codebases

  • Johannes Lerch
  • Ben Hermann
  • Eric Bodden
  • Mira Mezini

ORBS: language-independent program slicing

  • David Binkley
  • Nicolas Gold
  • Mark Harman
  • Syed Islam
  • Jens Krinke
  • Shin Yoo

JSAI: a static analysis platform for JavaScript

  • Vineeth Kashyap
  • Kyle Dewey
  • Ethan A. Kuefner
  • John Wagner
  • Kevin Gibbons
  • John Sarracino
  • Ben Wiedermann
  • Ben Hardekopf

A path-sensitively sliced control flow graph

  • Joxan Jaffar
  • Vijayaraghavan Murali

SESSION: Mining Software Repositories

Let's talk about it: evaluating contributions through discussion in GitHub

  • Jason Tsay
  • Laura Dabbish
  • James Herbsleb

A large scale study of programming languages and code quality in github

  • Baishakhi Ray
  • Daryl Posnett
  • Vladimir Filkov
  • Premkumar Devanbu

Mining preconditions of APIs in large-scale code corpus

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

Automatic mining of specifications from invocation traces and method invariants

  • Ivo Krka
  • Yuriy Brun
  • Nenad Medvidovic

SESSION: Formal Methods and Verification

Counterexample guided abstraction refinement of product-line behavioural models

  • Maxime Cordy
  • Patrick Heymans
  • Axel Legay
  • Pierre-Yves Schobbens
  • Bruno Dawagne
  • Martin Leucker

Powering the static driver verifier using corral

  • Akash Lal
  • Shaz Qadeer

Verifying CTL-live properties of infinite state models using an SMT solver

  • Amirhossein Vakili
  • Nancy A. Day

Efficient runtime-enforcement techniques for policy weaving

  • Richard Joiner
  • Thomas Reps
  • Somesh Jha
  • Mohan Dhawan
  • Vinod Ganapathy

SESSION: Regression Testing

Techniques for improving regression testing in continuous integration development environments

  • Sebastian Elbaum
  • Gregg Rothermel
  • John Penix

Balancing trade-offs in test-suite reduction

  • August Shi
  • Alex Gyori
  • Milos Gligoric
  • Andrey Zaytsev
  • Darko Marinov

Identifying the characteristics of vulnerable code changes: an empirical study

  • Amiangshu Bosu
  • Jeffrey C. Carver
  • Munawar Hafiz
  • Patrick Hilley
  • Derek Janni

SESSION: Improving Recommender Systems

On the localness of software

  • Zhaopeng Tu
  • Zhendong Su
  • Premkumar Devanbu

Learning natural coding conventions

  • Miltiadis Allamanis
  • Earl T. Barr
  • Christian Bird
  • Charles Sutton

How should we measure functional sameness from program source code? an exploratory study on Java methods

  • Yoshiki Higo
  • Shinji Kusumoto

The plastic surgery hypothesis

  • Earl T. Barr
  • Yuriy Brun
  • Premkumar Devanbu
  • Mark Harman
  • Federica Sarro

SESSION: Concurrency and Parallelism

Grail: context-aware fixing of concurrency bugs

  • Peng Liu
  • Omer Tripp
  • Charles Zhang

AI: a lightweight system for tolerating concurrency bugs

  • Mingxing Zhang
  • Yongwei Wu
  • Shan Lu
  • Shanxiang Qi
  • Jinglei Ren
  • Weimin Zheng

Retrofitting concurrency for Android applications through refactoring

  • Yu Lin
  • Cosmin Radoi
  • Danny Dig

Sherlock: scalable deadlock detection for concurrent programs

  • Mahdi Eslamimehr
  • Jens Palsberg

SESSION: Self Adaptation and Repair / Program Analysis Applications

Search-based synthesis of equivalent method sequences

  • Alberto Goffi
  • Alessandra Gorla
  • Andrea Mattavelli
  • Mauro Pezzè
  • Paolo Tonella

Beyond the rainbow: self-adaptive failure avoidance in configurable systems

  • Jacob Swanson
  • Myra B. Cohen
  • Matthew B. Dwyer
  • Brady J. Garvin
  • Justin Firestone

Semantics-based obfuscation-resilient binary code similarity comparison with applications to software plagiarism detection

  • Lannan Luo
  • Jiang Ming
  • Dinghao Wu
  • Peng Liu
  • Sencun Zhu

Focus-shifting patterns of OSS developers and their congruence with call graphs

  • Qi Xuan
  • Aaron Okano
  • Premkumar Devanbu
  • Vladimir Filkov

SESSION: Symbolic Execution

How we get there: a context-guided search strategy in concolic testing

  • Hyunmin Seo
  • Sunghun Kim

Solving complex path conditions through heuristic search on induced polytopes

  • Peter Dinges
  • Gul Agha

Statistical symbolic execution with informed sampling

  • Antonio Filieri
  • Corina S. Păsăreanu
  • Willem Visser
  • Jaco Geldenhuys

SymJS: automatic symbolic testing of JavaScript web applications

  • Guodong Li
  • Esben Andreasen
  • Indradeep Ghosh

SESSION: Software Documentation

Selection and presentation practices for code example summarization

  • Annie T. T. Ying
  • Martin P. Robillard

Mining idioms from source code

  • Miltiadis Allamanis
  • Charles Sutton

Automatic generation of release notes

  • Laura Moreno
  • Gabriele Bavota
  • Massimiliano Di Penta
  • Rocco Oliveto
  • Andrian Marcus
  • Gerardo Canfora

SESSION: Web Apps

Discovering refactoring opportunities in cascading style sheets

  • Davood Mazinanian
  • Nikolaos Tsantalis
  • Ali Mesbah

SAFEWAPI: web API misuse detector for web applications

  • SungGyeong Bae
  • Hyunghun Cho
  • Inho Lim
  • Sukyoung Ryu

Building call graphs for embedded client-side code in dynamic web applications

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

SESSION: Architecture and Design

Sketches and diagrams in practice

  • Sebastian Baltes
  • Stephan Diehl

Architecture challenges for internal software ecosystems: a large-scale industry case study

  • Klaus-Benedikt Schultis
  • Christoph Elsner
  • Daniel Lohmann

Variable-specific resolutions for feature interactions

  • Cecylia Bocovich
  • Joanne M. Atlee

An empirical study on program comprehension with reactive programming

  • Guido Salvaneschi
  • Sven Amann
  • Sebastian Proksch
  • Mira Mezini

SESSION: Mobile Apps

Apposcopy: semantics-based detection of Android malware through static analysis

  • Yu Feng
  • Saswat Anand
  • Isil Dillig
  • Alex Aiken

Detecting energy bugs and hotspots in mobile apps

  • Abhijeet Banerjee
  • Lee Kee Chong
  • Sudipta Chattopadhyay
  • Abhik Roychoudhury

EvoDroid: segmented evolutionary testing of Android apps

  • Riyadh Mahmood
  • Nariman Mirzaei
  • Sam Malek

Prioritizing the devices to test your app on: a case study of Android game apps

  • Hammad Khalid
  • Meiyappan Nagappan
  • Emad Shihab
  • Ahmed E. Hassan

SESSION: Testing and Oracles

Improving oracle quality by detecting brittle assertions and unused inputs in tests

  • Chen Huo
  • James Clause

On the efficiency of automated testing

  • Marcel Böhme
  • Soumya Paul

An empirical analysis of flaky tests

  • Qingzhou Luo
  • Farah Hariri
  • Lamyaa Eloussi
  • Darko Marinov

Are mutants a valid substitute for real faults in software testing?

  • René Just
  • Darioush Jalali
  • Laura Inozemtseva
  • Michael D. Ernst
  • Reid Holmes
  • Gordon Fraser

SESSION: Evolution and Maintenance

No issue left behind: reducing information overload in issue tracking

  • Olga Baysal
  • Reid Holmes
  • Michael W. Godfrey

Panning requirement nuggets in stream of software maintenance tickets

  • Senthil Mani
  • Karthik Sankaranarayanan
  • Vibha Singhal Sinha
  • Premkumar Devanbu

Learning to rank relevant files for bug reports using domain knowledge

  • Xin Ye
  • Razvan Bunescu
  • Chang Liu

Querying sequential software engineering data

  • Chengnian Sun
  • Haidong Zhang
  • Jian-Guang Lou
  • Hongyu Zhang
  • Qiang Wang
  • Dongmei Zhang
  • Siau-Cheng Khoo

SESSION: Tool Demonstrations

Tsmart-GalsBlock: a toolkit for modeling, validation, and synthesis of multi-clocked embedded systems

  • Yu Jiang
  • Hehua Zhang
  • Huafeng Zhang
  • Xinyan Zhao
  • Han Liu
  • Chengnian Sun
  • Xiaoyu Song
  • Ming Gu
  • Jiaguang Sun

A tool suite for the model-driven software engineering of cyber-physical systems

  • Stefan Dziwok
  • Christopher Gerking
  • Steffen Becker
  • Sebastian Thiele
  • Christian Heinzemann
  • Uwe Pohlmann

XMLMate: evolutionary XML test generation

  • Nikolas Havrikov
  • Matthias Höschele
  • Juan Pablo Galeotti
  • Andreas Zeller

CHOReOSynt: enforcing choreography realizability in the future internet

  • Marco Autili
  • Davide Di Ruscio
  • Amleto Di Salle
  • Alexander Perucci

RaPiD: a toolkit for reliability analysis of non-deterministic systems

  • Lin Gui
  • Jun Sun
  • Yang Liu
  • Truong Khanh Nguyen
  • Jin Song Dong

Aalta: an LTL satisfiability checker over Infinite/Finite traces

  • Jianwen Li
  • Yinbo Yao
  • Geguang Pu
  • Lijun Zhang
  • Jifeng He

Omen+: a precise dynamic deadlock detector for multithreaded Java libraries

  • Malavika Samak
  • Murali Krishna Ramanathan

Archie: a tool for detecting, monitoring, and preserving architecturally significant code

  • Mehdi Mirakhorli
  • Ahmed Fakhry
  • Artem Grechko
  • Matteusz Wieloch
  • Jane Cleland-Huang

Linking sketches and diagrams to source code artifacts

  • Sebastian Baltes
  • Peter Schmitz
  • Stephan Diehl

BumbleBee: a refactoring environment for spreadsheet formulas

  • Felienne Hermans
  • Danny Dig

RefDistiller: a refactoring aware code review tool for inspecting manual refactoring edits

  • Everton L. G. Alves
  • Myoungkyu Song
  • Miryung Kim

Critics: an interactive code review tool for searching and inspecting systematic changes

  • Tianyi Zhang
  • Myoungkyu Song
  • Miryung Kim

ConceptCloud: a tagcloud browser for software archives

  • Gillian J. Greene
  • Bernd Fischer

Titan: a toolset that connects software architecture with quality analysis

  • Lu Xiao
  • Yuanfang Cai
  • Rick Kazman

BugLocalizer: integrated tool support for bug localization

  • Ferdian Thung
  • Tien-Duy B. Le
  • Pavneet Singh Kochhar
  • David Lo

SESSION: Technical Presentations 1

Diagnose crashing faults on production software

  • Rongxin Wu

SESSION: Technical Presentations 2

Integrating approaches for feature implementation

  • Benjamin Behringer

Numerical program analysis and testing

  • Zheng Gao

Traceability and model checking to support safety requirement verification

  • Shuanglong Kan

Dealing with uncertainty in verification of nondeterministic systems

  • Yamilet R. Serrano Llerena

SESSION: Technical Presentations 3

Static analysis driven performance and energy testing

  • Abhijeet Banerjee

Autonomous compliance monitoring of non-functional properties

  • Marc Brünink

Detecting, isolating, and enforcing dependencies among and within test cases

  • Jonathan Bell

Improving the software testing skills of novices during onboarding through social transparency

  • Raphael Pham

SESSION: Technical Presentations 4

Minimizing software conflicts through proactive detection of conflicts and task scheduling

  • Bakhtiar Khan Kasi

SESSION: Student Research Competition Posters

Detecting and preventing the architectural roots of bugs

  • Lu Xiao

Estimating the effectiveness of spectrum-based fault localization

  • Shuo Song

Managing lots of models: the FaMine approach

  • David Wille

Social network analysis in open source software peer review

  • Xin Yang

Towards a theory of architectural styles

  • Diego Marmsoler

Software programmer management: a machine learning and human computer interaction framework for optimal task assignment

  • Harry Raymond Joseph

SESSION: Visions and Challenges

Methodology and culture: drivers of mediocrity in software engineering?

  • Marian Petre
  • Daniela Damian

Known unknowns: testing in the presence of uncertainty

  • Sebastian Elbaum
  • David S. Rosenblum

Speculative reprogramming

  • Marc Palyart
  • Gail C. Murphy
  • Emerson Murphy-Hill
  • Xavier Blanc

A variability perspective of mutation analysis

  • Xavier Devroey
  • Gilles Perrouin
  • Maxime Cordy
  • Mike Papadakis
  • Axel Legay
  • Pierre-Yves Schobbens

Mining micro-practices from operational data

  • Minghui Zhou
  • Audris Mockus

Achieving lightweight trustworthy traceability

  • Jane Cleland-Huang
  • Mona Rahimi
  • Patrick Mäder

Software maintenance like maintenance in other engineering disciplines

  • Gustavo Villavicencio