Text Size

Technical Research Papers

Please find a list of the accepted papers (alphabetic order by first author) for the Technical Research Track.

Congratulations to the authors!!


Mining Apps for Abnormal Usage of Sensitive Data

Vitalii Avdiienko, Konstantin Kuznetsov, Alessandra Gorla, Andreas Zeller, Steven Arzt, Siegfried Rasthofer, Eric Bodden


Efficient Scalable Verification of LTL Specifications

Luciano Baresi, Mohammad Mehdi, Pourhashem Kallehbasti, Matteo Rossi


Helping Developers Help Themselves: Automatic Decomposition of Code Review Changesets

Mike Barnett, Christian Bird, João Brunet, Shuvendu K. Lahiri


Symbolic Model Checking of Product-Line Requirements Using SAT-Based Methods

Shoham Ben-David, Baruch Sterin, Joanne M. Atlee, Sandy Beidu


Coexecutability for Efficient Verification of Data Model Updates

Ivan Bocic, Tevfik Bultan


Measuring Software Redundancy

Antonio Carzaniga, Andrea Mattavelli, Mauro Pezzè


Assert Use in GitHub Projects

Casey Casalnuovo, Premkumar Devanbu, Abilio Oliveira, Vladimir Filkov, Baishakhi Ray


Dynamic Data Flow Testing of Object Oriented Systems

Giovanni Denaro, Alessandro Margara, Mauro Pezze, Mattia Vivanti


Automated Data Structure Generation: Refuting Common Wisdom

Kyle Dewey, Lawton Nichols, Ben Hardekopf


AutoCSP: Automatically Retrofitting CSP to Web Applications

Mattia Fazzini, Prateek Saxena, Alessandro Orso


Lightweight Adaptive Filtering for Efficient Learning and Updating of Probabilistic Models

Antonio Filieri, Lars Grunske, Alberto Leva


Safe Memory-Leak Fixing for C Programs

Qing Gao, Yingfei Xiong, Yaqing Mi, Lu Zhang, Weikun Yang, Zhaoping Zhou, Bing Xie, Hong Mei


Making System User Interactive Tests Repeatable: When and What Should we Control?

Zebao Gao, Yalan Liang, Myra Cohen, Atif Memon, Zhen Wang


Revisiting the Impact of Classification Techniques on the Performance of Defect Prediction Models

Baljinder Ghotra, Shane McIntosh, Ahmed E. Hassan


Data-Delineation in Software Binaries and its Application to Buffer-Overrun Discovery

Denis Gopan, Evan Driscoll, Ducson Nguyen, Dimitri Naydich, Alexey Loginov, David Melski


Work Practices and Challenges in Pull-Based Development: The Integrator’s Perspective

Georgios Gousios, Andy Zaidman, Margaret-Anne Storey, Arie van Deursen


Truth in Advertising: The Hidden Cost of Mobile Ads for Software Developers

Jiaping Gui, Stuart Mcilroy, Meiyappan Nagappan, William G.J. Halfond


Combining Multi-Objective Search and Constraint Solving for Configuring Large Software Product Lines

Christopher Henard, Mike Papadakis, Mark Harman, Yves Le Traon


The Art of Testing Less without Sacrificing Quality

Kim Herzig, Michaela Greiler, Jacek Czerwonka, Brendan Murphy


GPredict: Generic Predictive Concurrency Analysis

Jeff Huang, Qingzhou Luo, Grigore Rosu


Learning Combinatorial Interaction Test Generation Strategies using Hyperheuristic Search

Yue Jia, Myra Cohen, Mark Harman, Justyna Petke


From Developer Networks to Verified Communities: A Fine-Grained Approach

Mitchell Joblin, Wolfgang Mauerer, Sven Apel, Janet Siegmund, Dirk Riehle


Open Source-Style Collaborative Development Practices in Commercial Projects Using GitHub

Eirini Kalliamvakou, Daniela Damian, Kelly Blincoe, Leif Singer, Daniel German


Dynamic Generation of Likely Invariants for Multithreaded Programs

Markus Kusano, Arijit Chattopadhyay, Chao Wang


Borrowing from the Crowd: A Study of Recombination in Software Design Competitions

Thomas D. LaToza, Micky Chen, Luxi Jiang, Mengyao Zhao, Andre van der Hoek


Why Good Developers Write Bad Code: an Observational Case Study of the Impacts of Organizational Factors on Software Quality 

Mathieu Lavallee, Pierre N. Robillard


Tempura: Temporal Dimension for IDEs

Yun Young Lee, Darko Marinov, Ralph E. Johnson


