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, ESEC/FSE may be invited for presentation at the following Innovations in 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.
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.
The conference organizers prepare the certificates. Contact J.C. Peeples (peeples at hq.acm.org) to get a template you may use to create certificates. Please inform chair_sigsoft (at) acm (dot) org of the award winners, so that they can be added to this page.
If the TMRF indicated that a best paper award would be given, the organizers will receive an email from bestpapers@acm.org after the conference, asking for further details. Please respond to this email as well, so that the award winners will be listed in the ACM digital library.
Clay Stevens, Hamid Bagheri: Combining Solution Reuse and Bound Tightening for Efficient Analysis of Evolving Systems
Zhiming Li, Xiaofei Xie, Haoliang Li, Zhengzi Xu, Yi Li, Yang Liu: Cross-Lingual Transfer Learning for Statistical Type Inference
Ye Liu, Yi Li, Shang-Wei Lin, Cyrille Artho: Finding Permission Bugs in Smart Contracts with Role Mining
Hao Zhou, Shuohan Wu, Xiapu Luo, Ting Wang, Yajin Zhou, Chao Zhang, Haipeng Cai: NCScope: Hardware-Assisted Analyzer for Native Code in Android Apps
Ingkarat Rak-amnouykit, Ana Milanova, Guillaume Baudart, Martin Hirzel, Julian Dolby: The Raise of Machine Learning Hyperparameter Constraints in Python Code
José Antonio Hernández López and Jesús Sánchez Cuadrado: Towards the Characterization of Realistic Model Generators using Graph Neural Networks
Majid Babaei and Juergen Dingel: Efficient Replay-based Regression Testing for Distributed Reactive Systems in the Context of Model-driven Development
Runxiang Cheng, Lingming Zhang, Darko Marinov, Tianyin Xu: Test-Case Prioritization for Configuration Testing
Yingjun Lyu, Sasha Volokh, William G.J. Halfond, Omer Tripp: SAND: A Static Analysis Approach for Detecting SQL Antipatterns
Ziqi Shuai, Zhenbang Chen, Yufeng Zhang, Jun Sun, Ji Wang: Type and Interval aware Array Constraint Solving for Symbolic Execution
Han Gao, Shaoyin Cheng, Yinxing Xue, Weiming Zhang: A Lightweight Framework for Function Name Reassignment Based on Large-Scale Stripped Binaries
Zhongxin Liu, Xin Xia, Meng Yan, Shanping Li: Automating Just-In-Time Comment Updating
Sungho Lee, Hyogun Lee, Sukyoung Ryu: Broadening Horizons of Multilingual Static Analysis: Semantic Summary Extraction from C Code for JNI Program Analysis
Michael C. Gerten, James I. Lathrop, Myra Cohen, Titus H. Klinge: ChemTest: An Automated Software Testing Framework for an Emerging Paradigm
Viet Hung Pham, Shangshu Qian, Jiannan Wang, Thibaud Lutellier, Jonathan Rosenthal, Lin Tan, Yaoliang Yu, Nachiappan Nagappan: Problems and Opportunities in Training Deep Learning Software Systems: An Analysis of Variance
Christos Tsigkanos, Nianyu Li, Zhi Jin, Zhenjiang Hu, Carlo Ghezzi: Scalable Multiple-View Analysis of Reactive Systems via Bidirectional Model Transformations
Yu Feng, Emina Torlak, Rastislav Bodik: Summary-Based Symbolic Evaluation for Smart Contracts
Likang Yin, Vladimir Filkov: Team Discussions and Dynamics During DevOps Tool Adoptions in OSS Projects
Nuri Almarimi, Ali Ouni, Moataz Chouchen, Islem Saidani, Mohamed W. Mkaouer: On the Detection of Community Smells using Genetic Programming-based Ensemble Classifier Chain
Souti Chattopadhyay, Nicholas Nelson, Audrey Au, Natalia Morales, Christopher Sanchez, Rahul Pandita, Anita Sarma: A Tale from the Trenches: Cognitive Biases and Software Development
Ru Zhang, Wencong Xiao, Hongyu Zhang, Yu Liu, Haoxiang Lin, Mao Yang: An Empirical Study on Program Failures of Deep Learning Jobs
Rafael-Michael Karampatsis, Hlib Babii, Romain Robbes, Charles Sutton, Andrea Janes: Big Code != Big Vocabulary: Open-Vocabulary Models for Source Code
Junjie Wang, Ye Yang, Song Wang, Yuanzhe Hu, Dandan Wang, Qing Wang: Context-aware In-process Crowdworker Recommendation
Nischal Shrestha, Colton Botta, Titus Barik, Chris Parnin: Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language?
Zhen Dong, Marcel Böhme, Lucia Cojocaru, Abhik Roychoudhury: Time-travel Testing of Android Apps
Zishuo Ding, Jinfu Chen, Weiyi Shang: Towards the Use of the Readily Available Tests from the Release Pipeline as Performance Tests. Are We There Yet?
Carlos Bernal-Cárdenas, Nathan Cooper, Kevin Moran, Oscar Chaparro, Andrian Marcus, Denys Poshyvanyk: Translating Video Recordings of Mobile App Usages into Replayable Scenarios
Jieshan Chen, Chunyang Chen, Zhenchang Xing, Xiwei Xu, Liming Zhu, Guoqiang Li, Jinshui Wang: Unblind Your Apps: Predicting Natural-Language Labels for Mobile GUI Components by Deep Learning
Peixin Zhang, Jingyi Wang, Jun Sun, Guoliang Dong, Xinyu Wang, Xingen Wang, Jin Song Dong, Ting Dai: White-box Fairness Testing through Adversarial Sampling
Fengcai Wen, Csaba Nagy, Michele Lanza, and Gabriele Bavota: An Empirical Study of Quick Remedy Commits
Fang Liu, Ge Li, Bolin Wei, Xin Xia, Zhiyi Fu, and Zhi Jin: A Self-Attentional Neural Architecture for Code Completion with Multi-Task Learning
Seokhyun Lee, Sooyoung Cha, Dain Lee and Hakjoo Oh: Effective White-box Testing of Deep Neural Networks with Adaptive Neuron-Selection Strategy
Mohannad Alhanahnah, Clay Stevens and Hamid Bagheri: Scalable Analysis of Interaction Threats in IoT Systems
Rahul Gopinath, Alexander Kampmann, Nikolas Havrikov, Ezekiel Soremekun and Andreas Zeller: Abstracting Failure-Inducing Inputs
Minxue Pan, An Huang, Guoxin Wang, Tian Zhang and Xuandong Li: Reinforcement Learning Based Curiosity-driven Testing of Android Applications
Wael Kessentini and Vahid Alizadeh: Interactive Metamodel/Model Co-evolution using Unsupervised Learning and Multi-objective Search
Jan Oliver Ringert and Syed Waqee Wali: Semantic Comparisons of Alloy Models
Zhongxin Liu, Xin Xia, Christoph Treude, David Lo, Shanping Li: Automatic Generation of Pull Request Descriptions
Christoph Gladisch, Thomas Heinz, Christian Heinzemann, Jens Oehlerking, Anne von Vietinghoff, Tim Pfitzer: Experience Paper: Search-based Testing in Automated Driving Control Applications
Junjie Chen, Guancheng Wang, Dan Hao, Yingfei Xiong, Hongyu Zhang, Lu Zhang: History-Guided Configuration Diversification for Compiler Test-Program Generation
Dongjie He, Haofeng Li, Lei Wang, Haining Meng, Hengjie Zheng, Jie Liu, Shuangwei Hu, Lian Li, Jingling Xue: Performance-Boosting Sparsification of the IFDS Algorithm with Applications to Taint Analysis
Louis G. Michael IV, James Donohue, James C. Davis, Dongyoon Lee, Francisco Servant: Regexes are Hard: Decision-making, Difficulties, and Risks in Programming Regular Expressions
Yan Zheng, Xiaofei Xie, Ting Su, Lei Ma, Jianye Hao, Zhaopeng Meng, Yang Liu, Ruimin Shen, Yinfeng Chen, Changjie Fan: Wuji: Automatic Online Combat Game Testing Using Evolutionary Deep Reinforcement Learning
Thomas Durieux, Fernanda Madeiral, Matias Martinez, and Rui Abreu: Empirical Review of Java Program Repair Tools: A Large-Scale Experiment on 2 141 Bugs and 23 551 Repair Attempts
Claudio Menghi, Shiva Nejati, Khouloud Gaaloul, and Lionel Briand: Generating Automated and Online Test Oracles for Simulink Models with Continuous and Uncertain Behaviors
Matthieu Jimenez, Renaud Rwemalika, Mike Papadakis, Federica Sarro, Yves Le Traon, and Mark Harman: The Importance of Accounting for Real-World Labelling When Predicting Software Vulnerabilities
Oscar Chaparro, Carlos Bernal-Cárdenas, Jing Lu, Kevin Moran, Andrian Marcus, Massimiliano Di Penta, Denys Poshyvanyk, and Vincent Ng: Assessing the Quality of the Steps to Reproduce in Bug Reports
Pengyu Nie, Rishabh Rai, Junyi Jessy Li, Sarfraz Khurshid, Raymond J. Mooney, and Milos Gligoric: A Framework for Writing Trigger-Action Todo Comments in Executable Format
Sen He, Glenna Manns, John Saunders, Wei Wang, Lori Pollock, and Mary Lou Soffa: A Statistics-based Performance Testing Methodology for Cloud Applications
Xia Li, Wei Li, Yuqun Zhang, and Lingming Zhang: DeepFL: Integrating Multiple Fault Diagnosis Dimensions for Deep Fault Localization
Yiling Lou, Junjie Chen, Lingming Zhang, Dan Hao, and Lu Zhang: History-driven Build Failure Fixing: How Far Are We?
Zhe Chen, Junqi Yan, Shuanglong Kan, Ju Qian, and Jingling Xue: Detecting Memory Errors at Runtime with Source-Level Instrumentation
Nandor Licker and Andrew Rice: Detecting Incorrect Build Rules
Yu Huang, Xinyu Liu, Ryan Krueger, Tyler Santander, Xiaosu Hu, Kevin Leach and Westley Weimer: Distilling Neural Representations of Data Structure Manipulation using fMRI and fNIRS
Emerson Murphy-Hill, Edward Smith, Caitlin Sadowski, Ciera Jaspan, Collin Winter, Matthew Jorde, Andrea Knight, Andrew Trenk and Steve Gross: Do Developers Discover New Tools On The Toilet?
Huilian Sophie Qiu, Alexander Nolte, Anita Brown, Alexander Serebrenik and Bogdan Vasilescu: Going Farther Together: The Impact of Social Capital on Sustained Participation in Open Source
Junjie Wang, Ye Yang, Rahul Krishna, Tim Menzies and Qing Wang: iSENSE: Completion-Aware Crowdtesting Management
Pengfei Su, Shasha Wen, Hailong Yang, Milind Chabbi and Xu Liu: Redundant Loads: A Software Inefficiency Indicator
Kihong Heo, Hakjoo Oh and Hongseok Yang: Resource-aware Program Analysis via Online Abstraction Coarsening
Emilio Cruciani, Breno Miranda, Roberto Verdecchia and Antonia Bertolino: Scalable Approaches for Test Suite Reduction
Gang Fan, Rongxin Wu, Qingkai Shi, Xiao Xiao, Jinguo Zhou and Charles Zhang: SMOKE: Scalable Path-Sensitive Memory Leak Detection for Millions of Lines of Code
Akond Rahman, Chris Parnin and Laurie Williams: The Seven Sins: Security Smells in Infrastructure as Code Scripts
Junwen Yang, Cong Yan, Chengcheng Wan, Shan Lu and Alvin Cheung: View-Centric Performance Optimization for Database-Backed Web Applications
Ricardo Britto, Darja Smite, Lars-Ola Damm, and Jürgen Börstler: Performance Evolution of Newcomers in Large-Scale Distributed Software Projects: An Industrial Case Study
Paolo Tell, Jil Klünder, Steffen Küpper, David Raffo, Stephen G. MacDonell, Jürgen Münch, Dietmar Pfahl, Oliver Linssen, Marco Kuhrmann: What are Hybrid Development Methods Made Of? An Evidence-based Characterization
James Davis, Christy Coghlan, Francisco Servant and Dongyoon Lee: The Impact of Regular Expression Denial of Service (ReDoS) in Practice: an Empirical Study at the Ecosystem Scale
Shengjian Guo, Meng Wu and Chao Wang: Adversarial Symbolic Execution for Detecting Concurrency-related Cache Timing Leaks
Dileep Kini, Umang Mathur and Mahesh Viswanathan: Data Race Detection on Compressed Traces
Felix Pauck, Eric Bodden and Heike Wehrheim: Do Android Taint Analysis Tools Keep their Promises?
Yu Gao, Wensheng Dou, Feng Qin, Chushu Gao, Dong Wang, Jun Wei, Ruirui Huang, Li Zhou and Yongming Wu: An Empirical Study on Crash Recovery Bugs in Large-Scale Distributed Systems
Vaibhav Saini, Farima Farmahini Farahani, Yadong Lu, Pierre Baldi and Cristina Lopes: Oreo: Detection of Clones in the Twilight Zone
Lei Ma, Felix Juefei-Xu, Fuyuan Zhang, Jiyuan Sun, Minhui Xue, Bo Li, Chunyang Chen, Ting Su, Li Li, Yang Liu, Jianjun Zhao, Yadong Wang: DeepGauge: Multi-Granularity Testing Criteria for Deep Learning Systems
Mikaela Cashman, Myra B. Cohen, Priya Ranjan, Robert W. Cottingham: Navigating the Maze: The Impact of Configurability in Bioinformatics Software
Yuju Shen, Yanyan Jiang, Chang Xu, Ping Yu, Xiaoxing Ma, Jian Lu: ReScue: Crafting Regular Expression DoS Attacks
Zhongxin Liu, Xin Xia, Ahmed E. Hassan, David Lo, Zhenchang Xing, Xinyu Wang: Neural-Machine-Translation-Based Commit Message Generation: How Far Are We?
Jianhui Chen, Fei He: Control Flow-Guided SMT Solving for Program Verification.
Kaifeng Huang, Bihuan Chen, Xin Peng, Daihong Zhou, Ying Wang, Yang Liu, Wenyun Zhao: CLDIFF: Generating Concise Linked Code Differences
Chris Cummins, Pavlos Petoumenos, Alastair Murray, Hugh Leather: Compiler Fuzzing through Deep Learning
Lina Qiu, Yingying Wang, Julia Rubin: Analyzing the Analyzers: FlowDroid/IccTA, AmanDroid, and DroidSafe
Caroline Lemieux, Rohan Padhye, Koushik Sen, Dawn Song: PerfFuzz: Automatically Generating Pathological Inputs
Hua Yan, Yulei Sui, Shiping Chen, and Jingling Xue: Spatio-Temporal Context Reduction: A Pointer-Analysis- Based Static Approach for Detecting Use-After- Free Vulnerabilities
Leonardo De Silva Sousa, Anderson Oliviera, Willian Oizumi, Simone Barbosa, Alessandro Garcia, Jaejoon Lee, Marcos Kalinowski, Rafael de Mello, Roberto Oliveira, Neto Baldoino and Rodrigo Paes: Identifying Design Problems in the Source Code: A Grounded Theory
Rijnard van Tonder and Claire Le Goues: Static Automated Program Repair for Heap Properties
Zhilei Ren and He Jiang, Jifeng Xuan, and Zijiang Yang: Automated Localization for Unreproducible Builds
Lingling Fan, Ting Su, Sen Chen, Guozhu Meng, Yang Liu, Lihua Xu, Geguang Pu and Zhendong Su: Large-Scale Analysis of Framework-Specific Exceptions in Android Apps
Calvin Loncaric, Michael D. Ernst and Emina Torlak: Generalized Data Structure Synthesis
Michael Rath, Jacob Rendall, Jin Guo, Jane Cleland-Huang, and Patrick Mäder: Traceability in the Wild: Automatically Augmenting Incomplete Trace links
Xinyu Wang, Jun Sun, Zhenbang Chen, Peixin Zhang, Jingyi Wang, and Yun Lin: Towards Optimal Concolic Testing
Shang-Wei Lin, Jun Sun, Hao Xiao, Yang Liu, David Sanán, and Henri Hansen: FiB: Squeezing Loop Invariants by Interpolation between Forward/Backward Predicate Transformers
Inderjot Kaur Ratol and Martin P. Robillard: Detecting Fragile Comments
Simone Scalabrino, Gabriele Bavota, Christopher Vendome, Mario Linares-Vásquez, Denys Poshyvanyk, and Rocco Oliveto: Automatically Assessing Code Understandability: How Far Are We?
Tim Nelson, Natasha Danas, Daniel J. Dougherty, and Shriram Krishnamurthi: The Power of "Why" and "Why Not": Enriching Scenario Exploration with Provenance
Dan Gopstein, Jake Iannacone, Yu Yan, Lois DeLong, Yanyan Zhuang, Martin K.-C. Yeh, and Justin Cappos: Understanding Misunderstandings in Source Code
Michael Hilton, Nicholas Nelson, Timothy Tunnell, Darko Marinov, and Danny Dig: Trade-Offs in Continuous Integration: Assurance, Security, and Flexibility
Tyler Sorensen, Hugues Evrard, and Alastair F. Donaldson: Cooperative Kernels: GPU Multitasking for Blocking Algorithms
Sainyam Galhotra, Yuriy Brun, and Alexandra Meliou: Fairness Testing: Testing Software for Discrimination
Calvin Smith, Gabriel Ferns, and Aws Albarghouthi: Discovering Relational Specifications
Yuchi Tian and Baishakhi Ray: Automatically Diagnosing and Repairing Error Handling Bugs in C
Lisa Nguyen Quang Do, Karim Ali, Benjamin Livshits, Eric Bodden, Justin Smith and Emerson Murphy-Hill: Just-in-Time Static Analysis.
Bo Wang, Yingfei Xiong, Yangqingwei Shi, Lu Zhang and Dan Hao: Faster Mutation Analysis via Equivalence Modulo States.
Sonal Mahajan, Abdulmajeed Alameer, Phil McMinn and William G.J. Halfond: Automated Repair of Layout Cross Browser Issues Using Search-Based Techniques.
Nikolaos Tsantalis, Davood Mazinanian and Shahriar Rostami Dovom: Clone Refactoring with Lambda Expressions
Rashina Hoda and James Noble: Becoming Agile: A Grounded Theory of Agile Transitions in Practice
José Miguel Rojas, Thomas White, Benjamin Clegg and Gordon Fraser: Code Defenders: Crowdsourcing Effective Tests and Subtle Mutants with a Mutation Testing Game
Benjamin Floyd, Tyler Santander and Westley Weimer: Decoding the representation of code in the brain: An fMRI study of code review and expertise
Davy Landman, Alexander Serebrenik and Jurgen Vinju: Challenges for Static Analysis of Java Reflection - Literature Review and Empirical Study
August Shi, Suresh Thummalapenta, Shuvendu Lahiri, Nikolaj Bjorner and Jacek Czerwonka: Optimizing Test Placement for Module-Level Regression Testing
Anh Nguyen, Michael Hilton, Mihai Codoban, Hoan Nguyen, Lily Mast, Eli Rademacher, Tien Nguyen and Danny Dig: API Code Recommendation Using Statistical Learning from Fine-grained Changes
Jianjun Huang, Xiangyu Zhang and Lin Tan: Detecting Sensitive Data Disclosure via Bi-directional Text Correlation Analysis
Tobias Baum, Olga Liskin, Kai Niklas and Kurt Schneider: Factors Influencing Code Review Processes in Industry
David Piorkowski, Austin Henley, Tahmid Nabi, Scott Fleming, Christopher Scaffidi and Margaret Burnett: Foraging and Navigations, Fundamentally: Developers' Predictions of Value and Cost
Eunsuk Kang, Aleksandar Milicevic and Daniel Jackson: Multi-Representational Security Analysis
Xiaofei Xie, Bihuan Chen, Yang Liu, Wei Le and Xiaohong Li: Proteus: Computing Disjunctive Loop Summary via Path Dependency Analysis
Danilo Silva, Nikolaos Tsantalis and Marco Tulio Valente: Why We Refactor? Confessions of GitHub Contributors
Lili Wei, Yepang Liu and Shing-Chi Cheung: Taming Android Fragmentation: Characterizing and Detecting Compatibility Issues for Android Apps
Alisa J. Maas, Henrique Nazaré and Ben Liblit: Array Length Inference for C Library Bindings
Owolabi Legunsen, Wajih Ul Hassan, Xinyue Xu, Grigore Rosu and Darko Marinov: How Good Are the Specs? A Study of the Bug-Finding Effectiveness of Existing Java API Specifications
Mariano Ceccato, Cu D. Nguyen, Dennis Appelt and Lionel Briand: SOFIA: An Automated Security Oracle for Black-Box Testing of SQL-Injection Vulnerabilities
Zvonimir Pavlinovic, Akash Lal and Rahul Sharma: Inferring Annotations for Device Drivers from Verification Histories
Christoffer Quist Adamsen, Gianluca Mezzetti and Anders Møller: Analyzing Test Completeness for Dynamic Languages
Rashmi Mudduluru and Murali Krishna Ramanathan: Efficient Flow Profiling for Detecting Performance Bugs
Marcello M. Bersani, Domenico Bianculli, Carlo Ghezzi, Srdan Krstic, and Pierluigi San Pietro: Efficient Large-Scale Trace Checking Using MapReduce
Samir Hasan, Zachary King, Munawar Hafiz, Mohammed Sayagh, Bram Adams, and Abram Hindle: Energy Profiles of Java Collections Classes
Magnus Madsen, Frank Tip, Esben Andreasen, Koushik Sen, and Anders Møller: Feedback-Directed Instrumentation for Deployed JavaScript Applications
Xin Ye, Hui Shen, Xiao Ma, Razvan Bunescu, and Chang Liu: From Word Embeddings to Document Similarities for Improved Information Retrieval in Software Engineering
Maria Christakis, Peter Müller, and Valentin Wüstholz: Guiding Dynamic Symbolic Execution toward Unverified Program Executions
Eric F. Rizzi, Sebastian Elbaum, and Matthew B. Dwyer: On the Techniques We Create, the Tools We Build, and Their Misalignments: A Study of KLEE
David Menendez and Santosh Nagarakatte: Termination-Checking for LLVM Peephole Optimizations
Tingting Yu, Xiao Qu, and Myra B. Cohen: VDTest: An Automated Framework to Support Testing for Virtual Devices
Georgios Gousios, Margaret-Anne Storey, and Alberto Bacchelli: Work Practices and Challenges in Pull-Based Development: The Contributor's Perspective
Sina Shamshiri, René Just, José Miguel Rojas, Gordon Fraser, Phil McMinn, and Andrea Arcuri: Do Automatically Generated Unit Tests Find Real Faults? An Empirical Study of Effectiveness and Challenges
Lei Ma, Cyrille Artho, Cheng Zhang, Hiroyuki Sato, Johannes Gmeiner, and Rudolf Ramler: GRT: Program-Analysis-Guided Random Testing
Tuan Nguyen and Christoph Csallner: Reverse Engineering Mobile Application User Interfaces With REMAUI
Yi Zhang, Jianmei Guo, Eric Blais, and Krzysztof Czarnecki: Performance Prediction of Configurable Software Systems by Fourier Learning
Krishna Narasimhan and Christoph Reichenbach: Copy and Paste Redeemed
Yi Li, Julia Rubin, and Marsha Check: Semantic Slicing of Software Version Histories
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?
Omer Tripp, Pietro Ferrara, and Marco Pistoia, Hybrid Security Analysis of Web JavaScript Code via Dynamic Partial Evaluation
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
Saba Alimadadi, Sheldon Sequeira, Ali Mesbah, and Karthik Pattabiraman, Understanding JavaScript Event-Based Interaction
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
Bradley Cossette and Robert Walker, Seeking the Ground Truth: A Retroactive Study on the Evolution and Migration of Software Libraries
Christian Bird and Thomas Zimmermann, Assessing the Value of Branches with What-if Analysis
Emina Torlak, Scalable Test Data Generation from Multidimensional Models
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
Andreas Thies, Eric Bodden: RefaFlex: Safer Refactoring for Reflective Java Programs
Simon Holm Jensen, Peter A. Jonsson, Anders Møller: Remedying the Eval that Men Do
Kaituo Li, Christoph Reichenbach, Christoph Csallner, Yannis Smaragdakis: Residual Investigation: Predictive and Precise Bug Detection
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
Nic Volanschi, A Portable Compiler-Integrated Approach to Permanent Checking
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
John Anvik, Lyndon Hiew, Gail C. Murphy: Who should fix this bug?
Ji Zhang, Betty H.C. Cheng: Model-based development of dynamically adaptive software
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"
Xiangyu Zhang, Rajiv Gupta, Youtao Zhang, "Precise Dynamic Slicing"
Sagar Chaki, Edmund M. Clarke, Alex Groce, Somesh Jha, Helmut 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"