ICSE 2012
2012 34th International Conference on Software Engineering (ICSE)
Powered by
Conference Publishing Consulting

2012 34th International Conference on Software Engineering (ICSE), June 2–9, 2012, Zurich, Switzerland

ICSE 2012 – Proceedings

Contents - Abstracts - Authors
Online Calendar - iCal File
Twitter: https://twitter.com/icse2012

Preface

Title Page
Message from the Chairs
Committees
Sponsors

Technical Research

Fault Handling
Wed, Jun 6, 10:45 - 12:45

A Systematic Study of Automated Program Repair: Fixing 55 out of 105 Bugs for $8 Each
Claire Le Goues, Michael Dewey-Vogt, Stephanie Forrest, and Westley Weimer
(University of Virginia, USA; University of New Mexico, USA)
Where Should the Bugs Be Fixed? - More Accurate Information Retrieval-Based Bug Localization Based on Bug Reports
Jian Zhou, Hongyu Zhang, and David Lo
(Tsinghua University, China; Singapore Management University, Singapore)
Developer Prioritization in Bug Repositories
Jifeng Xuan, He Jiang, Zhilei Ren, and Weiqin Zou
(Dalian University of Technology, China)
WhoseFault: Automatic Developer-to-Fault Assignment through Fault Localization
Francisco Servant and James A. Jones
(UC Irvine, USA)

Code Generation and Recovery
Wed, Jun 6, 10:45 - 12:45

Recovering Traceability Links between an API and Its Learning Resources
Barthélémy Dagenais and Martin P. Robillard
(McGill University, Canada)
Generating Range Fixes for Software Configuration
Yingfei Xiong, Arnaud Hubaux, Steven She, and Krzysztof Czarnecki
(University of Waterloo, Canada; University of Namur, Belgium)
Graph-Based Pattern-Oriented, Context-Sensitive Source Code Completion
Anh Tuan Nguyen, Tung Thanh Nguyen, Hoan Anh Nguyen, Ahmed Tamrawi, Hung Viet Nguyen, Jafar Al-Kofahi, and Tien N. Nguyen
(Iowa State University, USA)
Automatic Input Rectification
Fan Long, Vijay Ganesh, Michael Carbin, Stelios Sidiroglou, and Martin Rinard
(MIT, USA)

Empirical Studies of Development
Wed, Jun 6, 10:45 - 12:45

Overcoming the Challenges in Cost Estimation for Distributed Software Projects
Narayan Ramasubbu and Rajesh Krishna Balan
(Singapore Management University, Singapore)
Characterizing Logging Practices in Open-Source Software
Ding Yuan, Soyeon Park, and Yuanyuan Zhou
(University of Illinois at Urbana-Champaign, USA; UC San Diego, USA)
The Impacts of Software Process Improvement on Developers: A Systematic Review
Mathieu Lavallée and Pierre N. Robillard
(École Polytechnique de Montréal, Canada)
Combining Functional and Imperative Programming for Multicore Software: An Empirical Study Evaluating Scala and Java
Victor Pankratius, Felix Schmidt, and Gilda Garretón
(KIT, Germany; Oracle Labs, USA)

Performance Analysis
Wed, Jun 6, 10:45 - 12:45

Uncovering Performance Problems in Java Applications with Reference Propagation Profiling
Dacong Yan, Guoqing Xu, and Atanas Rountev
(Ohio State University, USA; UC Irvine, USA)
Performance Debugging in the Large via Mining Millions of Stack Traces
Shi Han, Yingnong Dang, Song Ge, Dongmei Zhang, and Tao Xie
(Microsoft Research, China; North Carolina State University, USA)
Automatically Finding Performance Problems with Feedback-Directed Learning Software Testing
Mark Grechanik, Chen Fu, and Qing Xie
(Accenture Technology Labs, USA; University of Illinois at Chicago, USA)
Predicting Performance via Automated Feature-Interaction Detection
Norbert Siegmund, Sergiy S. Kolesnikov, Christian Kästner, Sven Apel, Don Batory, Marko Rosenmüller, and Gunter Saake
(University of Magdeburg, Germany; University of Passau, Germany; Philipps University of Marburg, Germany; University of Texas at Austin, USA)

Defect Prediction
Wed, Jun 6, 14:00 - 15:30

Sound Empirical Evidence in Software Testing
Gordon Fraser and Andrea Arcuri
(Saarland University, Germany; Simula Research Laboratory, Norway)
Privacy and Utility for Defect Prediction: Experiments with MORPH
Fayola Peters and Tim Menzies
(West Virginia University, USA)
Bug Prediction Based on Fine-Grained Module Histories
Hideaki Hata, Osamu Mizuno, and Tohru Kikuno
(Osaka University, Japan; Kyoto Institute of Technology, Japan)

Refactoring
Wed, Jun 6, 14:00 - 15:30

Reconciling Manual and Automatic Refactoring
Xi Ge, Quinton L. DuBose, and Emerson Murphy-Hill
(North Carolina State University, USA)
WitchDoctor: IDE Support for Real-Time Auto-Completion of Refactorings
Stephen R. Foster, William G. Griswold, and Sorin Lerner
(UC San Diego, USA)
Use, Disuse, and Misuse of Automated Refactorings
Mohsen Vakilian, Nicholas Chen, Stas Negara, Balaji Ambresh Rajkumar, Brian P. Bailey, and Ralph E. Johnson
(University of Illinois at Urbana-Champaign, USA)

Human Aspects of Development
Wed, Jun 6, 14:00 - 15:30

Test Confessions: A Study of Testing Practices for Plug-In Systems
Michaela Greiler, Arie van Deursen, and Margaret-Anne Storey
(TU Delft, Netherlands; University of Victoria, Canada)
How Do Professional Developers Comprehend Software?
Tobias Roehm, Rebecca Tiarks, Rainer Koschke, and Walid Maalej
(TU Munich, Germany; University of Bremen, Germany)
Asking and Answering Questions about Unfamiliar APIs: An Exploratory Study
Ekwa Duala-Ekoko and Martin P. Robillard
(McGill University, Canada)

Bug Detection
Wed, Jun 6, 16:00 - 18:00

