ICPC 2019
Sat 25 - Sun 26 May 2019 Montreal, QC, Canada
co-located with ICSE 2019

Accepted Papers


Technical Research Track

This track promises to provide a quality forum for researchers and practitioners from academia, industry, and government to present and to discuss state-of-the-art results and best practices in the field of program comprehension. The best Technical Research Track papers at ICPC 2019 will be invited to be revised and extended for consideration in Empirical Software Engineering (EMSE) journal.

Calls for contribution

The International Conference on Program Comprehension (ICPC) is the principal venue for works in the area of program comprehension. Topics of interest for all tracks include but are not limited to:

  • Tool support for program comprehension;

  • Novel visualization techniques and interfaces to support program comprehension, including searching, browsing and analyzing;

  • Novel text summarisation techniques and interfaces to support program comprehension, including searching, browsing and analyzing;

  • Cognitive theories for program comprehension, including experiments, empirical studies, and case studies;

  • Individual, collaborative, distributed, and global program comprehension;

  • Comprehension of specific types of software systems, such as open/closed source, mobile applications, spreadsheets, web-based systems, legacy systems, product lines, libraries, multi-threaded applications, and systems of systems;

  • Comprehension in the context of diverse software process models and specific lifecycle activities, such as: maintenance, evolution, re-engineering, migration, security, auditing, and testing;

  • Comprehension of software artifacts ranging from requirements documents to test cases and crash logs; from API documentation to models, meta-models and model transformation; and from Stack Overflow questions & answers to GitHub code review messages - all artifacts software developer encounters when creating or evolving software.

  • Empirical evaluations of program comprehension tools, techniques, and approaches;

  • Human aspects in program comprehension;

  • Comprehension and legal issues, such as due diligence, intellectual property, reverse engineering, and litigation;

  • Issues and case studies in the transfer of program comprehension technology to industry.

The research track of ICPC 2019 promises to provide a quality forum for researchers and practitioners from academia, industry, and government to present and to discuss state-of-the-art results and best practices in the field of program comprehension.

Format and Submission

Submissions must not be longer than 10 pages for the main text, inclusive of figures, tables, appendices; references only may be included on up to 2 additional pages.The submission must conform to the IEEE Conference Proceedings Formatting Guidelines (title in 24pt font and full text in 10pt type, LaTEX users must use \documentclass[10pt,conference]{IEEEtran} without including the compsoc or compsocconf option).

The submission must also comply with the ACM plagiarism policy and procedures. In particular, it must not have been published elsewhere and must not be under review elsewhere while under review for ICPC. The submission must also comply with the IEEE Policy on Authorship.

All submissions must be in PDF format and must be submitted online via the ICPC 2019 EasyChair conference management system.

Review and Evaluation Criteria

Research papers will be reviewed by at least three members of the Program Committee. Submissions will be evaluated on the basis of their originality, importance of contribution, soundness, evaluation, quality, and consistency of presentation, and appropriate comparison to related work.

ICPC 2019 will employ a double-blind review process. This means that the submissions should by no means disclose the identity of the authors. The authors must make every effort to honor the double-blind review process. In particular, the authors’ names must be omitted from the submission and references to their prior work should be in the third person. Further advice, guidance and explanation about the double-blind review process can be found in the Q&A page.

ICPC 2019 will follow the ACM SIGSOFT rules on Conflicts of Interest and Confidentiality of Submissions, and all authors, reviewers, organizers are expected to uphold the ACM Code of Conduct.

Publication and Presentation

Upon notification of acceptance, all authors of accepted papers will receive further instructions for preparing their camera-ready versions. At least one author of the paper must register and present the paper at the conference; otherwise the paper will be excluded from both the program and the proceedings. All accepted papers will be published in the conference electronic proceedings, which will also be available in the ACM Digital Library. Purchases of additional pages in the proceedings is not allowed.

The papers will be presented in a formal setting. More details on the presentations will follow the notifications.


Authors of selected papers from the research track will be invited to submit extended versions of their work to a special issue of Springer Journal of Empirical Software Engineering.

