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

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

Full Citation in the ACM Digital Library

SESSION: Keynote

Socio-technical coordination (keynote)

  • James Herbsleb

SESSION: Panel Session 1

Ready-set-transfer: exploring the technology transfer readiness of academic research projects (panel)

  • Jane Cleland-Huang
  • Daniela Damian
  • Smita Ghaisas

Software engineering for the web: the state of the practice

  • Alex Nederlof
  • Ali Mesbah
  • Arie van Deursen

SESSION: Dependability, Safety, and Reliability

An empirical study of structural defects in industrial use-cases

  • Deepti Parachuri
  • A. S. M. Sajeev
  • Rakesh Shukla

Where do developers log? an empirical study on logging practices in industry

  • Qiang Fu
  • Jieming Zhu
  • Wenlu Hu
  • Jian-Guang Lou
  • Rui Ding
  • Qingwei Lin
  • Dongmei Zhang
  • Tao Xie

Active files as a measure of software maintainability

  • Lukas Schulte
  • Hitesh Sajnani
  • Jacek Czerwonka

Nondeterminism in MapReduce considered harmful? an empirical study on non-commutative aggregators in MapReduce programs

  • Tian Xiao
  • Jiaxing Zhang
  • Hucheng Zhou
  • Zhenyu Guo
  • Sean McDirmid
  • Wei Lin
  • Wenguang Chen
  • Lidong Zhou

SESSION: Processes and Agile Development

Automated software integration flows in industry: a multiple-case study

  • Daniel Ståhl
  • Jan Bosch

How to build a good practice software project portfolio?

  • Hennie Huijgens
  • Rini van Solingen
  • Arie van Deursen

Distributed-pair programming can work well and is not just distributed pair-programming

  • Julia Schenk
  • Lutz Prechelt
  • Stephan Salinger

Empirical insights into the perceived benefits of agile software engineering practices: a case study from SAP

  • Christoph Tobias Schmidt
  • Srinivasa Ganesha Venkatesha
  • Juergen Heymann

Evidence-based decision making in lean software project management

  • Brian Fitzgerald
  • Mariusz Musiał
  • Klaas-Jan Stol

SESSION: Panel Session 2

Analyzing software data: after the gold rush (a goldfish-bowl panel)

  • Tim Menzies
  • Christian Bird
  • Thomas Zimmermann

Experiences gamifying developer adoption of practices and tools

  • Will Snipes
  • Anil R. Nair
  • Emerson Murphy-Hill

SESSION: Software Testing and Analysis

Objective safety compliance checks for source code

  • Alois Mayr
  • Reinhold Plösch
  • Matthias Saft

A case study on testing, commissioning, and operation of very-large-scale software systems

  • Michael Vierhauser
  • Rick Rabiser
  • Paul Grünbacher

Assessing model-based testing: an empirical study conducted in industry

  • Christoph Schulze
  • Dharmalingam Ganesan
  • Mikael Lindvall
  • Rance Cleaveland
  • Daniel Goldman

Collecting and leveraging a benchmark of build system clones to aid in quality assessments

  • Shane McIntosh
  • Martin Poehlmann
  • Elmar Juergens
  • Audris Mockus
  • Bram Adams
  • Ahmed E. Hassan
  • Brigitte Haupt
  • Christian Wagner

SESSION: Formal Development

Improving software through automatic untangling of cyclic dependencies

  • Maayan Goldstein
  • Dany Moshkovich

A systematic approach to transforming system requirements into model checking specifications

  • Daniel Aceituna
  • Hyunsook Do
  • Sudarshan Srinivasan

A candid industrial evaluation of formal software verification using model checking

  • Matthew Bennion
  • Ibrahim Habli

Architectural dependency analysis to understand rework costs for safety-critical systems

  • Robert L. Nord
  • Ipek Ozkaya
  • Raghvinder S. Sangwan
  • Ronald J. Koontz

SESSION: Panel Session 3

Characterization of operational failures from a business data processing SaaS platform

  • Catello Di Martino
  • Zbigniew Kalbarczyk
  • Ravishankar K. Iyer
  • Geetika Goel
  • Santonu Sarkar
  • Rajeshwari Ganesan

Extrinsic influence factors in software reliability: a study of 200,000 windows machines

  • Christian Bird
  • Venkatesh-Prasad Ranganath
  • Thomas Zimmermann
  • Nachiappan Nagappan
  • Andreas Zeller