Automated Repair of HTML Generation Errors in PHP Applications Using String Constraint Solving
Hesam Samimi, Max Schäfer, Shay Artzi, Todd Millstein, Frank Tip, and Laurie Hendren
(UC Los Angeles, USA; IBM Research, USA; McGill University, Canada)
Leveraging Test Generation and Specification Mining for Automated Bug Detection without False Positives
Michael Pradel and Thomas R. Gross
(ETH Zurich, Switzerland)
Axis: Automatically Fixing Atomicity Violations through Solving Control Constraints
Peng Liu and Charles Zhang
(Hong Kong University of Science and Technology, China)
CBCD: Cloned Buggy Code Detector
Jingyue Li and Michael D. Ernst
(DNV Research and Innovation, Norway; University of Washington, USA)

Multiversion Software
Wed, Jun 6, 16:00 - 18:00

Crosscutting Revision Control System
Sagi Ifrah and David H. Lorenz
(Open University, Israel)
Where Does This Code Come from and Where Does It Go? - Integrated Code History Tracker for Open Source Systems -
Katsuro Inoue, Yusuke Sasaki, Pei Xia, and Yuki Manabe
(Osaka University, Japan)
Improving Early Detection of Software Merge Conflicts
Mário Luís Guimarães and António Rito Silva
(Technical University of Lisbon, Portugal)
A History-Based Matching Approach to Identification of Framework Evolution
Sichen Meng, Xiaoyin Wang, Lu Zhang, and Hong Mei
(Key Laboratory of High Confidence Software Technologies, China; Peking University, China)

Similarity and Classification
Wed, Jun 6, 16:00 - 18:00

Detecting Similar Software Applications
Collin McMillan, Mark Grechanik, and Denys Poshyvanyk
(College of William and Mary, USA; Accenture Technology Labs, USA; University of Illinois at Chicago, USA)
Content Classification of Development Emails
Alberto Bacchelli, Tommaso Dal Sasso, Marco D'Ambros, and Michele Lanza
(University of Lugano, Switzerland)
Identifying Linux Bug Fixing Patches
Yuan Tian, Julia Lawall, and David Lo
(Singapore Management University, Singapore; INRIA/LIP6, France)
Active Refinement of Clone Anomaly Reports
Lucia, David Lo, Lingxiao Jiang, and Aditya Budi
(Singapore Management University, Singapore)

Analysis for Evolution
Thu, Jun 7, 10:45 - 12:45

Automated Analysis of CSS Rules to Support Style Maintenance
Ali Mesbah and Shabnam Mirshokraie
(University of British Columbia, Canada)
Graph-Based Analysis and Prediction for Software Evolution
Pamela Bhattacharya, Marios Iliofotou, Iulian Neamtiu, and Michalis Faloutsos
(UC Riverside, USA)
Integrated Impact Analysis for Managing Software Changes
Malcom Gethers, Bogdan Dit, Huzefa Kagdi, and Denys Poshyvanyk
(College of William and Mary, USA; Wichita State University, USA)
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Felienne Hermans, Martin Pinzger, and Arie van Deursen
(TU Delft, Netherlands)

Debugging
Thu, Jun 7, 10:45 - 12:45

An Empirical Study about the Effectiveness of Debugging When Random Test Cases Are Used
Mariano Ceccato, Alessandro Marchetto, Leonardo Mariani, Cu D. Nguyen, and Paolo Tonella
(Fondazione Bruno Kessler, Italy; University of Milano-Bicocca, Italy)
Reducing Confounding Bias in Predicate-Level Statistical Debugging Metrics
Ross Gore and Paul F. Reynolds, Jr.
(University of Virginia, USA)
BugRedux: Reproducing Field Failures for In-House Debugging
Wei Jin and Alessandro Orso
(Georgia Tech, USA)
Object-Centric Debugging
Jorge Ressia, Alexandre Bergel, and Oscar Nierstrasz
(University of Bern, Switzerland; University of Chile, Chile)

Human Aspects of Process
Thu, Jun 7, 10:45 - 12:45

Disengagement in Pair Programming: Does It Matter?
Laura Plonka, Helen Sharp, and Janet van der Linden
(Open University, UK)
Ambient Awareness of Build Status in Collocated Software Teams
John Downs, Beryl Plimmer, and John G. Hosking
(University of Melbourne, Australia; University of Auckland, New Zealand; Australian National University, Australia)
What Make Long Term Contributors: Willingness and Opportunity in OSS Community
Minghui Zhou and Audris Mockus
(Peking University, China; Key Laboratory of High Confidence Software Technologies, China; Avaya Labs Research, USA)
Development of Auxiliary Functions: Should You Be Agile? An Empirical Assessment of Pair Programming and Test-First Programming
Otávio Augusto Lazzarini Lemos, Fabiano Cutigi Ferrari, Fábio Fagundes Silveira, and Alessandro Garcia
(UNIFESP, Brazil; UFSCar, Brazil; PUC-Rio, Brazil)

Models
Thu, Jun 7, 10:45 - 12:45

Maintaining Invariant Traceability through Bidirectional Transformations
Yijun Yu, Yu Lin, Zhenjiang Hu, Soichiro Hidaka, Hiroyuki Kato, and Lionel Montrieux
(Open University, UK; University of Illinois at Urbana-Champaign, USA; National Institute of Informatics, Japan)
Slicing MATLAB Simulink Models
Robert Reicherdt and Sabine Glesner
(TU Berlin, Germany)
Partial Evaluation of Model Transformations
Ali Razavi and Kostas Kontogiannis
(University of Waterloo, Canada; National Technical University of Athens, Greece)
Partial Models: Towards Modeling and Reasoning with Uncertainty
Michalis Famelis, Rick Salay, and Marsha Chechik
(University of Toronto, Canada)

Concurrency and Exceptions
Thu, Jun 7, 16:00 - 17:30

Static Detection of Resource Contention Problems in Server-Side Scripts
Yunhui Zheng and Xiangyu Zhang
(Purdue University, USA)
Amplifying Tests to Validate Exception Handling Code
Pingyu Zhang and Sebastian Elbaum
(University of Nebraska-Lincoln, USA)
MagicFuzzer: Scalable Deadlock Detection for Large-Scale Applications
Yan Cai and W. K. Chan
(City University of Hong Kong, China)

Software Architecture
Thu, Jun 7, 16:00 - 17:30