Program Chairs

Federica Sarro and Foutse Khomh


Sat 25 May

10:00 - 10:30: Presentations - Session I : Comprehending program comprehension I at Room 7
icpc-2019-Technical-Research10:00 - 10:20
Sarah FakhouryWashington State University
icpc-2019-replications10:20 - 10:30
11:00 - 12:40: Presentations - Session II: Comprehending program comprehension II at Room 7
icpc-2019-Technical-Research11:00 - 11:20
icpc-2019-Technical-Research11:20 - 11:40
icpc-2019-Technical-Research11:40 - 12:00
icpc-2019-Technical-Research12:00 - 12:20
Fengcai Wen, Csaba Nagy, Gabriele BavotaUniversità della Svizzera italiana (USI), Michele LanzaUniversita della Svizzera italiana (USI)
icpc-2019-negative-results12:20 - 12:40
14:00 - 15:30: Presentations - Session III: Code cloning and smells at Room 7
icpc-2019-Technical-Research14:00 - 14:20
icpc-2019-Technical-Research14:20 - 14:40
icpc-2019-Technical-Research14:40 - 15:00
icpc-2019-Technical-Research15:00 - 15:20
icpc-2019-Technical-Research15:20 - 15:30
16:30 - 17:20: Presentations - Session V: Refactoring in Style at Room 7
icpc-2019-negative-results16:30 - 16:50
icpc-2019-replications16:50 - 17:00
icpc-2019-Technical-Research17:00 - 17:20

Sun 26 May

09:45 - 10:35: Presentations - Session VI : Tools for comprehension at Room 7
icpc-2019-replications09:45 - 10:05
icpc-2019-Technical-Research10:05 - 10:15
icpc-2019-Technical-Research10:15 - 10:35
11:00 - 12:30: Presentations - Session VII: Empirical Study I at Room 7
icpc-2019-Technical-Research11:00 - 11:18
icpc-2019-Technical-Research11:18 - 11:36
icpc-2019-Technical-Research11:36 - 11:54
icpc-2019-Technical-Research11:54 - 12:12
icpc-2019-Technical-Research12:12 - 12:30
14:00 - 15:30: Presentations - Session VIII: Empirical Study II at Room 7
icpc-2019-Technical-Research14:00 - 14:18
icpc-2019-Technical-Research14:18 - 14:36
icpc-2019-Technical-Research14:36 - 14:54
icpc-2019-Technical-Research14:54 - 15:12
icpc-2019-Technical-Research15:12 - 15:30
16:00 - 18:00: Presentations - Session IX: Information Retrieval, API, the Crowd, and Biosensors : The Magnificent Four at Room 7
icpc-2019-replications16:00 - 16:20
icpc-2019-Technical-Research16:20 - 16:40
icpc-2019-Technical-Research16:40 - 17:00
icpc-2019-Technical-Research17:00 - 17:20
icpc-2019-Technical-Research17:20 - 17:40
icpc-2019-Technical-Research17:40 - 18:00

Full Papers