IccTA: Detecting Inter-Component Privacy Leaks in Android Apps

Li Li, Alexandre Bartel, Tegawendé Bissyande, Jacques Klein, Yves Le Traon, Steven Arzt, Siegfried Rasthofer, Eric Bodden, Damien Octeau, Patrick McDaniel


What Makes a Great Software Engineer?

Paul L. Li, Andrew J. Ko, Jiamin Zhu


Morpheus: Variability-Aware Refactoring in the Wild

Joerg Liebig, Andreas Janker, Florian Garbe, Sven Apel, Christian Lengauer


Empirical Study on Leading Indicators for Cost of Formal Software Verification

Daniel Matichuk, Toby Murray, June Andronick, Ross Jeffery, Gerwin Klein, Mark Staples


DirectFix: Looking for Simple Program Repairs

Sergey Mechtaev, Jooyong Yi, Abhik Roychoudhury


Does Automated Refactoring Obviate Systematic Editing?

Na Meng, Lisa Hua, Miryung Kim, Kathryn S. McKinley


Alloy*: A General-Purpose Higher-Order Relational Constraint Solver 

Aleksandar Milicevic, Joseph P. Near, Eunsuk Kang, Daniel Jackson


How Can I Use This Method?

Laura Moreno, Gabriele Bavota, Massimiliano Di Penta, Rocco Oliveto, Andrian Marcus


Stuck and Frustrated or In Flow and Happy: Sensing Developers’ Emotions and Progress

Sebastian C. Müller, Thomas Fritz


A Comparative Study of Programming Languages in Rosetta Code

Sebastian Nanz, Carlo A. Furia


Graph-based Statistical Language Model for Code

Anh Tuan Nguyen, Tien N. Nguyen


CARAMEL: Detecting and Fixing Performance Problems That Have Non-Intrusive Fixes 

Adrian Nistor, Po-Chun Chang, Cosmin Radoi, Shan Lu


Detecting Inconsistencies in JavaScript MVC Applications

Frolin Ocariza, Karthik Pattabiraman, Ali Mesbah


Composite Constant Propagation: Application to Android Inter-Component Communication Analysis

Damien Octeau, Daniel Luchaup, Matthew Dering, Somesh Jha, Patrick McDaniel


Gray Computing: An Analysis of Computing with Background JavaScript Tasks

Yao Pan, Jules White, Yu Sun, Jeff Gray


Trivial Compiler Equivalence: A Large Scale Empirical Study of a Simple Fast and Effective Equivalent Mutant Detection Technique

Mike Papadakis, Yue Jia, Mark Harman, Yves Le Traon


ZoomIn: Discovering Failures by Detecting Wrong Assertions

Fabrizio Pastore, Leonardo Mariani


LACE2: Better Privacy-Preserving Data Sharing for Cross Project Defect Prediction

Fayola Peters, Tim Menzies, Lucas Layman


Hercules: Reproducing Crashes in Real-World Application Binaries

Van-Thuan Pham, Wei Boon Ng, Konstantin Rubinov, Abhik Roychoudhury


Discovering Information Explaining API Types Using Text Classification

Gayane Petrosyan, Martin P. Robillard, Renato De Mori


TypeDevil: Dynamic Type Inconsistency Analysis for JavaScript

Michael Pradel, Parker Schuh, Koushik Sen


Specifying Event-Based Systems with a Counting Fluent Temporal Logic

Germán Regis, Renzo Degiovanni, Nicolás D'Ippolito, Nazareno Aguirre


Compositional Symbolic Execution with Memoized Replay

Rui Qiu, Guowei Yang, Corina S. Pasareanu, Sarfraz Khurshid


Developing and Evaluating Software Engineering Process Theories

Paul Ralph


Presence-Condition Simplification in Highly Configurable Systems

Alexander von Rhein, Alexander Grebhahn, Sven Apel, Norbert Siegmund, Dirk Beyer, Thorsten Berger


Tricorder: Building a Program Analysis Ecosystem

Caitlin Sadowski, Jeffrey van Gogh, Ciera Jaspan, Emma Söderberg, Collin Winter


An Information Retrieval Approach for Regression Test Prioritization Based on Program Changes

Ripon Saha, Lingming Zhang, Sarfraz Khurshid, Dewayne Perry


Are Students Representatives of Professionals in Software Engineering Experiments?

Iflaah Salman, Ayse Tosun Misirli, Natalia Juristo


Tracking Static Analysis Violations Over Time to Capture Developer Characteristics

Max Schaefer, Arthur Baars, Anders Henriksen, Pavel Avgustinov, Galen Menzel, Oege de Moor, Julian Tibble, Greg Lavender