SESSION: Configuration and Requirements

Configurations everywhere: implications for testing and debugging in practice

  • Dongpu Jin
  • Xiao Qu
  • Myra B. Cohen
  • Brian Robinson

Software feature location in practice: debugging aircraft simulation systems

  • Salman Hoseini
  • Abdelwahab Hamou-Lhadj
  • Patrick Desrosiers
  • Martin Tapp

Deriving requirements model from textual use cases

  • Kiran Prakash Sawant
  • Suman Roy
  • Srivibha Sripathi
  • François Plesse
  • A. S. M. Sajeev

Tracking requirements evolution by using issue tickets: a case study of a document management and approval system

  • Shinobu Saito
  • Yukako Iimura
  • Kenji Takahashi
  • Aaron K. Massey
  • Annie I. Antón

SESSION: MOOCs in Education and Training

Using MOOCs to reinvigorate software engineering education (keynote)

  • Armando Fox

Functional programming for all! scaling a MOOC for students and professionals alike

  • Heather Miller
  • Philipp Haller
  • Lukas Rytz
  • Martin Odersky

SESSION: Collaborative Teaching and Training

Knowledge transfer in collaborative teams: experiences from a two-week code camp

  • Terhi Kilamo
  • Antti Nieminen
  • Janne Lautamäki
  • Timo Aho
  • Johannes Koskinen
  • Jarmo Palviainen
  • Tommi Mikkonen

Quasi-crowdsourcing testing for educational projects

  • Zhenyu Chen
  • Bin Luo

Teaching reuse-driven software engineering through innovative role playing

  • Gerald Kotonya
  • Jaejoon Lee

Towards a supercollaborative software engineering MOOC

  • William Billingsley
  • Jim R. H. Steel

Teaching students to understand large programs by understanding historical context

  • Collin McMillan
  • Richard Oosterhoff

SESSION: Industry Needs and Innovative Teaching Methods

Investigating the skill gap between graduating students and industry expectations

  • Alex Radermacher
  • Gursimran Walia
  • Dean Knudson

Deploying an online software engineering education program in a globally distributed organization

  • John Hudepohl
  • Alpana Dubey
  • Sylvie Moisy
  • Jessica Thompson
  • Hans-Martin Niederer

Scenario-based programming: reducing the cognitive load, fostering abstract thinking

  • Giora Alexandron
  • Michal Armoni
  • Michal Gordon
  • David Harel

Lessons learned managing distributed software engineering courses

  • Reid Holmes
  • Michelle Craig
  • Karen Reid
  • Eleni Stroulia

SESSION: Improving Student Software Projects

State-based monitoring and goal-driven project steering: field study of the SEMAT essence framework

  • Cécile Péraire
  • Todd Sedano

Introduction of continuous delivery in multi-customer project courses

  • Stephan Krusche
  • Lukas Alperowitz

Process mining software repositories from student projects in an undergraduate software engineering course

  • Megha Mittal
  • Ashish Sureka

Comparing test quality measures for assessing student-written tests

  • Stephen H. Edwards
  • Zalia Shams

SESSION: Agility and Progressive Learning

An inverted classroom experience: engaging students in architectural thinking for agile projects

  • Jane Cleland-Huang
  • Muhammad Ali Babar
  • Mehdi Mirakhorli

Quantitative assessment with using ticket driven development for teaching scrum framework

  • Hiroshi Igaki
  • Naoki Fukuyasu
  • Sachio Saiki
  • Shinsuke Matsumoto
  • Shinji Kusumoto

Teaching students scrum using LEGO blocks

  • Maria Paasivaara
  • Ville Heikkilä
  • Casper Lassenius
  • Towo Toivola

A compiler project with learning progressions

  • Derek Rayside

SESSION: Collaboration and Cloud

Integrating software project resources using source code identifiers

  • Laura Inozemtseva
  • Siddharth Subramanian
  • Reid Holmes

Development context driven change awareness and analysis framework

  • Anita Sarma
  • Josh Branchaud
  • Matthew B. Dwyer
  • Suzette Person
  • Neha Rungta

New opportunities for extracting insights from cloud based IDEs

  • Yi Wang
  • Patrick Wagstrom
  • Evelyn Duesterwald
  • David Redmiles

Cloudlet-based cyber-foraging for mobile systems in resource-constrained edge environments

  • Grace A. Lewis
  • Sebastian Echeverría
  • Soumya Simanta
  • Ben Bradshaw
  • James Root