Does Organizing Security Patterns Focus Architectural Choices?
Koen Yskout, Riccardo Scandariato, and Wouter Joosen
(KU Leuven, Belgium)
Enhancing Architecture-Implementation Conformance with Change Management and Support for Behavioral Mapping
Yongjie Zheng and Richard N. Taylor
(UC Irvine, USA)
A Tactic-Centric Approach for Automating Traceability of Quality Concerns
Mehdi Mirakhorli, Yonghee Shin, Jane Cleland-Huang, and Murat Cinar
(DePaul University, USA)

Formal Verification
Thu, Jun 7, 16:00 - 17:30

Build Code Analysis with Symbolic Evaluation
Ahmed Tamrawi, Hoan Anh Nguyen, Hung Viet Nguyen, and Tien N. Nguyen
(Iowa State University, USA)
An Automated Approach to Generating Efficient Constraint Solvers
Dharini Balasubramaniam, Christopher Jefferson, Lars Kotthoff, Ian Miguel, and Peter Nightingale
(University of St. Andrews, UK)
Simulation-Based Abstractions for Software Product-Line Model Checking
Maxime Cordy, Andreas Classen, Gilles Perrouin, Pierre-Yves Schobbens, Patrick Heymans, and Axel Legay
(University of Namur, Belgium; INRIA, France; LIFL–CNRS, France; IRISA, France; Aalborg University, Denmark; University of Liège, Belgium)

Invariant Generation
Fri, Jun 8, 08:45 - 10:15

Using Dynamic Analysis to Discover Polynomial and Array Invariants
ThanhVu Nguyen, Deepak Kapur, Westley Weimer, and Stephanie Forrest
(University of New Mexico, USA; University of Virginia, USA)
Metadata Invariants: Checking and Inferring Metadata Coding Conventions
Myoungkyu Song and Eli Tilevich
(Virginia Tech, USA)
Generating Obstacle Conditions for Requirements Completeness
Dalal Alrajeh, Jeff Kramer, Axel van Lamsweerde, Alessandra Russo, and Sebastián Uchitel
(Imperial College London, UK; Université Catholique de Louvain, Belgium)

Regression Testing
Fri, Jun 8, 08:45 - 10:15

make test-zesti: A Symbolic Execution Solution for Improving Regression Testing
Paul Dan Marinescu and Cristian Cadar
(Imperial College London, UK)
BALLERINA: Automatic Generation and Clustering of Efficient Random Unit Tests for Multithreaded Code
Adrian Nistor, Qingzhou Luo, Michael Pradel, Thomas R. Gross, and Darko Marinov
(University of Illinois at Urbana-Champaign, USA; ETH Zurich, Switzerland)
On-Demand Test Suite Reduction
Dan Hao, Lu Zhang, Xingxia Wu, Hong Mei, and Gregg Rothermel
(Peking University, China; Key Laboratory of High Confidence Software Technologies, China; University of Nebraska, USA)

Software Vulnerability
Fri, Jun 8, 08:45 - 10:15

Automated Detection of Client-State Manipulation Vulnerabilities
Anders Møller and Mathias Schwarz
(Aarhus University, Denmark)
Understanding Integer Overflow in C/C++
Will Dietz, Peng Li, John Regehr, and Vikram Adve
(University of Illinois at Urbana-Champaign, USA; University of Utah, USA)
A Large Scale Exploratory Analysis of Software Vulnerability Life Cycles
Muhammad Shahzad, Muhammad Zubair Shafiq, and Alex X. Liu
(Michigan State University, USA)

API Learning
Fri, Jun 8, 10:45 - 12:45

Synthesizing API Usage Examples
Raymond P. L. Buse and Westley Weimer
(University of Virginia, USA)
Semi-automatically Extracting FAQs to Improve Accessibility of Software Development Knowledge
Stefan Henß, Martin Monperrus, and Mira Mezini
(TU Darmstadt, Germany; University of Lille, France; INRIA, France)
Temporal Analysis of API Usage Concepts
Gias Uddin, Barthélémy Dagenais, and Martin P. Robillard
(McGill University, Canada)
Inferring Method Specifications from Natural Language API Descriptions
Rahul Pandita, Xusheng Xiao, Hao Zhong, Tao Xie, Stephen Oney, and Amit Paradkar
(North Carolina State University, USA; Chinese Academy of Sciences, China; CMU, USA; IBM Research, USA)

Code Recommenders
Fri, Jun 8, 10:45 - 12:45

Automatic Parameter Recommendation for Practical API Usage
Cheng Zhang, Juyuan Yang, Yi Zhang, Jing Fan, Xin Zhang, Jianjun Zhao, and Peizhao Ou
(Shanghai Jiao Tong University, China)
On the Naturalness of Software
Abram Hindle, Earl T. Barr, Zhendong Su, Mark Gabel, and Premkumar Devanbu
(UC Davis, USA; University of Texas at Dallas, USA)
Recommending Source Code for Use in Rapid Software Prototypes
Collin McMillan, Negar Hariri, Denys Poshyvanyk, Jane Cleland-Huang, and Bamshad Mobasher
(College of William and Mary, USA; DePaul University, USA)
Active Code Completion
Cyrus Omar, YoungSeok Yoon, Thomas D. LaToza, and Brad A. Myers
(CMU, USA)

Test Automation
Fri, Jun 8, 10:45 - 12:45

Automated Oracle Creation Support, or: How I Learned to Stop Worrying about Fault Propagation and Love Mutation Testing
Matt Staats, Gregory Gay, and Mats P. E. Heimdahl
(KAIST, South Korea; University of Minnesota, USA)
Automating Test Automation
Suresh Thummalapenta, Saurabh Sinha, Nimit Singhania, and Satish Chandra
(IBM Research, India; IBM Research, USA)
Stride: Search-Based Deterministic Replay in Polynomial Time via Bounded Linkage
Jinguo Zhou, Xiao Xiao, and Charles Zhang
(Hong Kong University of Science and Technology, China)
iTree: Efficiently Discovering High-Coverage Configurations Using Interaction Trees
Charles Song, Adam Porter, and Jeffrey S. Foster
(University of Maryland, USA)

Validation of Specification
Fri, Jun 8, 10:45 - 12:45