Views on Internal and External Validity in Empirical Software Engineering 

Janet Siegmund, Norbert Siegmund, Sven Apel


Build it Yourself! Homegrown Tools in a Large Software Company

Edward K. Smith, Christian Bird, Thomas Zimmermann


Combining Symbolic Execution and Model Checking for Data Flow Testing

Ting Su, Zhoulai Fu, Geguang Pu, Jifeng He, Zhendong Su


Relifix: Automated Repair of Software Regressions

Shin Hwei Tan, Abhik Roychoudhury


The Impact of Mislabelling on the Performance and Interpretation of Defect Prediction Models

Chakkrit Tantithamthavorn, Shane McIntosh, Ahmed E. Hassan, Akinori Ihara, Kenichi Matsumoto


RECONTEST: Effective Regression Testing of Concurrent Programs

Valerio Terragni, Shing-Chi Cheung, Charles Zhang


When and Why Your Code Starts to Smell Bad

Michele Tufano, Fabio Palomba, Gabriele Bavota, Rocco Oliveto, Massimiliano Di Penta, Andrea De Lucia, Denys Poshyvanyk


Cascade: A Universal Type Qualifier Inference Tool

Mohsen Vakilian, Amarin Phaosawasdi, Michael D. Ernst, Ralph E. Johnson


Automated Decomposition of Build Targets

Mohsen Vakilian, Raluca Sauciuc, David Morgenthaler, Vahab Mirrokni


How Much Up-front? A Grounded Theory of Agile Architecture 

Michael Waterman, James Noble, George Allan


A Flexible and Non-intrusive Approach for Computing Complex Structural Coverage Metrics

Michael W. Whalen, Suzette Person, Neha Rungta, Matt Staats, Daniela Grijincu


"No PAIN, No Gain? The utility of PArallel fault INjections"

Stefan Winter, Oliver Schwahn, Roberto Natella, Neeraj Suri, Domenico Cotroneo


Database-Backed Program Analysis for Scalable Error Propagation

Cathrin Weiss, Cindy Rubio-González, Ben Liblit


DASE: Document-Assisted Symbolic Execution for Improving Automated Software Testing

Edmund Wong, Lei Zhang, Song Wang, Taiyue Liu, Lin Tan


Automated Modularization of GUI Test Cases

Rahulkrishna Yandrapally, Giriprasad Sridhara, Saurabh Sinha


Static Control-Flow Analysis of User-Driven Callbacks in Android Applications

Shengqian Yang, Dacong Yan, Haowei Wu, Yan Wang, Atanas Rountev


AppContext: Differentiating Malicious and Benign Mobile App Behaviors Using Context

Wei Yang, Xusheng Xiao, Benjamin Andow, Sihan Li, Tao Xie, William Enck


A Synergistic Analysis Method for Explaining Failed Regression Tests

Qiuping Yi, Zijiang Yang, Jian Liu, Chen Zhao, Chao Wang


Supporting Selective Undo in a Code Editor

Young Seok Yoon, Brad A. Myers


Do Security Patterns Really Help Designers?

Koen Yskout, Riccardo Scandariato, Wouter Joosen


Does the failing test execute a single or multiple faults? An approach to classifying failing tests

Zhongxing Yu, Chenggang Bai, Kai-Yuan Cai


ReCBuLC: Reproducing Concurrency Bugs Using Local Clocks

Xiang Yuan, Chenggang Wu, Zhenjiang Wang, Jianjun Li, Pen-Chung Yew, Jeff Huang, Xiaobing Feng, Yanyan Lan, Yunji Chen, Yong Guan


Interactive Code Review for Systematic Changes

Tianyi Zhang, Myoungkyu Song, Joseph Pinedo, Miryung Kim


Regular Property Guided Dynamic Symbolic Execution

Yufeng Zhang, Zhenbang Chen, Ji Wang, Wei Dong, Zhiming Liu


An Empirical Study on Fixing Real Bugs

Hao Zhong, Zhendong Su


Learning to Log: Helping Developers Make Informed Logging Decisions

Jieming Zhu, Pinjia He, Qiang Fu, Hongyu Zhang, Michael R. Lyu, Dongmei Zhang


A Programming Model for Sustainable Software

Haitao Steve Zhu, Chaoren Lin, Yu David Liu


A Genetic Algorithm for Detecting Significant Floating-Point Inaccuracies

Daming Zou, Ran Wang, Yingfei Xiong, Lu Zhang, Zhendong Su, Hong Mei

NOTE! This site uses cookies and similar technologies.

If you not change browser settings, you agree to it. Learn more

I understand