A runtime cloud efficiency software quality metric

  • Mark Shtern
  • Michael Smit
  • Bradley Simmons
  • Marin Litoiu

SESSION: Testing and Evolution

Metamorphic fault tolerance: an automated and systematic methodology for fault tolerance in the absence of test oracle

  • Huai Liu
  • Iman I. Yusuf
  • Heinz W. Schmidt
  • Tsong Yueh Chen

Software bug localization with markov logic

  • Sai Zhang
  • Congle Zhang

Steering model-based oracles to admit real program behaviors

  • Gregory Gay
  • Sanjai Rayadurgam
  • Mats P. E. Heimdahl

Shadow symbolic execution for better testing of evolving software

  • Cristian Cadar
  • Hristina Palikareva

Leveraging P2P networks to address the test scenario explosion problem

  • Mark Micallef
  • Conrad Attard
  • Andrea Mangion
  • Sebastian Attard

A framework to advise tests using tests

  • Yurong Wang
  • Suzette Person
  • Sebastian Elbaum
  • Matthew B. Dwyer

SESSION: Human Inputs in Software Engineering and Adaptation

Brainware: synergizing software systems and neural inputs

  • Shihong Huang
  • Emmanuelle Tognoli

Quantifying programmers' mental workload during program comprehension based on cerebral blood flow measurement: a controlled experiment

  • Takao Nakagawa
  • Yasutaka Kamei
  • Hidetake Uwano
  • Akito Monden
  • Kenichi Matsumoto
  • Daniel M. German

Who is the expert? combining intention and knowledge of online discussants in collaborative RE tasks

  • Itzel Morales-Ramirez
  • Matthieu Vergne
  • Mirko Morandini
  • Alberto Siena
  • Anna Perini
  • Angelo Susi

Who asked what: integrating crowdsourced FAQs into API documentation

  • Cong Chen
  • Kang Zhang

A world full of surprises: bayesian theory of surprise to quantify degrees of uncertainty

  • Nelly Bencomo
  • Amel Belaggoun

Modeling self-adaptive software systems with learning petri nets

  • Zuohua Ding
  • Yuan Zhou
  • MengChu Zhou

SESSION: Learning and Mining

Automatic search term identification for change tasks

  • Katja Kevic
  • Thomas Fritz

An automated approach to detect violations with high confidence in incremental code using a learning system

  • Radhika D. Venkatasubramanyam
  • Shrinath Gupta

A novel quantitative evaluation approach for software project schedules using statistical model checking

  • Dehui Du
  • Mingsong Chen
  • Xiao Liu
  • Yun Yang

Reusable execution replay: execution record and replay for source code reuse

  • Ameer Armaly
  • Casey Ferris
  • Collin McMillan

Mining precise performance-aware behavioral models from existing instrumentation

  • Tony Ohmann
  • Kevin Thai
  • Ivan Beschastnikh
  • Yuriy Brun

Writing bidirectional model transformations as intentional updates

  • Tao Zan
  • Hugo Pacheco
  • Zhenjiang Hu

SESSION: Bugs and Failures

Do the fix ingredients already exist? an empirical inquiry into the redundancy assumptions of program repair approaches

  • Matias Martinez
  • Westley Weimer
  • Martin Monperrus

Reproducing software failures by exploiting the action history of undo features

  • Tobias Roehm
  • Bernd Bruegge

Bugarium: 3d interaction for supporting large-scale bug repositories analysis

  • Papon Yongpisanpop
  • Hideaki Hata
  • Kenichi Matsumoto

RegViz: visual debugging of regular expressions

  • Fabian Beck
  • Stefan Gulan
  • Benjamin Biegel
  • Sebastian Baltes
  • Daniel Weiskopf

Characterizing defect trends in software support

  • Tung Thanh Nguyen
  • Evelyn Duesterwald
  • Tim Klinger
  • P. Santhanam
  • Tien N. Nguyen

On failure classification: the impact of "getting it wrong"

  • Davide Falessi
  • Bill Kidwell
  • Jane Huffman Hayes
  • Forrest Shull

SESSION: Process and Social Aspects

API as a social glue

  • Rohan Padhye
  • Debdoot Mukherjee
  • Vibha Singhal Sinha

Software engineering for 'social good': integrating action research, participatory design, and agile development

  • Maria Angela Ferrario
  • Will Simm
  • Peter Newman
  • Stephen Forshaw
  • Jon Whittle