Inferring Class Level Specifications for Distributed Systems
Sandeep Kumar, Siau-Cheng Khoo, Abhik Roychoudhury, and David Lo
(National University of Singapore, Singapore; Singapore Management University, Singapore)
Statically Checking API Protocol Conformance with Mined Multi-Object Specifications
Michael Pradel, Ciera Jaspan, Jonathan Aldrich, and Thomas R. Gross
(ETH Zurich, Switzerland; CMU, USA)
Behavioral Validation of JFSL Specifications through Model Synthesis
Carlo Ghezzi and Andrea Mocci
(Politecnico di Milano, Italy)
Verifying Client-Side Input Validation Functions Using String Analysis
Muath Alkhalaf, Tevfik Bultan, and Jose L. Gallegos
(UC Santa Barbara, USA)

Keynotes

Digital Formations of the Powerful and the Powerless (Keynote)
Saskia Sassen
(Columbia University, USA)
Supporting Sustainability with Software - An Industrial Perspective (Keynote)
Frank-Dieter Clesle
(SAP, Germany)
Whither Software Architecture? (Keynote)
Jeff Kramer
(Imperial College London, UK)

Software Engineering in Practice

Services and Analytics
Wed, Jun 6, 10:45 - 12:45

Towards a Federated Cloud Ecosystem (Invited Industrial Talk)
Clovis Chapman
(Dell, Ireland)
Specification Patterns from Research to Industry: A Case Study in Service-Based Applications
Domenico Bianculli, Carlo Ghezzi, Cesare Pautasso, and Patrick Senti
(University of Lugano, Switzerland; Politecnico di Milano, Italy; Credit Suisse, Switzerland)
Methodology for Migration of Long Running Process Instances in a Global Large Scale BPM Environment in Credit Suisse's SOA Landscape
Tarmo Ploom, Stefan Scheit, and Axel Glaser
(Credit Suisse, Switzerland)
Information Needs for Software Development Analytics
Raymond P. L. Buse and Thomas Zimmermann
(University of Virginia, USA; Microsoft Research, USA)

Mini-Tutorial: Software Analytics
Wed, Jun 6, 14:00 - 15:30

Software Analytics in Practice: Mini Tutorial
Dongmei Zhang and Tao Xie
(Microsoft Research, China; North Carolina State University, USA)

Invited Industrial Experts
Wed, Jun 6, 16:00 - 18:00

Software as an Engineering Material: How the Affordances of Programming Have Changed and What to Do about It (Invited Industrial Talk)
Keith Braithwaite
(Zühlke Engineering, UK)
Software Architecture - What Does It Mean in Industry? (Invited Industrial Talk)
Eberhard Wolff
(adesso, Germany)
How Software Engineering Can Benefit from Traditional Industries - A Practical Experience Report (Invited Industrial Talk)
Tom Sprenger
(AdNovum Informatik, Switzerland)

Formal Methods
Thu, Jun 7, 10:45 - 12:45

Ten Years of Automated Code Analysis at Microsoft (Invited Industrial Talk)
Wolfram Schulte
(Microsoft Research, USA)
Large-Scale Formal Verification in Practice: A Process Perspective
June Andronick, Ross Jeffery, Gerwin Klein, Rafal Kolanski, Mark Staples, He Zhang, and Liming Zhu
(NICTA, Australia; UNSW, Australia)
Constructing Parser for Industrial Software Specifications Containing Formal and Natural Language Description
Futoshi Iwama, Taiga Nakamura, and Hironori Takeuchi
(IBM Research, Japan)
Formal Correctness, Safety, Dependability, and Performance Analysis of a Satellite
Marie-Aude Esteve, Joost-Pieter Katoen, Viet Yen Nguyen, Bart Postma, and Yuri Yushtein
(European Space Agency, Netherlands; RWTH Aachen University, Germany; University of Twente, Netherlands)

Goldfish Bowl Panel: Software Development Analytics
Thu, Jun 7, 16:00 - 17:30

Goldfish Bowl Panel: Software Development Analytics
Tim Menzies and Thomas Zimmermann
(West Virginia University, USA; Microsoft Research, USA)

Re-engineering
Thu, Jun 7, 16:00 - 17:30

Making Sense of Healthcare Benefits
Jonathan Bnayahu, Maayan Goldstein, Mordechai Nisenson, and Yahalomit Simionovici
(IBM Research, Israel)
On the Proactive and Interactive Visualization for Feature Evolution Comprehension: An Industrial Investigation
Renato Novais, Camila Nunes, Caio Lima, Elder Cirilo, Francisco Dantas, Alessandro Garcia, and Manoel Mendonça
(Federal University of Bahia, Brazil; Federal Institute of Bahia, Brazil; PUC-Rio, Brazil)
Extending Static Analysis by Mining Project-Specific Rules
Boya Sun, Gang Shu, Andy Podgurski, and Brian Robinson
(Case Western Reserve University, USA; ABB Research, USA)

Debugging
Fri, Jun 8, 08:45 - 10:15

Debugger Canvas: Industrial Experience with the Code Bubbles Paradigm
Robert DeLine, Andrew Bragdon, Kael Rowan, Jens Jacobsen, and Steven P. Reiss
(Microsoft Research, USA; Brown University, USA)
Characterizing and Predicting Which Bugs Get Reopened
Thomas Zimmermann, Nachiappan Nagappan, Philip J. Guo, and Brendan Murphy
(Microsoft Research, USA; Stanford University, USA; Microsoft Research, UK)
ReBucket: A Method for Clustering Duplicate Crash Reports Based on Call Stack Similarity
Yingnong Dang, Rongxin Wu, Hongyu Zhang, Dongmei Zhang, and Peter Nobel
(Microsoft Research, China; Tsinghua University, China; Microsoft, USA)

Case Studies
Fri, Jun 8, 08:45 - 10:15

Understanding the Impact of Pair Programming on Developers Attention: A Case Study on a Large Industrial Experimentation
Alberto Sillitti, Giancarlo Succi, and Jelena Vlasenko
(Free University of Bolzano, Italy)
How Much Does Unused Code Matter for Maintenance?
Sebastian Eder, Maximilian Junker, Elmar Jürgens, Benedikt Hauptmann, Rudolf Vaas, and Karl-Heinz Prommer
(TU Munich, Germany; Munich Re, Germany)
Using Knowledge Elicitation to Improve Web Effort Estimation: Lessons from Six Industrial Case Studies
Emilia Mendes
(Zayed University, United Arab Emirates)

