IEEE International Conference on Software Analysis, Evolution and Reengineering

Daily Schedule


Legend:
  • Technical Research Paper
  • Journal First Paper
  • Tool Demo
  • ERA Track Paper
  • RENE Track Paper
  • Industry Track Paper


Wednesday, 21st
Time Aula Magna Room 2
08:00-08:30 Registration
08:30-09:00 Opening
Session Chairs: Rocco Oliveto, Massimiliano Di Penta, David C. Shepherd
09:00-10:15 "A Decade of Software Quality Analysis in Practice: Surprises, Anecdotes and Lessons Learned" by Elmar Jurgens
Session Chair: Massimiliano Di Penta
10:15-10:30 Coffee Break
10:30-11:30
Program Analysis
Session Chair: Mike Godfrey

  • Context Is King: The Developer Perspective on the Usage of Static Analysis Tools Carmine Vassallo, Sebastiano Panichella, Fabio Palomba, Sebastian Proksch, Andy Zaidman and Harald Gall
  • Microclones in Evolving Software Manishankar Mondal, Chanchal K. Roy and Kevin Schneider

Tool demo: Mining
Session Chair: Mario Linares Vásquez

  • The Statechart Workbench - Enabling Scalable Software Event Log Analysis using Process Mining Maikel Leemans, Wil van der Aalst, Mark van der Brand
  • APIDiff: Detecting API Breaking Changes Aline Brito, Laerte Xavier, Andre Hora, Marco Tulio Valente
  • LICCA: a Tool for Cross-Language Clone Detection Tijana Vislavski, Gordana Rakic, Nicolás Cardozo, Zoran Budimac
  • GoldRusher: A Miner for Rapid Identification of Hidden Code Aleieldin Salem

11:30-11:45 Coffee Break
11:45-12:45
Software Logging
Session Chair: Takashi Kobayashi

  • SMARTLOG: Place Error Log Statement by Deep Understanding of Log Intention Zhouyang Jia, Shanshan Li, Xiaodong Liu, Xiangke Liao, Yunhuai Liu
  • Towards Just-in-time Suggestions for Log Changes Heng Li, Weiyi Shang, Ying Zou and Ahmed E. Hassan
  • Which Log Level Should Developers Choose for a New Logging Statement? Heng Li, Weiyi Shang and Ahmed E. Hassan

Industry: Reengineering
Session Chair: Andrea De Lucia

  • Reengineering an Industrial HMI: Approach, Objectives and Challenges Bernhard Dorninger, Michael Moser, Albin Kern
  • Model-Based Software Restructuring: Lessons from Cleaning Up COM Interfaces in Industry Legacy Code Dennis Dams, Arjan Mooij, Pepijn Kramer, Andrei Radulescu, Jaromir Vanhara
  • Grammatical Inference from Data Exchange Files: An Experiment on Engineering Software Markus Exler, Michael Moser, Josef Pichler, Günter Fleck, Bernhard Dorninger

12:45-13:45 Lunch
13:45-14:45
Testing
Session Chair: Dario di Nucci

  • Exploring the Integration of User Feedback in Automated Testing of Android Applications Giovanni Grano, Adelina Ciurumelea, Sebastiano Panichella, Fabio Palomba and Harald Gall
  • Structured Random Differential Testing of Instruction Decoders Nathan Jay and Barton Miller
  • Clustering Support for Inadequate Test Suite Reduction Carmen Coviello, Simone Romano, Giuseppe Scanniello, Alessandro Marchetto, Giuliano Antoniol and Anna Corazza

RENE: Examining Past Results
Session Chair: Alexander Serebrenik

  • Duplicate Question Detection in Stack Overflow: A Reproducibility Study Rodrigo F. G. Silva, Klérisson Paixão, Marcelo Maia
  • How Do Scientists Develop Scientific Software? An External Replication Gustavo Pinto, Igor Scaliante Wiese, Luiz Felipe Fronchetti Dias
  • Re-evaluating Method-Level Bug Prediction Luca Pascarella, Fabio Palomba, Alberto Bacchelli