Collaborative infrastructure for test-driven scientific model validation

  • Cyrus Omar
  • Jonathan Aldrich
  • Richard C. Gerkin

Lab-based action design research

  • Paul Ralph

Flexible product line engineering with a virtual platform

  • Michał Antkiewicz
  • Wenbin Ji
  • Thorsten Berger
  • Krzysztof Czarnecki
  • Thomas Schmorleiz
  • Ralf Lämmel
  • Ștefan Stănciulescu
  • Andrzej Wąsowski
  • Ina Schaefer

Compiler error notifications revisited: an interaction-first approach for helping developers more effectively comprehend and resolve error notifications

  • Titus Barik
  • Jim Witschey
  • Brittany Johnson
  • Emerson Murphy-Hill

SESSION: Automated Programming Support

ImpactMiner: a tool for change impact analysis

  • Bogdan Dit
  • Michael Wagner
  • Shasha Wen
  • Weilin Wang
  • Mario Linares-Vásquez
  • Denys Poshyvanyk
  • Huzefa Kagdi

Migrating code with statistical machine translation

  • Anh Tuan Nguyen
  • Tung Thanh Nguyen
  • Tien N. Nguyen

LTSA-PCA: tool support for compositional reliability analysis

  • Pedro Rodrigues
  • Emil Lupu
  • Jeff Kramer

DASHboards: enhancing developer situational awareness

  • Oleksii Kononenko
  • Olga Baysal
  • Reid Holmes
  • Michael W. Godfrey

Product assignment recommender

  • Jialiang Xie
  • Qimu Zheng
  • Minghui Zhou
  • Audris Mockus

Verily: a web framework for creating more reasonable web applications

  • John L. Singleton
  • Gary T. Leavens

VeriWS: a tool for verification of combined functional and non-functional requirements of web service composition

  • Manman Chen
  • Tian Huat Tan
  • Jun Sun
  • Yang Liu
  • Jin Song Dong

SESSION: Software Understanding for Programmers and Researchers

SEWordSim: software-specific word similarity database

  • Yuan Tian
  • David Lo
  • Julia Lawall

BOAT: an experimental platform for researchers to comparatively and reproducibly evaluate bug localization techniques

  • Xinyu Wang
  • David Lo
  • Xin Xia
  • Xingen Wang
  • Pavneet Singh Kochhar
  • Yuan Tian
  • Xiaohu Yang
  • Shanping Li
  • Jianling Sun
  • Bo Zhou

VMVM: unit test virtualization for Java

  • Jonathan Bell
  • Gail Kaiser

ViVA: a visualization and analysis tool for distributed event-based systems

  • Youn Kyu Lee
  • Jae young Bang
  • Joshua Garcia
  • Nenad Medvidovic

Cookbook: in situ code completion using edit recipes learned from examples

  • John Jacobellis
  • Na Meng
  • Miryung Kim

Atlas: a new way to explore software, build analysis tools

  • Tom Deering
  • Suresh Kothari
  • Jeremias Sauceda
  • Jon Mathews

Teamscale: software quality control in real-time

  • Lars Heinemann
  • Benjamin Hummel
  • Daniela Steidl

SESSION: Posters

APISynth: a new graph-based API recommender system

  • Chen Lv
  • Wei Jiang
  • Yue Liu
  • Songlin Hu

Shedding light on distributed system executions

  • Jenny Abrahamson
  • Ivan Beschastnikh
  • Yuriy Brun
  • Michael D. Ernst

Fault localization for build code errors in makefiles

  • Jafar Al-Kofahi
  • Hung Viet Nguyen
  • Tien N. Nguyen

Avoiding deadlocks using stalemate and dimmunix

  • Surabhi Pandey
  • Sushanth Bhat
  • Vivek Shanbhag

Assuring system goals under uncertainty with active formal models of self-adaptation

  • M. Usman Iftikhar
  • Danny Weyns

Timing challenges in automotive software architectures

  • Licong Zhang
  • Reinhard Schneider
  • Alejandro Masrur
  • Martin Becker
  • Martin Geier
  • Samarjit Chakraborty

An adaptive bayesian approach for URL selection to test performance of large scale web-based systems

  • Alim Ul Gias
  • Kazi Sakib

DEECo: an ecosystem for cyber-physical systems

  • Rima Al Ali
  • Tomas Bures
  • Ilias Gerostathopoulos
  • Petr Hnetynka
  • Jaroslav Keznikl
  • Michal Kit
  • Frantisek Plasil