Testing
Fri, Jun 8, 10:45 - 12:45

Large-Scale Test Automation in the Cloud (Invited Industrial Talk)
John Penix
(Google, USA)
Efficient Reuse of Domain-Specific Test Knowledge: An Industrial Case in the Smart Card Domain
Nicolas Devos, Christophe Ponsard, Jean-Christophe Deprez, Renaud Bauvin, Benedicte Moriau, and Guy Anckaerts
(CETIC, Belgium; STMicroelectronics, Belgium)
The Quamoco Product Quality Modelling and Assessment Approach
Stefan Wagner, Klaus Lochmann, Lars Heinemann, Michael Kläs, Adam Trendowicz, Reinhold Plösch, Andreas Seidl, Andreas Goeb, and Jonathan Streit
(University of Stuttgart, Germany; TU Munich, Germany; Fraunhofer IESE, Germany; JKU Linz, Austria; Capgemini, Germany; SAP, Germany; itestra, Germany)
Industrial Application of Concolic Testing Approach: A Case Study on libexif by Using CREST-BV and KLEE
Yunho Kim, Moonzoo Kim, YoungJoo Kim, and Yoonkyu Jang
(KAIST, South Korea; Samsung Electronics, South Korea)

Software Engineering Education

The Role of Software Projects in Software Engineering Education
Wed, Jun 6, 11:00 - 12:45 (Chair: Kurt Schneider)

Teaching Software Engineering and Software Project Management: An Integrated and Practical Approach
Gabriele Bavota, Andrea De Lucia, Fausto Fasano, Rocco Oliveto, and Carlo Zottoli
(University of Salerno, Italy; University of Molise, Italy)
Teaching Collaborative Software Development: A Case Study
Terhi Kilamo, Imed Hammouda, and Mohamed Amine Chatti
(Tampere University of Technology, Finland; RWTH Aachen University, Germany)
Using Continuous Integration of Code and Content to Teach Software Engineering with Limited Resources
Jörn Guy Süß and William Billingsley
(University of Queensland, Australia)

Aspects of Teaching Software Engineering
Wed, Jun 6, 14:00 - 15:30 (Chair: Martin Naedele)

Stages in Teaching Software Testing
Tony Cowling
(University of Sheffield, UK)
Integrating Tools and Frameworks in Undergraduate Software Engineering Curriculum
Christopher Fuhrman, Roger Champagne, and Alain April
(University of Québec, Canada)
What Scope Is There for Adopting Evidence-Informed Teaching in SE?
David Budgen, Sarah Drummond, Pearl Brereton, and Nikki Holland
(Durham University, UK; Keele University, UK)

Software Engineering Education in Industry
Wed, Jun 6, 16:00 - 18:00 (Chair: Grace Lewis)

FOCUS: An Adaptation of a SWEBOK-Based Curriculum for Industry Requirements
Ganesh Samarthyam, Girish Suryanarayana, Arbind Kumar Gupta, and Raghu Nambiar
(Siemens, India)

Teaching Distributed Software Engineering
Thu, Jun 7, 11:15 - 12:30 (Chair: Richard LeBlanc)

Ten Tips to Succeed in Global Software Engineering Education
Ivica Crnković, Ivana Bosnić, and Mario Žagar
(Mälardalen University, Sweden; University of Zagreb, Croatia)
Collaboration Patterns in Distributed Software Development Projects
Igor Čavrak, Marin Orlić, and Ivica Crnković
(University of Zagreb, Croatia; Mälardalen University, Sweden)
Improving PSP Education by Pairing: An Empirical Study
Guoping Rong, He Zhang, Mingjuan Xie, and Dong Shao
(Nanjing University, China; NICTA, Australia; UNSW, Australia)
Five Days of Empirical Software Engineering: The PASED Experience
Massimiliano Di Penta, Giuliano Antoniol, Daniel M. Germán, Yann-Gaël Guéhéneuc, and Bram Adams
(University of Sannio, Italy; École Polytechnique de Montréal, Canada; University of Victoria, Canada)

New Ideas and Emerging Results

NIER in Support of Software Engineers
Wed, Jun 6, 10:45 - 12:45

Automatically Detecting Developer Activities and Problems in Software Development Work
Tobias Roehm and Walid Maalej
(TU Munich, Germany)
Software Process Improvement through the Identification and Removal of Project-Level Knowledge Flow Obstacles
Susan M. Mitchell and Carolyn B. Seaman
(University of Maryland in Baltimore County, USA)
Symbiotic General-Purpose and Domain-Specific Languages
Colin Atkinson, Ralph Gerbig, and Bastian Kennel
(University of Mannheim, Germany)
Evaluating the Specificity of Text Retrieval Queries to Support Software Engineering Tasks
Sonia Haiduc, Gabriele Bavota, Rocco Oliveto, Andrian Marcus, and Andrea De Lucia
(Wayne State University, USA; University of Salerno, Italy; University of Molise, Italy)
Co-adapting Human Collaborations and Software Architectures
Christoph Dorn and Richard N. Taylor
(UC Irvine, USA)
Release Engineering Practices and Pitfalls
Hyrum K. Wright and Dewayne E. Perry
(University of Texas at Austin, USA)
Augmented Intelligence - The New AI - Unleashing Human Capabilities in Knowledge Work
James M. Corrigan
(Stony Brook University, USA)

NIER for Mining Product and Process Data
Thu, Jun 7, 10:45 - 12:45

On How Often Code Is Cloned across Repositories
Niko Schwarz, Mircea Lungu, and Romain Robbes
(University of Bern, Switzerland; University of Chile, Chile)
Mining Input Sanitization Patterns for Predicting SQL Injection and Cross Site Scripting Vulnerabilities
Lwin Khin Shar and Hee Beng Kuan Tan
(Nanyang Technological University, Singapore)
Inferring Developer Expertise through Defect Analysis
Tung Thanh Nguyen, Tien N. Nguyen, Evelyn Duesterwald, Tim Klinger, and Peter Santhanam
(Iowa State University, USA; IBM Research, USA)
Green Mining: Investigating Power Consumption across Versions
Abram Hindle
(University of Alberta, Canada)
Multi-label Software Behavior Learning
Yang Feng and Zhenyu Chen
(Nanjing University, China)
Trends in Object-Oriented Software Evolution: Investigating Network Properties
Alexander Chatzigeorgiou and George Melas
(University of Macedonia, Greece)
Exploring Techniques for Rationale Extraction from Existing Documents
Benjamin Rogers, James Gung, Yechen Qiao, and Janet E. Burge
(Miami University, USA)