# Authors Title
5 Gina R. Bai, Brian Clee, Nischal Shrestha, Carl Chapman, Cimone Wright and Kathryn T. Stolee Exploring Tools and Strategies Used During Regular Expression Composition Tasks
7 Hussein Alrubaye, Mohamed Wiem Mkaouer and Ali Ouni On the Use of Information Retrieval to Automate the Detection of Third-Party Java Library Migration At The Function Level
11 Omer Levy and Dror Feitelson Understanding Large-Scale Software – A Hierarchical View
15 Rodrigo Fernandes Gomes Da Silva, Chanchal K. Roy, Md Masudur Rahman, Kevin Schneider, Klérisson Paixão and Marcelo Maia Recommending Comprehensive Solutions for Programming Tasks by Mining Crowd Knowledge
23 Hongliang Liang, Yini Zhang, Yue Yu, Zhuosi Xie and Lin Jiang Sequence Coverage Directed Greybox Fuzzing
31 Hao Yu, Wing Lam, Long Chen, Ge Li, Tao Xie and Qianxiang Wang Neural Detection of Semantic Code Clones via Tree-Based Convolution
35 Djan Santos and Cláudio Sant’Anna How Does Feature Dependency Affect Configurable System Comprehensibility?
37 Daihong Zhou, Yijian Wu, Lu Xiao, Yuanfang Cai, Xin Peng, Jinrong Fan, Lu Huang and Heng Chen Understanding Evolutionary Coupling by Fine-grained Co-change Relationship Analysis
38 Juraj Kubelka, Romain Robbes and Alexandre Bergel Live Programming and Software Evolution: Questions during a Programming Change Task
40 Lucian Gonçales, Kleinner Farias, Bruno da Silva and Jonathan Fessler Measuring the Cognitive Load of Software Developers: A Systematic Mapping Study
51 Diego Marcilio, Rodrigo Bonifacio, Eduardo Monteiro, Edna Canedo, Welder Luz and Gustavo Pinto Are Static Analysis Violations Really Fixed? A Closer Look at Realistic Usage of SonarQube
59 Shengzhe Xu, Ziqi Dong and Na Meng Meditor: Inference and Application of API Migration Edits
62 Fabiano Pecorelli, Fabio Palomba, Dario Di Nucci and Andrea De Lucia Comparing Machine Learning and Heuristic Approaches for Metric-Based Code Smell Detection
63 Han Liu, Zhiqiang Yang, Yu Jiang, Wenqi Zhao and Jiaguang Sun Enabling Clone Detection For Ethereum via Smart Contract Birthmarks
66 Christina Peterson, Pierre LaBorde and Damian Dechev CCSpec: A Correctness Condition Specification Tool
68 Marcel Steinbeck, Rainer Koschke and Marc Rüdel Comparing the EvoStreets Visualization Technique in Two- and Three-Dimensional Environments A Controlled Experiment
69 Hongyu Kuang, Hui Gao, Hao Hu, Xiaoxing Ma, Jian Lü, Patrick Mäder and Alexander Egyed Using Frugal User Feedback with Closeness Analysis on Code to Improve IR-Based Traceability Recovery
78 Fengcai Wen, Csaba Nagy, Gabriele Bavota and Michele Lanza A Large-Scale Empirical Study on Code-Comment Inconsistencies
82 Xiaoqin Fu and Haipeng Cai Measuring Interprocess Communications in Distributed Systems
86 Judith F. Islam, Manishankar Mondal, Chanchal K. Roy and Kevin Schneider Comparing Bug Replication in Regular and Micro Code Clones
103 Sarah Fakhoury, Devjeet Roy, Sk. Adnan Hassan and Venera Arnaoudova Improving Source Code Readability: Theory and Practice
128 Ngoc Tran, Hieu Tran, Son Nguyen, Hoan Nguyen and Tien Nguyen Does BLEU Score Work for Code Migration?
131 Yuan Huang, Queping Kong, Nan Jia, Xiangping Chen and Zibin Zheng Recommending Differentiated Code to Support Smart Contract Update
133 Jie Chen, Dongjin Yu, Haiyang Hu, Zhongjin Li and Hua Hu Analyzing Performance-Aware Code Change in Software Development Process

Short Papers

# Authors Title
54 Jianbo Gao, Han Liu, Yue Li, Chao Liu, Zhiqiang Yang, Qingshan Li, Zhi Guan and Zhong Chen Towards Automated Testing of Blockchain-based Decentralized Applications
58 Wasim Said, Jochen Quante and Rainer Koschke Do Extracted State Machine Models Help to Understand Embedded Software?
64 Francisco Gonçalves de Almeida Filho, Antônio Diogo Forte Martins, Tiago da Silva Vinuto, José Maria da Silva Monteiro Filho, Ítalo Pereira de Sousa, Javam de Castro Machado and Lincoln Souza Rocha Prevalence of Bad Smells in PL/SQL Projects
65 Markus Schnappinger, Mohd Hafeez Osman, Alexander Pretschner and Arnaud Fietzke Learning a Classifier for Prediction of Maintainability based on Static Analysis Tools