14:45-15:00 Coffee Break
15:00-16:00
Program Repair
Session Chair: Serge Demeyer

  • Automatically Repairing Dependency-Related Build Breakage Christian Macho, Shane McIntosh and Martin Pinzger
  • Mining StackOverflow for Program Repair Xuliang Liu and Hao Zhong
  • Dissection of a Bug Dataset: Anatomy of 395 Patches from Defects4J Victor Sobreira, Thomas Durieux, Fernanda Madeiral, Martin Monperrus and Marcelo de Almeida Maia

Tool demo: Software Evolution
Session Chair: Mario Linares Vásquez

  • BECLoMA: Augmenting Stack Traces with User Review Information Lucas Pelloni, Giovanni Grano, Adelina Ciurumelea, Sebastiano Panichella, Fabio Palomba and Harald C. Gall
  • Bring Your Own Coding Style Naoto Ogura, Shinsuke Matsumoto, Hideaki Hata and Shinji Kusumoto
  • FINALIsT2: Feature Identification, Localization and Tracing Tool Andreas Burger and Sten Gruener
  • ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code Katsuhisa Maruyama, Shinpei Hayashi and Takayuki Omori
  • RETICULA: REal TIme Code qUaLity Assessment Luigi Frunzio, Bin Lin, Michele Lanza and Gabriele Bavota

16:00-16:30 Coffee Break
16:30-17:30
Mobile Development
Session Chair: Sebastiano Panichella

  • Detecting Third-Party Libraries in Android Applications with High Precision and Recall Yuan Zhang, Jiarun Dai, Xiaohan Zhang, Sirong Huang, Zhemin Yang, Min Yang and Hao Chen
  • A Study of the Relation of Mobile Device Attributes with the User-perceived Quality of Android Apps Ehsan Noei, Mark D. Syer, Ying Zou, Ahmed E. Hassan, Iman Keivanloo
  • How Developers Micro-Optimize Android Apps Mario Linares-Vásquez, Christopher Vendome, Michele Tufano and Denys Poshyvanyk

19:00 Reception @ Blue Note
Thursday, 22nd
Time Aula Magna Room 2
08:00-09:00 Registration
09:00-10:15 "Towards a New Digital Business Operating System" by Jan Bosch
Session Chair: Rocco Oliveto
10:15-10:30 Coffee Break
10:30-11:30
Software Quality
Session Chair: Rainer Koschke

  • How Do Developers Pay Back Technical Debt in the Apache Ecosystem? Georgios Digkas, Mircea Lungu, Paris Avgeriou, Alexander Chatzigeorgiou, Apostolos Ampatzoglou
  • The Relationship between Evolutionary Coupling and Defects in Large Industrial Software Serkan Kirbas, Bora Caglayan, Tracy Hall, Steve Counsell, David Bowes, Alper Sen, Ayse Bener
  • How Good Is Your Puppet? An Empirically Defined and Validated Quality Model for Puppet Eduard van der Bent, Jurriaan Hage, Joost Visser and Georgios Gousios

Behavior and Runtime Analysis
Session Chair: Nevena Milojković

  • Maintaining Behaviour Driven Development Specifications: Challenges and Opportunities Leonard Peter Binamungu, Suzanne M Embury and Nikolaos Konstantinou
  • A Comparison Framework for Runtime Monitoring Approaches Rick Rabiser, Sam Guinea, Michael Vierhauser, Luciano Baresi and Paul Grünbacher
  • Recursion Aware Modeling and Discovery For Hierarchical Software Event Log Analysis Maikel Leemans, Wil M. P. van der Aalst and Mark G. J. van den Brand

11:30-11:45 Coffee Break
11:45-12:45
Design Analysis
Session Chair: Giuseppe Scaniello

  • Automatically Exploiting Implicit Design Knowledge When Solving the Class Responsibility Assignment Problem Yongrui Xu, Peng Liang and Muhammad Ali Babar
  • Modularity and architecture of PLC-based software for automated production systems: An analysis in industrial companies Birgit Vogel-Heuser, Juliane Fischer, Stefan Feldmann, Sebastian Ulewicz, Susanne Rösch
  • A Mapping Study on Design-Time Quality Attributes and Metrics Elvira Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Matthias Galster and Paris Avgeriou

