ACM SIGSOFT encourages SIGSOFT-sponsored conferences to designate a number of accepted papers for ACM SIGSOFT Distinguished Paper Awards for the conference. In addition to presenting certificates to the authors of awarded papers, two awarded papers from each ICSE, FSE and ESEC will be invited for presentation at the following India Software Engineering Conference (ISEC), which is sponsored by SIGSE, the Special Interest Group on Software Engineering of the Computer Society of India (CSI).
In cases where the number of accepted papers is less than or equal to ten, one paper can be designated; in cases where the number of accepted papers is 11 through 20 inclusive, two papers can be designated; otherwise, 10% of the papers can be designated.
ACM SIGSOFT Distinguished Paper Awards are to be awarded only for full-length technical papers accepted by the program committee for the main track of a SIGSOFT-sponsored meeting. They are not intended for abstracts or short papers, for papers from satellite or co-located events such as workshops and doctoral symposia, or for demo papers, panel summaries, invited papers and other such supplementary contributions. The program committee will take a weighted vote, respecting the conflict of interest rules in place for the conference, to identify the top candidates among the papers. The program committee chair(s) will use the results of the weighted votes as a primary basis for selecting the award papers.
Conference organizers can also decide how they want to notify the recipients of the Distinguished Paper awards. One possibility is to postpone the announcement of the award until an awards ceremony at the conference. Another possibility is to place the Distinguished Papers in strategic locations in the program -- for example, the first (or last) paper(s) in the program.
Contact Ann Lane at ACM (firstname.lastname@example.org) and she will provide you with a template you may use to create certificates.
Christoffer Quist Adamsen, Gianluca Mezzetti and Anders Møller: Systematic Execution of Android Test Suites in Adverse Conditions
Milos Gligoric, Lamyaa Eloussi and Darko Marinov: Practical Regression Test Selection with Dynamic File Dependencies
Earl T. Barr, Mark Harman, Yue Jia, Alexandru Marginean and Justyna Petke: Automated Software Transplantation
Janet Siegmund, Norbert Siegmund, and Sven Apel: Views on Internal and External Validity in Empirical Software Engineering
Michael Waterman, James Noble, and George Allan: How Much Up-Front? A Grounded theory of Agile Architecture
Michele Tufano, Fabio Palomba, Gabriele Bavota, Rocco Oliveto, Massimiliano Di Penta, Andrea De Lucia, and Denys Poshyvanyk: When and Why Your Code Starts to Smell Bad
Aleksandar Milicevic, Joseph P. Near, Eunsuk Kang, and Daniel Jackson: Alloy: A General-Purpose Higher-Order Relational Constraint Solver
Mathieu Lavallee and Pierre N. Robillard: Why Good Developers Write Bad Code: An Observational Case Study of the Impacts of Organizational Factors on Software Quality
Adrian Nistor, Po-Chun Chang, Cosmin Radoi, and Shan Lu: CARAMEL: Detecting and Fixing Performance Problems That Have Non-Intrusive Fixes
Klaus-Benedikt Schultis, Christoph Elsner, and Daniel Lohmann, Architecture Challenges for Internal Software Ecosystems: A Large-Scale Industry Case Study
Annie T.T. Ying and Martin P. Robillard, Selection and Presentation Practices for Code Example Summarization
Miltiadis Allamanis, Earl T. Barr, Christian Bird, and Charles Sutton, Learning Natural Coding Conventions
Mingxing Zhang, Yongwei Wu, Shan Lu, Shanxiang Qi, Jinglei Ren, and Weimin Zheng, AI: A Lightweight System for Tolerating Concurrency Bugs
Akash Lal and Shaz Qadeer, Powering the Static Driver Verifier using Corral
René Just, Darioush Jalali, Laura Inozemtseva, Michael D. Ernst, Reid Holmes, and Gordon Fraser, Are Mutants a Valid Substitute for Real Faults in Software Testing?
Rongxin Wu, Hongyu Zhang, Shing-Chi Cheung, and Sunghun Kim, CrashLocator: Locating Crashing Faults Based on Crash Stacks
René Just, Michael D. Ernst, and Gordon Fraser, Efficient Mutation Analysis by Propagating and Partitioning Infected Execution States
Emerson Murphy-Hill, Thomas Zimmermann, and Nachiappan Nagappan, Cowboys, Ankle Sprains, and Keepers of Quality: How is Video Game Development Different from Software Development?
Yepang Liu, Chang Xu, and Shing-Chi Cheung, Characterizing and Detecting Performance Bugs for Smartphone Applications
Paige Rodeghero, Collin McMillan, Paul W. McBurney, Nigel Bosch, and Sidney D'Mello, Improving Automated Source Code Summarization via an Eye-Tracking Study of Programmers
Jonathan Bell and Gail Kaiser, Unit Test Virtualization with VMVM
Laura Inozemtseva and Reid Holmes, Coverage Is Not Strongly Correlated with Test Suite Effectiveness
Thanassis Avgerinos, Alexandre Rebert, Sang Kil Cha, and David Brumley, Enhancing Symbolic Execution with Veritesting
Nélio Cacho, Thiago César, Thomas Filipe, Eliezio Soares, Arthur Cassio, Rafael Souza, Israel Garcia, Eiji Adachi Barbosa, and Alessandro Garcia, Trading Robustness for Maintainability: An Empirical Study of Evolving C# Programs
Semih Okur, David L. Hartveld, Danny Dig, and Arie van Deursen, A Study and Toolkit for Asynchronous Programming in C#
Yonghwi Kwon, Xiangyu Zhang and Dongyan Xu, PIEtrace: Platform Independent Executable Trace
Peter Ohmann and Ben Liblit, Lightweight Control-Flow Instrumentation and Postmortem Analysis in Support of Debugging
Favio Palomba, Gabriele Bavota, Massimilano Di Penta, Rocco Oliveto, Andrea De Lucia and Denys Poshyvanyk, Detecting Bad Smells in Source Code Using Change History Information
No distinguished paper awards were given.
Hyunmin Seo and Sunghun Kim, Predicting Recurring Crash Stacks
Anh Tuan Nguyen, Tung Thanh Nguyen, Tien Nguyen, David Lo, and Chengnian Sun, Duplicate Bug Report Detection with a Combination of Information Retrieval and Topic Modeling
Anders Møller and Mathias Schwarz, Automated detection of client-state manipulation vulnerabilities
ThanhVu Nguyen, Deepak Kapur, Westley Weimer, and Stephanie Forrest, Using Dynamic Analysis to Discover Polynomial and Array Invariants
Will Dietz, Peng Li, John Regehr and Vikram Adve, Understanding integer overflow in C/C++
Tobias Roehm, Rebecca Tiarks, Rainer Koschke and Walid Maalej, How Do Professional Developers Comprehend Software?
Pingyu Zhang and Sebastian Elbaum, Amplifying Tests to Validate Exception Handling Code
Mehdi Mirakhorli, Yonghee Shin, Jane Cleland-Huang and Murat Cinar, A Tactic-Centric Approach for Automating Traceability of Quality Concerns
Michalis Famelis, Rick Salay and Marsha Chechik, Partial Models: Towards Modeling and Reasoning with Uncertainty
Zuoning Yin, Ding Yuan, Yuanyuan Zhou, Shankar Pasupathy and Lakshmi Bairavasundaram, How Do Fixes Become Bugs? -- A Comprehensive Characteristic Study on Incorrect Fixes in Commercial and Open Source Operating Systems
Swarat Chaudhuri, Sumit Gulwani, Roberto Lublinerman and Sara Navidpour, Proving Programs Robust
Yuriy Brun, Reid Holmes, Michael Ernst and David Notkin, Proactive Detection of Collaboration Conflicts
Nathan Rosenblum, Barton Miller, and Xiaojin Zhu, Recovering the Toolchain Provenance of Binary Code
Patrice Godefroid and Daniel Luchaup, Automatic Partial Loop Summarization in Dynamic Test Generation
Takaaki Tateishi, Marco Pistoia, and Omer Tripp, Path- and Index-sensitive String Analysis based on Monadic Second-order Logic
Antonio Filieri, Carlo Ghezzi, and Giordano Tamburrelli, Run-Time Efficient Probabilistic Model Checking
Lucas Cordeiro and Bernd Fischer, Verifying Multi-threaded Software using SMT-based Context-Bounded Model Checking
Narayan Ramasubbu, Marcelo Cataldo, Rajesh Krishna Balan, and James D. Herbsleb, Configuring Global Software Teams: A Multi-Company Analysis of Project Productivity, Quality, and Profits
Horatiu Dumitru, Marek Gibiec, Negar Hariri, Jane Cleland-Huang, Bamshad Mobasher, Carlos Castro-Herrera, and Mehdi Mirakhorli, On-demand Feature Recommendations Derived from Mining Public Product Descriptions
Matt Staats, Michael W. Whalen, and Mats P.E. Heimdahl, Programs, Tests, and Oracles: The Foundations of Testing Revisited
Nishant Sinha and Chao Wang, Staged Concurrent Program Analysis
Minghui Zhou and Audris Mockus, Developer Fluency: Achieving True Mastery in Software Projects
Barthélémy Dagenais and Martin P. Robillard: Creating and Evolving Developer Documentation: Understanding the Decisions of Open Source Contributors
Emerson Murphy-Hill and Andrew P. Black, An Interactive Ambient Visualization for Code Smells
Mathias Frisch and Raimund Dachselt, Off-Screen Visualization Techniques for Class Diagrams
Marek Gibiec, Adam Czauderna and Jane Cleland-Huang, Towards Mining Replacement Queries for Hard-to-Retrieve Traces
Adam Duley, Chris Spandikow and Miryung Kim, A Program Differencing Algorithm for Verilog HDL
Giriprasad Sridhara, Emily Hill, Divya Muppaneni, Lori Pollock and K. Vijay-Shanker, Towards Automatically Generating Summary Comments for Java Methods
Taeho Kwon and Zhendong Su, Automatic Detection of Unsafe Component Loadings
Andrea Arcuri, Zohaib Iqbal and Lionel Briand, Formal Analysis of the Effectiveness and Predictability of Random Testing
Zibin Zheng, Michael R. Lyu, Collaborative Reliability Prediction of Service-Oriented Systems
Thomas Fritz, Jingwen Ou, Gail C. Murphy, Emerson Murphy-Hill, A Degree-of-Knowledge Model to Capture Source Code Familiarity
Jane Cleland-Huang, Adam Czauderna, John Emenecker, Marek Gibiec, A Machine Learning Approach for Tracing Regulatory Codes to Product Specific Requirements
Qiusong Yang, Mingshu Li, A Cut-off Approach for Bounded Verification of Parameterized Systems
Milos Gligoric, Tihomir Gvero, Vilas Jagannath, Sarfraz Khurshid, Viktor Kuncak, Darko Marinov, Test Generation through Programming in UDITA
Jyotirmoy Deshmukh, E. Allen Emerson, Sriram Sankaranarayanan, Symbolic Deadlock Analysis in Concurrent Libraries and their Clients
Hao Zhong, Lu Zhang, Tao Xie, Hong Mei, Inferring Resource Specifications from Natural Language API Documentation
Natalia Juristo and Sira Vegas, Using Differences among Replications of Software Engineering Experiments to Gain Knowledge
Jacob Burnim and Koushik Sen, Asserting and Checking Determinism for Multithreaded Programs
Dawei Qi, Abhik Roychoudhury, Zhenkai Liang, and Kapil Vaswani, DARWIN: An Approach for Debugging Evolving Programs
Tung Nguyen, Hoan Nguyen, Nam Pham, Jafar Al-Kofahi, and Tien Nguyen, Graph-based Mining of Multiple Object Usage Patterns
William G.J. Halfond, Saswat Anand and Alessandro Orso, Precise Interface Identification to Improve Testing and Analysis of Web Applications
Adam Kiezun, Vijay Ganesh, Philip Guo, Pieter Hooimeijer and Michael Ernst, HAMPI: A Solver for String Constraints
Mayur Naik, Chang-Seo Park, Koushik Sen, David Gay, Effective Static Deadlock Detection
Christian Bird, Nachiappan Nagappan, Premkumar Devanbu, Harald Gall, Brendan Murphy, Does Distributed Development Affect Software Quality? An Empirical Case Study of Windows Vista
Emerson Murphy-Hill, Chris Parnin, Andrew Black, How We Refactor, and How We Know It
Westley Weimer, ThanhVu Nguyen, Claire Le Goues, Stephanie Forrest, Automatically Finding Patches Using Genetic Programming
Ali Mesbah, Arie van Deursen, Invariant-Based Automatic Testing of AJAX User Interfaces
Franco Raimondi, James Skene and Wolfgang Emmerich, Efficient online monitoring of web-service SLAs
Nicolas Bettenburg, Sascha Just, Adrian Schroter, Cathrin Weiss, Rahul Premraj, Thomas Zimmermann, What makes a good bug report?
Marcelo Cataldo, James D. Herbsleb and Kathleen M. Carley, Socio-Technical Congruence: A Framework for Assessing the Impact of Technical and Work Dependencies on Software Development Productivity
Ariadi Nugroho, Bas Flaton and Michel R.V. Chaudron, Empirical Analysis of the Relation between Level of Detail in UML Models and Defect Density
Adam Prout, Joanne M. Atlee, Nancy A. Day, Pourya Shaker, Semantically Configurable Code Generation
Raul Santelices, Pavan Kumar Chittimalli, Taweesup Apiwattanapong, Alessandro Orso and Mary Jean Harrold, Test-suite Augmentation for Evolving Software
Jesper Andersen and Julia L. Lawall, Generic Patch Inference
Patrick O'Neil Meredith, Dongyun Jin, Feng Chen and Grigore Rosu, Efficient Monitoring of Parametric Context-Free Patterns
Raymond P.L. Buse and Westley R. Weimer, A Metric for Software Readability
Eric Bodden and Klaus Havelund, Racer: Effective Race Detection Using AspectJ
Barthélémy Dagenais, Martin P. Robillard, Recommending Adaptive Changes for Framework Evolution
Guoqing Xu, Atanas Rountev, Precise Memory Leak Detection for Java Software Using Container Profiling
Andrew Ko, Brad Myers, Debugging Reinvented: Asking and Answering Why and Why Not Questions about Program Behavior
Ajitha Rajan, Michael Whalen, Mats Heimdahl, The Effect of Program and Model Structure on MC/DC Test Adequacy Coverage
Joseph Ruthruff, John Penix, David Morgenthaler, Sebastian Elbaum, Gregg Rothermel, Predicting Accurate and Actionable Static Analysis Warnings: An Experimental Approach
Yannis Smaragdakis, Christoph Csallner, Scalable Automatic Test Data Generation from Modeling Diagrams
Yiqiao Wang, Sheila A. McIlraith, Yijun Yu, John Mylopoulos, An Automated Approach for Monitoring and Diagnosing Requirements
Michal Antkiewicz, Thiago Bartolomei, Krzysztof Czarnecki, Automatic Extraction of Framework-Specific Models from Framework-Based Application Code
Narayan Ramasubbu, Rajesh Krishna Balan, Globally Distributed Software Development Project Performance: An Empirical Analysis
Mihai Christodorescu, Somesh Jha, Christopher Kruegel, Mining Specifications of Malicious Behavior
Jamie Payton, Christine Julien, Gruia-Catalin Roman, Automatic Consistency Assessment for Query Results in Dynamic Environments
Yoav Zibin, Alex Potanin, Mahmood Ali, Shay Artzi, Adam Kiezun, Michael D. Ernst, Object and Reference Immutability using Java Generics
Ray-Yaung Chang, Andy Podgurski, Jiong Yang, Finding What's Not There: A New Approach to Revealing Neglected Conditions in Software
Sharon Shoham, Eran Yahav, Stephen Fink, Marco Pistoia, Static Specification Mining Using Automata-Based Abstractions
Ekwa Duala-Ekoko, Martin P. Robillard, Tracking Code Clones in Evolving Software
Sunghun Kim, Thomas Zimmermann, E. James Whitehead, Jr., Andreas Zeller, Predicting Faults from Cached History
Shiva Nejati, Mehrdad Sabetzadeh, Marsha Chechik, Steve Easterbrook, Pamela Zave, Matching and Merging of Statecharts Specifications
Adam Kiezun, Michael D. Ernst, Frank Tip, Robert M. Fuhrer, Refactoring for Parameterizing Java Classes
Matthew B. Dwyer, Suzette Person, Sebastian Elbaum, Controlling Factors in Evaluating Path-Sensitive Error Detection Techniques
Bhargav S. Gulavani, Thomas A. Henzinger, Yamini Kannan, Aditya V. Nori, Sriram K. Rajamani, SYNERGY: A New Algorithm for Property Checking
Barbara Kitchenham, Hiyam Al-Khilidar, Muhammad Ali Babar, Mike Berry, Karl Cox, Jacky Keung, Felicia Kurniawati, Mark Staples, He Zhang, and Liming Zhu, Evaluating guidelines for empirical software engineering studies
Chris Lokan, Emilia Mendes, Cross-company and Single-company Effort Models using the ISBSG Database: a Further Replicated Study
Leonardo Murta, Andre Van Der Hoek, Claudia Werner, ArchTrace: Policy-Based Support for Managing Evolving Architecture-to-Implementation Traceability Links
Stephen Fink, Eran Yahav, Ganesan Ramalingam, Nurit Dor, Emmanuel Geay, Effective Typestate Verification in the Presence of Aliasing
Christoph Csallner, Yannis Smaragdakis, DSD-Crasher: A Hybrid Analysis Tool for Bug Finding
Aysu BetinCan, Tevfik Bultan, Mikael Lindvall, Benjamin Lux, Stefan Topp, Application of Design for Verification with Concurrency Controllers to Air Traffic Control Software (Also winner of ASE 2005 best paper award)
Guillaume Langelier, Houari Sahraoui, Pierre Poulin, Visualization-based Analysis of Quality for Large-scale Software Systems
Martin P. Robillard, Automatic Generation of Suggestions for Program Investigation
Yichen Xie, Alex Aiken, Context- and Path-sensitive Memory Leak Detection
Koushik Sen, Darko Marinov, Gul Agha, CUTE: A Concolic Unit Testing Engine for C
Brian Demsky, Martin Rinard, Data Structure Repair Using Goal-Directed Reasoning
Reid Holmes, Gail Murphy, Using Structural Context to Recommend Source Code Examples
James Andrews, Lionel Briand, Yvan Labiche, Is Mutation an Appropriate Tool for Testing Experiments?
Andrew Ko, Htet Htet Aung, Brad Myers, Eliciting Design Requirements for Maintenance-Oriented IDEs: A Detailed Study of Corrective and Perfective Maintenance Tasks
Martin Rinard, Alexandru Salcianu, Suhabe Bugrara, A Classification System and Analysis for Aspect-Oriented Programs
Emmanuel Letier, Axel van Lamsweerde, Reasoning about Partial Goal Satisfaction for Requirements and Design Engineering
Wei Zhao, Lu Zhang, Yin Liu, Jiasu Sun, Fuqing Yang, "SNIAFL: Towards a Static Non-Interactive Approach to Feature Location"
Parastoo Mohagheghi, Reidar Conradi, Ole M. Killi, Henrik Schwarz, "An Empirical Study of Software Reuse vs. Defect-Density and Stability"
Carl Gould, Zhendong Su, Premkumar Devanbu, "Static Checking of Dynamically Generated Queries in Database Applications"
Johannes Henkel, Amer Diwan, "A Tool for Writing and Debugging Algebraic Specifications"
Rohit Khare, Richard N. Taylor, "Extending the REpresentational State Transfer (REST) Architectural Style for Decentralized Systems"
Stephen McCamant, Michael Ernst, "Predicting problems caused by component upgrades"
Gregory Kapfhammer, Mary Soffa, "A Family of Test Adequacy Criteria for Database-Driven Applications"
Stan Jarzabek, Shubiao Li, "Eliminating Redundancies with a Composition with Adaptation Meta-programming Technique"
X. Zhang, R. Gupta, Y. Zhang, "Precise Dynamic Slicing"
S. Chaki, E. Clarke, A. Groce, S. Jha, H. Veith, "Modular Verification of Software Components in C"
Dimitra Giannakopoulou, Corina Pasareanu, Howard Barringer, "Assumption Generation for Software Component Generation"
Andreas Zeller, "Isolating Cause-effect Chains from Computer Programs"
John Whaley, Michael C. Martin, Monica S. Lam, "Automatic Extraction of Object-Oriented Component Interfaces"
Chandrasekhar Boyapati, Sarfraz Khurshid, Darko Marinov, "Korat: Automated Testing Based on Java Predicates"