SANER 2018
2018 IEEE 25th International Conference on Software Analysis, Evolution, and Reengineering (SANER)
Powered by
Conference Publishing Consulting

2018 IEEE 25th International Conference on Software Analysis, Evolution, and Reengineering (SANER), March 20-23, 2018, Campobasso, Italy

SANER 2018 – Proceedings

Contents - Abstracts - Authors

Frontmatter

Title Page
Message from the Chairs
SANER 2018 Organization
SANER 2018 Sponsors and Supporters

Keynotes

A Decade of Software Quality Analysis in Practice: Surprises, Anecdotes, and Lessons Learned (Keynote)
Elmar Juergens
(CQSE, Germany)
Towards a New Digital Business Operating System: Speed, Data, Ecosystems, and Empowerment (Keynote)
Jan Bosch
(Chalmers University of Technology, Sweden)
Compilers Are Sprinters – IDEs Are Marathoners (Keynote)
Peter Gromov
(JetBrains, Germany)

Retrospective Papers
Fri, Mar 23, 16:30 - 17:30, Aula Magna

Ten Years of JDeodorant: Lessons Learned from the Hunt for Smells
Nikolaos Tsantalis, Theodoros Chaikalis, and Alexander Chatzigeorgiou
(Concordia University, Canada; University of Macedonia, Greece)
Design Patterns Impact on Software Quality: Where Are the Theories?
Foutse Khomh and Yann-Gaël Guéhéneuc
(Polytechnique Montréal, Canada; Concordia University, Canada)
Benchmarks for Software Clone Detection: A Ten-Year Retrospective
Chanchal K. Roy and James R. Cordy
(University of Saskatchewan, Canada; Queen's University, Canada)

Technical Research Papers

Program Analysis
Wed, Mar 21, 10:30 - 11:30, Aula Magna

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 C. Gall
(University of Zurich, Switzerland; Delft University of Technology, Netherlands)
Micro-clones in Evolving Software
Manishankar Mondal, Chanchal K. Roy, and Kevin A. Schneider
(University of Saskatchewan, Canada)

Software Logging
Wed, Mar 21, 11:45 - 12:45, Aula Magna

SMARTLOG: Place Error Log Statement by Deep Understanding of Log Intention
Zhouyang Jia, Shanshan Li, Xiaodong Liu, Xiangke Liao, and Yunhuai Liu
(National University of Defense Technology, China; Peking University, China)
Info

Testing
Wed, Mar 21, 13:45 - 14:45, Aula Magna

Exploring the Integration of User Feedback in Automated Testing of Android Applications
Giovanni Grano, Adelina Ciurumelea, Sebastiano Panichella, Fabio Palomba, and Harald C. Gall
(University of Zurich, Switzerland)
Structured Random Differential Testing of Instruction Decoders
Nathan Jay and Barton P. Miller
(University of Wisconsin-Madison, USA)
Clustering Support for Inadequate Test Suite Reduction
Carmen Coviello, Simone Romano, Giuseppe Scanniello, Alessandro Marchetto, Giuliano Antoniol, and Anna Corazza
(University of Basilicata, Italy; Polytechnique Montréal, Canada; Federico II University of Naples, Italy)

Program Repair
Wed, Mar 21, 15:00 - 16:00, Aula Magna

Automatically Repairing Dependency-Related Build Breakage
Christian Macho, Shane McIntosh, and Martin Pinzger
(University of Klagenfurt, Austria; McGill University, Canada)
Mining StackOverflow for Program Repair
Xuliang Liu and Hao Zhong
(Shanghai Jiao Tong University, China)
Dissection of a Bug Dataset: Anatomy of 395 Patches from Defects4J
Victor Sobreira, Thomas Durieux, Fernanda Madeiral, Martin Monperrus, and Marcelo de Almeida Maia
(Federal University of Uberlândia, Brazil; Inria, France; University of Lille, France; KTH, Sweden)
Info

Mobile Development
Wed, Mar 21, 16:30 - 17:30, Aula Magna

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
(Fudan University, China; Shanghai Institute of Intelligent Electronics and Systems, China; Shanghai Institute for Advanced Communication and Data Science, China; University of California at Davis, USA)

Software Quality
Thu, Mar 22, 10:30 - 11:30, Aula Magna

How Do Developers Fix Issues and Pay Back Technical Debt in the Apache Ecosystem?
Georgios Digkas, Mircea Lungu, Paris Avgeriou, Alexander Chatzigeorgiou, and Apostolos Ampatzoglou
(University of Groningen, Netherlands; University of Macedonia, Greece)
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
(Utrecht University, Netherlands; Software Improvement Group, Netherlands; Delft University of Technology, Netherlands)
Info

Behavior and Runtime Analysis
Thu, Mar 22, 10:30 - 11:30, Room 2

Maintaining Behaviour Driven Development Specifications: Challenges and Opportunities
Leonard Peter Binamungu, Suzanne M. Embury, and Nikolaos Konstantinou
(University of Manchester, UK)
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
(Eindhoven University of Technology, Netherlands)

Design Analysis
Thu, Mar 22, 11:45 - 12:45, Aula Magna

Automatically Exploiting Implicit Design Knowledge When Solving the Class Responsibility Assignment Problem
Yongrui Xu, Peng Liang, and Muhammad Ali Babar
(Wuhan University, China; University of Adelaide, Australia)

Defect Prediction
Thu, Mar 22, 11:45 - 12:45, Room 2

Cross-Version Defect Prediction via Hybrid Active Learning with Kernel Principal Component Analysis
Zhou Xu, Jin Liu, Xiapu Luo, and Tao Zhang
(Wuhan University, China; Hong Kong Polytechnic University, China; Harbin Engineering University, China)
Using a Probabilistic Model to Predict Bug Fixes
Mauricio Soto and Claire Le Goues
(Carnegie Mellon University, USA)
Connecting Software Metrics across Versions to Predict Defects
Yibin Liu, Yanhui Li, Jianbo Guo, Yuming Zhou, and Baowen Xu
(Nanjing University, China; Tsinghua University, China)

APIs
Thu, Mar 22, 13:45 - 14:45, Aula Magna

Classifying Stack Overflow Posts on API Issues
Md Ahasanuzzaman, Muhammad Asaduzzaman, Chanchal K. Roy, and Kevin A. Schneider
(Queen's University, Canada; University of Saskatchewan, Canada)
Why and How Java Developers Break APIs
Aline Brito, Laerte Xavier, Andre Hora, and Marco Tulio Valente
(Federal University of Minas Gerais, Brazil; Federal University of Mato Grosso do Sul, Brazil)
Mining Accurate Message Formats for Service APIs
Md Arafat Hossain, Steve Versteeg, Jun Han, Muhammad Ashad Kabir, Jiaojiao Jiang, and Jean-Guy Schneider
(Swinburne University of Technology, Australia; CA Technologies, Australia)

Exploring Code Bases
Thu, Mar 22, 15:00 - 16:00, Aula Magna

Mining Framework Usage Graphs from App Corpora
Sergio Mover, Sriram Sankaranarayanan, Rhys Braginton Pettee Olsen, and Bor-Yuh Evan Chang
(University of Colorado at Boulder, USA)
A Generalized Model for Visualizing Library Popularity, Adoption, and Diffusion within a Software Ecosystem
Raula Gaikovina Kula, Coen De Roover, Daniel M. German, Takashi Ishio, and Katsuro Inoue
(NAIST, Japan; Vrije Universiteit Brussel, Belgium; University of Victoria, Canada; Osaka University, Japan)
Supporting Exploratory Code Search with Differencing and Visualization
Wenjian Liu, Xin Peng, Zhenchang Xing, Junyi Li, Bing Xie, and Wenyun Zhao
(Fudan University, China; Shanghai Institute of Intelligent Electronics and Systems, China; Australian National University, Australia; Peking University, China)
Video Info

Language Models
Thu, Mar 22, 16:30 - 17:15, Aula Magna

Syntax and Sensibility: Using Language Models to Detect and Correct Syntax Errors
Eddie Antonio Santos, Joshua Charles Campbell, Dhvani Patel, Abram Hindle, and José Nelson Amaral
(University of Alberta, Canada)
Info
A Deep Neural Network Language Model with Contexts for Source Code
Anh Tuan Nguyen, Trong Duc Nguyen, Hung Dang Phan, and Tien N. Nguyen
(Iowa State University, USA; University of Texas at Dallas, USA)

Binary Analysis
Thu, Mar 22, 16:30 - 17:15, Room 2

Efficient Features for Function Matching between Binary Executables
Chariton Karamitas and Athanasios Kehagias
(CENSUS, Greece; University of Thessaloniki, Greece)
Using Recurrent Neural Networks for Decompilation
Deborah S. Katz, Jason Ruchti, and Eric Schulte
(Carnegie Mellon University, USA; GrammaTech, USA)

Developers' Collaboration
Fri, Mar 23, 10:30 - 11:30, Aula Magna

How Do Developers Discuss Rationale?
Rana Alkadhi, Manuel Nonnenmacher, Emitza Guzman, and Bernd Bruegge
(TU Munich, Germany; University of Zurich, Switzerland)
Automated Quality Assessment for Crowdsourced Test Reports of Mobile Applications
Xin Chen, He Jiang, Xiaochen Li, Tieke He, and Zhenyu Chen
(Dalian University of Technology, China; Nanjing University, China)

Refactoring
Fri, Mar 23, 11:45 - 12:45, Aula Magna

The Impact of Refactoring Changes on the SZZ Algorithm: An Empirical Study
Edmilson Campos Neto, Daniel Alencar da Costa, and Uirá Kulesza
(Federal University of Rio Grande do Norte, Brazil; Instituto Federal do Rio Grande do Norte, Brazil; Queen's University, Canada)
Info
An Extensible Approach for Taming the Challenges of JavaScript Dead Code Elimination
Niels Groot Obbink, Ivano Malavolta, Gian Luca Scoccia, and Patricia Lago
(VU University Amsterdam, Netherlands; Gran Sasso Science Institute, Italy)
Automated Refactoring of Client-Side JavaScript Code to ES6 Modules
Aikaterini Paltoglou, Vassilis E. Zafeiris, E. A. Giakoumakis, and N. A. Diamantidis
(Athens University of Economics and Business, Greece)

Recommender Systems
Fri, Mar 23, 13:45 - 14:45, Aula Magna

Improving Developers Awareness of the Exception Handling Policy
Taiza Montenegro, Hugo Melo, Roberta Coelho, and Eiji Barbosa
(Federal University of Rio Grande do Norte, Brazil)
Detecting Faulty Empty Cells in Spreadsheets
Liang Xu, Shuo Wang, Wensheng Dou, Bo Yang, Chushu Gao, Jun Wei, and Tao Huang
(University at Chinese Academy of Sciences, China; Institute of Software at Chinese Academy of Sciences, China; North China University of Technology, China)

Software Security
Fri, Mar 23, 15:00 - 16:00, Aula Magna

Detection of Protection-Impacting Changes during Software Evolution
Marc-André Laverdière and Ettore Merlo
(Tata Consultancy Services, Canada; Polytechnique Montréal, Canada)
Mining Sandboxes: Are We There Yet?
Lingfeng Bao, Tien-Duy B. Le, and David Lo
(Singapore Management University, Singapore)
DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding
Zhuobing Han, Xiaohong Li, Hongtao Liu, Zhenchang Xing, and Zhiyong Feng
(Tianjin University, China; Australian National University, Australia)

Journal-First Abstracts

Towards Just-in-Time Suggestions for Log Changes (Journal-First Abstract)
Heng Li, Weiyi Shang, Ying Zou, and Ahmed E. Hassan
(Queen's University, Canada; Concordia University, Canada)
Which Log Level Should Developers Choose for a New Logging Statement? (Journal-First Abstract)
Heng Li, Weiyi Shang, and Ahmed E. Hassan
(Queen's University, Canada; Concordia University, Canada)
A Study of the Relation of Mobile Device Attributes with the User-Perceived Quality of Android Apps (Journal-First Abstract)
Ehsan Noei, Mark D. Syer, Ying Zou, Ahmed E. Hassan, and Iman Keivanloo
(Queen's University, Canada)
How Developers Micro-Optimize Android Apps (Journal-First Abstract)
Mario Linares-Vásquez, Christopher Vendome, Michele Tufano, and Denys Poshyvanyk
(Universidad de los Andes, Colombia; College of William and Mary, USA)
The Relationship between Evolutionary Coupling and Defects in Large Industrial Software (Journal-First Abstract)
Serkan Kirbas, Bora Caglayan, Tracy Hall, Steve Counsell, David Bowes, Alper Sen, and Ayse Bener
(Bloomberg, UK; Boğaziçi University, Turkey; Brunel University London, UK; Ryerson University, Canada; University of Hertfordshire, UK)
A Comparison Framework for Runtime Monitoring Approaches (Journal-First Abstract)
Rick Rabiser, Sam Guinea, Michael Vierhauser, Luciano Baresi, and Paul Grünbacher
(JKU Linz, Austria; Politecnico di Milano, Italy; University of Notre Dame, USA)
Info
Modularity and Architecture of PLC-Based Software for Automated Production Systems: An Analysis in Industrial Companies (Journal-First Abstract)
Birgit Vogel-Heuser, Juliane Fischer, Stefan Feldmann, Sebastian Ulewicz, and Susanne Rösch
(TU Munich, Germany)
A Mapping Study on Design-Time Quality Attributes and Metrics (Journal-First Abstract)
Elvira Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Matthias Galster, and Paris Avgeriou
(University of Groningen, Netherlands; University of Macedonia, Greece; University of Canterbury, New Zealand)
Review Participation in Modern Code Review: An Empirical Study of the Android, Qt, and OpenStack Projects (Journal-First Abstract)
Patanamon Thongtanunam, Shane McIntosh, Ahmed E. Hassan, and Hajimu Iida
(University of Adelaide, Australia; McGill University, Canada; Queen's University, Canada; NAIST, Japan)
Spreadsheet Guardian: An Approach to Protecting Semantic Correctness throughout the Evolution of Spreadsheets (Journal-First Abstract)
Daniel Kulesz, Verena Käfer, and Stefan Wagner
(University of Stuttgart, Germany)

ERA Track
Thu, Mar 22, 13:45 - 14:45, Room 2

Extracting Features from Requirements: Achieving Accuracy and Automation with Neural Networks
Yang Li, Sandro Schulze, and Gunter Saake
(Otto von Guericke University Magdeburg, Germany)
OctoBubbles: A Multi-view Interactive Environment for Concurrent Visualization and Synchronization of UML Models and Code
Rodi Jolak, Khanh-Duy Le, Kaan Burak Sener, and Michel R. V. Chaudron
(Chalmers University of Technology, Sweden; Gothenburg University, Sweden; National Research University, Russia)
A Comparison of Software Engineering Domain Specific Sentiment Analysis Tools
Md. Rakibul Islam and Minhaz F. Zibran
(University of New Orleans, USA)
Generating Descriptions for Screenshots to Assist Crowdsourced Testing
Di Liu, Xiaofang Zhang, Yang Feng, and James A. Jones
(Soochow University, China; University of California at Irvine, USA)
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 Silva, Walter Lucas, and Rodrigo Bonifácio
(University of Brasília, Brazil)
Info

Tool Demos

Mining
Wed, Mar 21, 10:30 - 11:30, Room 2

The Statechart Workbench: Enabling Scalable Software Event Log Analysis using Process Mining
Maikel Leemans, Wil M. P. van der Aalst, and Mark G. J. van den Brand
(Eindhoven University of Technology, Netherlands)
Video Info
APIDiff: Detecting API Breaking Changes
Aline Brito, Laerte Xavier, Andre Hora, and Marco Tulio Valente
(Federal University of Minas Gerais, Brazil; Federal University of Mato Grosso do Sul, Brazil)
LICCA: A Tool for Cross-Language Clone Detection
Tijana Vislavski, Gordana Rakić, Nicolás Cardozo, and Zoran Budimac
(University of Novi Sad, Serbia; Universidad de los Andes, Colombia)
Video Info
GoldRusher: A Miner for Rapid Identification of Hidden Code
Aleieldin Salem
(TU Munich, Germany)

Software Evolution
Wed, Mar 21, 15:00 - 16:00, Room 2

BECLoMA: Augmenting Stack Traces with User Review Information
Lucas Pelloni, Giovanni Grano, Adelina Ciurumelea, Sebastiano Panichella, Fabio Palomba, and Harald C. Gall
(University of Zurich, Switzerland)
Info
Bring Your Own Coding Style
Naoto Ogura, Shinsuke Matsumoto, Hideaki Hata, and Shinji Kusumoto
(Osaka University, Japan; NAIST, Japan)
FINALIsT²: Feature Identification, Localization, and Tracing Tool
Andreas Burger and Sten Grüner
(ABB, Germany)
Video
ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code
Katsuhisa Maruyama, Shinpei Hayashi, and Takayuki Omori
(Ritsumeikan University, Japan; Tokyo Institute of Technology, Japan)
Info
RETICULA: Real-Time Code Quality Assessment
Luigi Frunzio, Bin Lin, Michele Lanza, and Gabriele Bavota
(University of Lugano, Switzerland)

Industry Track

Reengineering
Wed, Mar 21, 11:45 - 12:45, Room 2

Reengineering an Industrial HMI: Approach, Objectives, and Challenges
Bernhard Dorninger, Michael Moser, and Albin Kern
(Software Competence Center Hagenberg, Austria; ENGEL AUSTRIA, Austria)
Model-Based Software Restructuring: Lessons from Cleaning Up COM Interfaces in Industrial Legacy Code
Dennis Dams, Arjan Mooij, Pepijn Kramer, Andrei Rădulescu, and Jaromír Vaňhara
(ESI, Netherlands; TNO, Netherlands; Thermo Fisher Scientific, Netherlands)
Grammatical Inference from Data Exchange Files: An Experiment on Engineering Software
Markus Exler, Michael Moser, Josef Pichler, Günter Fleck, and Bernhard Dorninger
(Software Competence Center Hagenberg, Austria; Siemens, Austria)

Development and Testing
Fri, Mar 23, 11:45 - 12:45, Room 2

Fuzz Testing in Practice: Obstacles and Solutions
Jie Liang, Mingzhe Wang, Yuanliang Chen, Yu Jiang, and Renwei Zhang
(Tsinghua University, China; Huawei, China)
Diggit: Automated Code Review via Software Repository Mining
Robert Chatley and Lawrence Jones
(Imperial College London, UK; GoCardless, UK)

RENE Track

Examining Past Results
Wed, Mar 21, 13:45 - 14:45, Room 2

Duplicate Question Detection in Stack Overflow: A Reproducibility Study
Rodrigo F. G. Silva, Klérisson Paixão, and Marcelo de Almeida Maia
(Federal University of Uberlândia, Brazil)
How Do Scientists Develop Scientific Software? An External Replication
Gustavo Pinto, Igor Wiese, and Luiz Felipe Dias
(Federal University of Pará, Brazil; Federal University of Technology Paraná, Brazil; University of São Paulo, Brazil)
Re-evaluating Method-Level Bug Prediction
Luca Pascarella, Fabio Palomba, and Alberto Bacchelli
(Delft University of Technology, Netherlands; University of Zurich, Switzerland)

Code Smells
Fri, Mar 23, 10:30 - 11:30, Room 2

Keep It Simple: Is Deep Learning Good for Linguistic Smell Detection?
Sarah Fakhoury, Venera Arnaoudova, Cedric Noiseux, Foutse Khomh, and Giuliano Antoniol
(Washington State University, USA; Polytechnique Montréal, Canada)
Detecting Code Smells using Machine Learning Techniques: Are We There Yet?
Dario Di Nucci, Fabio Palomba, Damian A. Tamburri, Alexander Serebrenik, and Andrea De Lucia
(University of Salerno, Italy; Vrije Universiteit Brussel, Belgium; University of Zurich, Switzerland; Eindhoven University of Technology, Netherlands)
Info

proc time: 0.1