Defect Prediction
Session Chair: Martin Pinzger

  • Cross-Version Defect Prediction via Hybrid Active Learning with Kernel Principal Component Analysis Zhou Xu, Jin Liu, Xiapu Luo and Tao Zhang
  • Using a probabilistic model to predict bug fixes Mauricio Soto and Claire Le Goues
  • Connecting Software Metrics across Versions to Predict Defects Yibin Liu, Yanhui Li, Jianbo Guo, Yuming Zhou and Baowen Xu

12:45-13:45 Lunch
13:45-14:45
APIs
Session Chair: Patanamon Thongtanunam

  • Classifying Stack Overflow Posts On API Issues Md Ahasanuzzaman, Muhammad Asaduzzaman, Chanchal K. Roy and Kevin Schneider
  • Why and How Java Developers Break APIs Aline Brito, Laerte Xavier, Andre Hora and Marco Tulio Valente
  • Mining Accurate Message Formats for Service APIs Md Arafat Hossain, Steve Versteeg, Jun Han, Ashad Kabir, Jiaojiao Jiang and Jean-Guy Schneider

Early Research Achievement (ERA)
Session Chairs: Jens Krinke and Shane McIntosh

  • Extracting Features from Requirements: Achieving Accuracy and Automation with Neural Networks Yang Li, Sandro Schulze, Gunter Saake
  • OctoBubbles: A Multi-View Interactive Environment for Concurrent Visualization and Synchronization of UML Models and Code Rodi Jolak, Khanh-Duy Le, Kaan Burak Sener, Michel R. V. Chaudron
  • A Comparison of Software Engineering Domain Specific Sentiment Analysis Tools Md Rakibul Islam, Minhaz F. Zibran
  • Generating Descriptions for Screenshots to Assist Crowdsourced Testing Di Liu, Xiaofang Zhang, Yang Feng, James Jones
  • Reconciling the Past and the Present: An Empirical Study on the Application of Source Code Transformations to Automatically Rejuvenate Java Programs Reno Dantas, Antônio Carvalho Júnior, Diego Marcílio, Luísa Fantin, Uriel

14:45-15:00 Coffee Break
15:00-16:00
Exploring Code Bases
Session Chair: Chanchal Roy

  • Mining Framework Usage Graphs from App Corpora Sergio Mover, Sriram Sankaranarayanan, Rhys Olsen, Bor-Yuh Evan Chang
  • A Generalized Model for Visualizing Library Popularity, Adoption and Diffusion within a Software Ecosystem Raula Gaikovina Kula, Coen De Roover, Daniel German, Takashi Ishio and Katsuro Inoue
  • Supporting Exploratory Code Search with Differencing and Visualization Wenjian Liu, Xin Peng, Zhenchang Xing, Junyi Li, Bing Xie and Wenyun Zhao

Tool demo: Hands-on Session
Session Chair: Mario Linares Vásquez

  • The Statechart Workbench - Enabling Scalable Software Event Log Analysis using Process Mining Maikel Leemans, Wil van der Aalst and Mark Van Den BrandMaikel Leemans, Wil van der Aalst and Mark Van Den Brand
  • APIDiff: Detecting API Breaking-Changes Aline Brito, Laerte Xavier, Andre Hora and Marco Tulio Valente
  • LICCA: a Tool for Cross-Language Clone Detection Tijana Vislavski, Gordana Rakic, Nicolás Cardozo and Zoran Budimac
  • GoldRusher: A Miner for Rapid Identification of Hidden Code Aleieldin Salem
  • BECLoMA: Augmenting Stack Traces with User Review Information Lucas Pelloni, Giovanni Grano, Adelina Ciurumelea, Sebastiano Panichella, Fabio Palomba and Harald C. Gall
  • Bring Your Own Coding Style Naoto Ogura, Shinsuke Matsumoto, Hideaki Hata and Shinji Kusumoto
  • Feature Identification, Localization and Tracing Tool Andreas Burger and Sten Gruener
  • ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code Katsuhisa Maruyama, Shinpei Hayashi and Takayuki Omori
  • RETICULA: REal TIme Code qUaLity Assessment Luigi Frunzio, Bin Lin, Michele Lanza and Gabriele Bavota

16:00-16:30 Coffee Break
16:30-17:15
Language Models
Session Chair: Yasu Kamei

  • Syntax and Sensibility: Using language models to detect and correct syntax errors Eddie Antonio Santos, Joshua Charles Campbell, Dhvani Patel, Abram Hindle, José Nelson Amaral
  • A Deep Neural Network Language Model with Contexts for Source Code Anh Nguyen, Trong Nguyen, Hung Phan and Tien Nguyen