NIER to Leverage Social Aspects
Fri, Jun 8, 08:45 - 10:15

Continuous Social Screencasting to Facilitate Software Tool Discovery
Emerson Murphy-Hill
(North Carolina State University, USA)
UDesignIt: Towards Social Media for Community-Driven Design
Phil Greenwood, Awais Rashid, and James Walkerdine
(Lancaster University, UK)
Influencing the Adoption of Software Engineering Methods Using Social Software
Leif Singer and Kurt Schneider
(Leibniz Universität Hannover, Germany)
Toward Actionable, Broadly Accessible Contests in Software Engineering
Jane Cleland-Huang, Yonghee Shin, Ed Keenan, Adam Czauderna, Greg Leach, Evan Moritz, Malcom Gethers, Denys Poshyvanyk, Jane Huffman Hayes, and Wenbin Li
(DePaul University, USA; College of William and Mary, USA; University of Kentucky, USA)
CodeTimeline: Storytelling with Versioning Data
Adrian Kuhn and Mirko Stocker
(University of British Columbia, Canada; University of Applied Sciences Rapperswil, Switzerland)

NIER for Verification and Evolution
Fri, Jun 8, 10:45 - 12:45

Analyzing Multi-agent Systems with Probabilistic Model Checking Approach
Songzheng Song, Jianye Hao, Yang Liu, Jun Sun, Ho-Fung Leung, and Jin Song Dong
(National University of Singapore, Singapore; Chinese University of Hong Kong, China; University of Technology and Design, Singapore)
Brace: An Assertion Framework for Debugging Cyber-Physical Systems
Kevin Boos, Chien-Liang Fok, Christine Julien, and Miryung Kim
(University of Texas at Austin, USA)
Augmenting Test Suites Effectiveness by Increasing Output Diversity
Nadia Alshahwan and Mark Harman
(University College London, UK)
Improving IDE Recommendations by Considering Global Implications of Existing Recommendations
Kıvanç Muşlu, Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin
(University of Washington, USA; University of Waterloo, Canada)
Towards Flexible Evolution of Dynamically Adaptive Systems
Gilles Perrouin, Brice Morin, Franck Chauvel, Franck Fleurey, Jacques Klein, Yves Le Traon, Olivier Barais, and Jean-Marc Jézéquel
(University of Namur, Belgium; SINTEF, Norway; University of Luxembourg, Luxembourg; IRISA, France)
Towards Business Processes Orchestrating the Physical Enterprise with Wireless Sensor Networks
Fabio Casati, Florian Daniel, Guenadi Dantchev, Joakim Eriksson, Niclas Finne, Stamatis Karnouskos, Patricio Moreno Montero, Luca Mottola, Felix Jonathan Oppermann, Gian Pietro Picco, Antonio Quartulli, Kay Römer, Patrik Spiess, Stefano Tranquillini, and Thiemo Voigt
(University of Trento, Italy; SAP, Germany; Swedish Institute of Computer Science, Sweden; Acciona Infraestructuras, Spain; University of Lübeck, Germany)
Engineering and Verifying Requirements for Programmable Self-Assembling Nanomachines
Robyn Lutz, Jack Lutz, James Lathrop, Titus Klinge, Eric Henderson, Divita Mathur, and Dalia Abo Sheasha
(Iowa State University, USA; California Institute of Technology, USA)

Formal Research Demonstrations

Formal Demos 1
Wed, Jun 6, 16:00 - 18:00

Facilitating Communication between Engineers with CARES
Anja Guzzi and Andrew Begel
(TU Delft, Netherlands; Microsoft Research, USA)
Interactive Refinement of Combinatorial Test Plans
Itai Segall and Rachel Tzoref-Brill
(IBM Research, Israel)
TraceLab: An Experimental Workbench for Equipping Researchers to Innovate, Synthesize, and Comparatively Evaluate Traceability Solutions
Ed Keenan, Adam Czauderna, Greg Leach, Jane Cleland-Huang, Yonghee Shin, Evan Moritz, Malcom Gethers, Denys Poshyvanyk, Jonathan Maletic, Jane Huffman Hayes, Alex Dekhtyar, Daria Manukian, Shervin Hossein, and Derek Hearn
(DePaul University, USA; College of William and Mary, USA; Kent State University, USA; University of Kentucky, USA; CalPoly, USA)
Specification Engineering and Modular Verification Using a Web-Integrated Verifying Compiler
Charles T. Cook, Heather Harton, Hampton Smith, and Murali Sitaraman
(Clemson University, USA)
Writing Dynamic Service Orchestrations with DSOL
Leandro Sales Pinto, Gianpaolo Cugola, and Carlo Ghezzi
(Politecnico di Milano, Italy)
MASH: A Tool for End-User Plug-In Composition
Leonardo Mariani and Fabrizio Pastore
(University of Milano-Bicocca, Italy)
BabelRef: Detection and Renaming Tool for Cross-Language Program Entities in Dynamic Web Applications
Hung Viet Nguyen, Hoan Anh Nguyen, Tung Thanh Nguyen, and Tien N. Nguyen
(Iowa State University, USA)
MDSheet: A Framework for Model-Driven Spreadsheet Engineering
Jácome Cunha, João Paulo Fernandes, Jorge Mendes, and João Saraiva
(University of Minho, Portugal; University of Porto, Portugal)

Formal Demos 2
Fri, Jun 8, 10:45 - 12:45