Calibrating use case points

  • Ali Bou Nassif
  • Luiz Fernando Capretz
  • Danny Ho

The MechatronicUML method: model-driven software engineering of self-adaptive mechatronic systems

  • Steffen Becker
  • Stefan Dziwok
  • Christopher Gerking
  • Christian Heinzemann
  • Wilhelm Schäfer
  • Matthias Meyer
  • Uwe Pohlmann

Model-driven development of diverse user interfaces

  • Zhiyi Ma
  • Wei Zhang
  • Chih-Yi Yeh

Statistical learning of API mappings for language migration

  • Anh Tuan Nguyen
  • Hoan Anh Nguyen
  • Tung Thanh Nguyen
  • Tien N. Nguyen

Asymmetric software structures in the Linux kernel

  • Lei Wang
  • Ping Wang
  • Zhen Wang

Towards designing assistive software applications for discrete trial training

  • Valerie Picardo
  • Samuel Metson
  • Rashina Hoda
  • Robert Amor
  • Angela Arnold-Saritepe
  • Rebecca Sharp
  • Denys Brand

An optimized design approach for extending HMI systems with mobile devices

  • Manasvi Jain
  • Rahul Raj CP
  • Seshubabu Tolety

Proposing a theory of gamification effectiveness

  • Bilal Amir
  • Paul Ralph

Modeling and model checking by modular approach

  • Mo Xia
  • Guiming Luo
  • Mian Sun

Hybrid test data generation

  • Zicong Liu
  • Zhenyu Chen
  • Chunrong Fang
  • Qingkai Shi

Software defect prediction based on collaborative representation classification

  • Xiao-Yuan Jing
  • Zhi-Wu Zhang
  • Shi Ying
  • Feng Wang
  • Yang-Ping Zhu

SESSION: Mature A

COASTmed: software architectures for delivering customizable, policy-based differential web services

  • Alegria Baquero

Formal verification problems in a big data world: towards a mighty synergy

  • Matteo Camilli

Cross-platform testing and maintenance of web and mobile applications

  • Shauvik Roy Choudhary

SESSION: Mature B

Human aspects, gamification, and social media in collaborative software engineering

  • Bogdan Vasilescu

ReuseSEEM: an approach to support the definition, modeling, and analysis of software ecosystems

  • Rodrigo Pereira dos Santos

Summarization of complex software artifacts

  • Laura Moreno

SESSION: Initial A

Nirikshan: process mining software repositories to identify inefficiencies, imperfections, and enhance existing process capabilities

  • Monika Gupta

Performance analysis of object-oriented software

  • David Maplesden

Improving exception handling with recommendations

  • Eiji Adachi Barbosa

Verifying incomplete and evolving specifications

  • Claudio Menghi

Quantitative properties of software systems: specification, verification, and synthesis

  • Srđan Krstić

SESSION: Initial B

Automatic generation of cost-effective test oracles

  • Alberto Goffi

Dynamic data-flow testing

  • Mattia Vivanti

Holistic recommender systems for software engineering

  • Luca Ponzanelli

Understanding the dynamics of test-driven development

  • Davide Fucci

On the use of visualization for supporting software reuse

  • Marcelo Schots

SESSION: Initial C

Understanding the redundancy of software systems

  • Andrea Mattavelli

Study of task processes for improving programmer productivity

  • Damodaram Kamma

Improving enterprise software maintenance efficiency through mining software repositories in an industry context

  • Senthil Mani

Enhancing feature interfaces for supporting software product line maintenance

  • Bruno B. P. Cafeo

Supporting evolution and maintenance of Android apps

  • Mario Linares-Vásquez

SESSION: ACM Student Research Competition

Exception handling for dynamic information flow control

  • Abhishek Bichhawat

Automatic performance modeling of multithreaded programs

  • Alexander Tarvo

Incremental reachability checking of KernelC programs using matching logic

  • Alessandro Maria Rizzi

Exploiting undefined behaviors for efficient symbolic execution

  • Asankhaya Sharma

Identifying caching opportunities, effortlessly

  • Alejandro Infante

Program transformations to fix C buffer overflows

  • Alex Shaw

Characteristics of the vulnerable code changes identified through peer code review

  • Amiangshu Bosu

Privacy and security requirements framework for the internet of things (IoT)

  • Israa Alqassem