Binary Analysis
Session Chair: Coen De Roover

  • Efficient Features for Function Matching Between Binary Executables Chariton Karamitas and Thanasis Kehagias
  • Using Recurrent Neural Networks for Decompilation Deborah Katz, Jason Ruchti and Eric Schulte

17:15-18:00 Open Steering Committee Meeting
19:00 Banquet @ Piana dei Mulini
Friday, 23rd
Time Aula Magna Room 2
08:00-09:00 Registration
09:00-10:15 "Compilers are Sprinters; IDEs are Marathoners" by Peter Gromov
Session Chair: David C. Shepherd
10:15-10:30 Coffee Break
10:30-11:30
Developers' Collaboration
Session Chair: Simone Scalabrino

  • Review Participation in Modern Code Review: An Empirical Study of the Android, Qt, and OpenStack Projects Patanamon Thongtanunam, Shane McIntosh, Ahmed E. Hassan and Hajimu Iida
  • How Do Developers Discuss Rationale? Rana Alkadhi, Manuel Nonnenmacher, Emitza Guzman and Bernd Bruegge
  • Automated Quality Assessment for Crowdsourced Test Reports of Mobile Applications Xin Chen, He Jiang, Xiaochen Li, Tieke He and Zhenyu Chen

RENE: Code Smells
Session Chair: Gabriele Bavota

  • Keep It Simple: Is Deep Learning Good for Linguistic Smell Detection? Sarah Fakhoury, Venera Arnaoudova, Cédric Noiseux, Foutse Khomh, Giuliano Antoniol
  • Detecting Code Smells using Machine Learning Techniques: Are We There Yet? Dario Di Nucci, Fabio Palomba, Damian Andrew Tamburri, Alexander Serebrenik, Andrea De Lucia

11:30-11:45 Coffee Break
11:45-12:45
Refactoring
Session Chair: Foutse Khomh

  • The Impact of Refactoring Changes on the SZZ Algorithm: An Empirical Study Edmilson Campos Neto, Daniel Alencar da Costa and Uirá Kulesza
  • An Extensible Approach for Taming the Challenges of JavaScript Dead Code Elimination Niels Groot Obbink, Ivano Malavolta, Gian Luca Scoccia and Patricia Lago
  • Automated Refactoring of Client-side JavaScript code to ES6 modules Katerina Paltoglou, Vassilis E. Zafeiris, E. A. Giakoumakis and N. A. Diamantidis

Industry: Development and Testing
Session Chair: Damian Tamburri

  • Fuzz Testing in Practice: Obstacles and Solutions Jie Liang, Mingzhe Wang, Yuanliang Chen, Yu Jiang, Renwei Zhang
  • Diggit: Automated Code Review via Software Repository Mining Robert Chatley, Lawrence Jones

12:45-13:45 Lunch
13:45-14:45
Recommender Systems
Session Chair: Shane McIntosh

  • Improving Developers Awareness of the Exception Handling Policy Taiza Montenegro, Hugo Melo, Roberta Coelho and Eiji Barbosa
  • Detecting Faulty Empty Cells in Spreadsheets Liang Xu, Shuo Wang, Wensheng Dou, Bo Yang, Chushu Gao, Jun Wei and Tao Huang
  • Spreadsheet Guardian: An Approach to Protecting Semantic Correctness throughout the Evolution of Spreadsheets Daniel Kulesz, Verena Käfer and Stefan Wagner

14:45-15:00 Coffee Break
15:00-16:00
Software Security
Session Chair: Shinpei Hayashi

  • Detection of Protection-Impacting Changes During Software Evolution Marc-Andre Laverdiere and Ettore Merlo
  • Mining Sandboxes: Are We There Yet? Lingfeng Bao, Bui Tien Duy Le and David Lo
  • DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding Zhuobing Han, Xiaohong Li, Hongtao Liu, Zhenchang Xing and Zhiyong Feng

16:00-16:30 Coffee Break
16:30-17:30 Most Influential Papers
Session Chair: Serge Demeyer
17:30-18:00 Closing
Session Chairs: Rocco Oliveto, Serge Demeyer