WorkItemExplorer: Visualizing Software Development Tasks Using an Interactive Exploration Environment
Christoph Treude, Patrick Gorman, Lars Grammel, and Margaret-Anne Storey
(University of Victoria, Canada)
Runtime Monitoring of Component Changes with Spy@Runtime
Carlo Ghezzi, Andrea Mocci, and Mario Sangiorgio
(Politecnico di Milano, Italy; MIT, USA)
GraPacc: A Graph-Based Pattern-Oriented, Context-Sensitive Code Completion Tool
Anh Tuan Nguyen, Hoan Anh Nguyen, Tung Thanh Nguyen, and Tien N. Nguyen
(Iowa State University, USA)
Code Bubbles: A Practical Working-Set Programming Environment
Steven P. Reiss, Jared N. Bott, and Joseph J. LaViola, Jr.
(Brown University, USA; University of Central Florida, USA)
EVOSS: A Tool for Managing the Evolution of Free and Open Source Software Systems
Davide Di Ruscio, Patrizio Pelliccione, and Alfonso Pierantonio
(University of L'Aquila, Italy)
Supporting Extract Class Refactoring in Eclipse: The ARIES Project
Gabriele Bavota, Andrea De Lucia, Andrian Marcus, Rocco Oliveto, and Fabio Palomba
(University of Salerno, Italy; Wayne State University, USA; University of Molise, Italy)
EXSYST: Search-Based GUI Testing
Florian Gross, Gordon Fraser, and Andreas Zeller
(Saarland University, Germany)
JavaMOP: Efficient Parametric Runtime Monitoring Framework
Dongyun Jin, Patrick O’Neil Meredith, Choonghwan Lee, and Grigore Roşu
(University of Illinois at Urbana-Champaign, USA)

Posters and Informal Demonstrations

Posters
Thu, Jun 7, 15:00 - 16:00

Augmenting Test Suites Automatically
Konstantin Rubinov and Jochen Wuttke
(University of Lugano, Switzerland; University of Washington, USA)
Using the GPGPU for Scaling Up Mining Software Repositories
Rina Nagano, Hiroki Nakamura, Yasutaka Kamei, Bram Adams, Kenji Hisazumi, Naoyasu Ubayashi, and Akira Fukuda
(Kyushu University, Japan; École Polytechnique de Montréal, Canada)
FastFix: Monitoring Control for Remote Software Maintenance
Dennis Pagano, Miguel A. Juan, Alessandra Bagnato, Tobias Roehm, Bernd Brügge, and Walid Maalej
(TU Munich, Germany; S2 Grupo, Spain; TXT e-solutions, Italy)
Modeling Cloud Performance with Kriging
Alessio Gambi and Giovanni Toffetti
(University of Lugano, Switzerland)
SOA Adoption in the Italian Industry
Maurizio Leotta, Filippo Ricca, Marina Ribaudo, Gianna Reggio, Egidio Astesiano, and Tullio Vernazza
(Università di Genova, Italy)
A Bidirectional Model-Driven Spreadsheet Environment
Jácome Cunha, João Paulo Fernandes, Jorge Mendes, and João Saraiva
(University of Minho, Portugal)
A Self-Healing Technique for Java Applications
Antonio Carzaniga, Alessandra Gorla, Andrea Mattavelli, and Nicolò Perino
(University of Lugano, Switzerland)
When Open Source Turns Cold on Innovation - The Challenges of Navigating Licensing Complexities in New Research Domains
Christopher Forbes, Iman Keivanloo, and Juergen Rilling
(Concordia University, Canada)

Informal Demonstrations
Thu, Jun 7, 16:00 - 17:30

Language Modularity with the MPS Language Workbench
Markus Voelter and Vaclav Pech
(itemis, Germany; voelter ingenieurbuero fuer softwaretechnologie, Germany; JetBrains, USA)
Mining Application Repository to Recommend XML Configuration Snippets
Sheng Huang, Yi Qi Lu, Yanghua Xiao, and Wei Wang
(Fudan University, China)
Locating Features in Dynamically Configured Avionics Software
Maxime Ouellet, Ettore Merlo, Neset Sozen, and Martin Gagnon
(École Polytechnique de Montréal, Canada; CMC Electronics, Canada)
Detecting Metadata Bugs on the Fly
Myoungkyu Song and Eli Tilevich
(Virginia Tech, USA)
Blaze
Jan-Peter Krämer, Joachim Kurz, Thorsten Karrer, and Jan Borchers
(RWTH Aachen University, Germany)
ConTexter Feedback System
Tristan Wehrmaker, Stefan Gärtner, and Kurt Schneider
(Leibniz Universität Hannover, Germany)
xMapper: An Architecture-Implementation Mapping Tool
Yongjie Zheng and Richard N. Taylor
(UC Irvine, USA)
ConcernReCS: Finding Code Smells in Software Aspectization
Péricles Alves, Diogo Santana, and Eduardo Figueiredo
(UFMG, Brazil)
Egidio: A Non-Invasive Approach for Synthesizing Organizational Models
Saulius Astromskis, Andrea Janes, and Alireza Rezaei Mahdiraji
(Free University of Bolzano, Italy)
SDiC: Context-Based Retrieval in Eclipse
Bruno Antunes, Joel Cordeiro, and Paulo Gomes
(University of Coimbra, Portugal)
An Integrated Bug Processing Framework
Xiangyu Zhang, Mengxiang Lin, and Kai Yu
(Beihang University, China)
Repository for Model Driven Development (ReMoDD)
Robert B. France, James M. Bieman, Sai Pradeep Mandalaparty, Betty H. C. Cheng, and Adam C. Jensen
(Colorado State University, USA; Michigan State University, USA)

Doctoral Symposium

Posters 1-12
Mon, Jun 4, 10:00 - 10:30

Going Global with Agile Service Networks
Damian A. Tamburri
(VU University Amsterdam, Netherlands)
Using Structural and Semantic Information to Support Software Refactoring
Gabriele Bavota
(University of Salerno, Italy)
An Approach to Variability Management in Service-Oriented Product Lines
Sedigheh Khoshnevis
(Shahid Beheshti University G.C., Iran)
Using Machine Learning to Enhance Automated Requirements Model Transformation
Erol-Valeriu Chioaşcă
(University of Manchester, UK)
Security Testing of Web Applications: A Research Plan
Andrea Avancini
(Fondazione Bruno Kessler, Italy)
Application of Self-Adaptive Techniques to Federated Authorization Models
Christopher Bailey
(University of Kent, UK)
Improving Information Retrieval-Based Concept Location Using Contextual Relationships
Tezcan Dilshener
(Open University, UK)
Effective Specification of Decision Rights and Accountabilities for Better Performing Software Engineering Projects
Monde Kalumbilo
(University College London, UK)
Search Based Design of Software Product Lines Architectures
Thelma Elita Colanzi
(Federal University of Paraná, Brazil)
Software Fault Localization Based on Program Slicing Spectrum
Wanzhi Wen
(Southeast University, China; Chinese Academy of Sciences, China)
Architectural Task Allocation in Distributed Environment: A Traceability Perspective
Salma Imtiaz
(International Islamic University, Pakistan)
Using Invariant Relations in the Termination Analysis of While Loops
Wided Ghardallou
(University of Tunis El Manar, Tunisia)

Presentations 1-4
Mon, Jun 4, 11:00 - 12:45

Software Regression as Change of Input Partitioning
Marcel Böhme
(National University of Singapore, Singapore)
A Generic Methodology to Derive Domain-Specific Performance Feedback for Developers
Dennis Westermann
(SAP Research, Germany)
Towards the Verification of Multi-diagram UML Models
Alfredo Motta
(Politecnico di Milano, Italy)
Documenting and Sharing Knowledge about Code
Anja Guzzi
(TU Delft, Netherlands)

Presentations 5-6
Mon, Jun 4, 14:00 - 14:50

Timely and Efficient Facilitation of Coordination of Software Developers’ Activities
Kelly Blincoe
(Drexel University, USA)
Stack Layout Transformation: Towards Diversity for Securing Binary Programs
Benjamin Rodes
(University of Virginia, USA)

Posters 13-25
Mon, Jun 4, 14:50 - 15:30

Synthesis of Event-Based Controllers: A Software Engineering Challenge
Nicolás D'Ippolito
(Imperial College London, UK)
Empirically Researching Development of International Software
Malte Ressin
(University of West London, UK)
Model Translations among Big-Step Modeling Languages
Fathiyeh Faghih
(University of Waterloo, Canada)
HARPPIE: Hyper Algorithmic Recipe for Productive Parallelism Intensive Endeavors
Pedro Monteiro
(Universidade Nova de Lisboa, Portugal)
On the Analysis of Evolution of Software Artefacts and Programs
Fehmi Jaafar
(University of Montreal, Canada)
Societal Computing
Swapneel Sheth
(Columbia University, USA)
Finding Suitable Programs: Semantic Search with Incomplete and Lightweight Specifications
Kathryn T. Stolee
(University of Nebraska-Lincoln, USA)
Certification-Based Development of Critical Systems
Panayiotis Steele
(University of Virginia, USA)
Testing and Debugging UML Models Based on fUML
Tanja Mayerhofer
(Vienna University of Technology, Austria)
Bridging the Divide between Software Developers and Operators Using Logs
Weiyi Shang
(Queen's University, Canada)
The Co-evolution of Socio-technical Structures in Sustainable Software Development: Lessons from the Open Source Software Communities
Marcelo Serrano Zanetti
(ETH Zurich, Switzerland)
Log-Based Testing
Alexander Elyasov
(Utrecht University, Netherlands)
Moving Mobile Applications between Mobile Devices Seamlessly
Volker Schuchardt
(University of Duisburg-Essen, Germany)

ACM Student Research Competition
Thu, Jun 7, 16:00 - 17:30

Timely Detection of Coordination Requirements to Support Collaboration among Software Developers
Kelly Blincoe
(Drexel University, USA)
Improving Failure-Inducing Changes Identification Using Coverage Analysis
Kai Yu
(Beihang University, China)
A Study on Improving Static Analysis Tools: Why Are We Not Using Them?
Brittany Johnson
(North Carolina State University, USA)
Winbook: A Social Networking Based Framework for Collaborative Requirements Elicitation and WinWin Negotiations
Nupul Kukreja
(University of Southern California, USA)
Using Automatic Static Analysis to Identify Technical Debt
Antonio Vetrò
(Politecnico di Torino, Italy; Fraunhofer CESE, USA)
Coupled Evolution of Model-Driven Spreadsheets
Jorge Mendes
(University of Minho, Portugal)
Managing Evolution of Software Product Line
Cheng Thao
(University of Wisconsin-Milwaukee, USA)
Enabling Dynamic Metamodels through Constraint-Driven Modeling
Andreas Demuth
(JKU Linz, Austria)
Assisting End-User Development in Browser-Based Mashup Tools
Soudip Roy Chowdhury
(University of Trento, Italy)
Hot Clones: Combining Search-Driven Development, Clone Management, and Code Provenance
Niko Schwarz
(University of Bern, Switzerland)
Capturing and Exploiting Fine-Grained IDE Interactions
Zhongxian Gu
(UC Davis, USA)
Restructuring Unit Tests with TestSurgeon
Pablo Estefó
(University of Chile, Chile)
A Requirements-Based Approach for the Design of Adaptive Systems
Vítor E. Silva Souza
(University of Trento, Italy)
Petri Nets State Space Analysis in the Cloud
Matteo Camilli
(University of Milan, Italy)
Mining Java Class Identifier Naming Conventions
Simon Butler
(Open University, UK)
Online Sharing and Integration of Results from Mining Software Repositories
Iman Keivanloo
(Concordia University, Canada)

Invited Summaries

Refounding Software Engineering: The Semat Initiative (Invited Presentation)
Mira Kajko-Mattsson, Ivar Jacobson, Ian Spence, Paul McMahon, Brian Elvesæter, Arne J. Berre, Michael Striewe, Michael Goedicke, Shihong Huang, Bruce MacIsaac, and Ed Seymour
(KTH Royal Institute of Technology, Sweden; Ivar Jacobson Int., UK; PEM Systems, USA; SINTEF, Norway; University of Duisburg-Essen, Germany; Florida Atlantic University, USA; IBM, USA; Fujitsu, UK)
Summary of the ICSE 2012 Workshops
Alessandro Orso and Ralf Reussner
(Georgia Tech, USA; KIT, Germany; FZI, Germany)
Summary of the ICSE 2012 Tutorials and Technical Briefings
Andreas Leitner and Oscar Nierstrasz
(Google, Switzerland; University of Bern, Switzerland)

proc time: 0.28