2015 IEEE
15th International Working Conference on Source Code Analysis
and Manipulation (SCAM)
Proceedings
Michael Godfrey, David Lo, and Foutse Khomh
September 27-28, 2015 Bremen, Germany
Sponsors: IEEE, IEEE Computer Society, TCSE,
Grammatech, Microsoft Research
2015 IEEE 15th International Working Conference on Source Code Analysis and Manipulation (SCAM)
IEEE Catalog Number: CFP15SRC-ART ISBN: 978-1-4673-7529-0
Copyright and Reprint Permission:
Abstracting is permitted with credit to the source. Libraries are permitted to photocopy beyond the limit of U.S.
copyright law for private use of patrons those articles in this volume that carry a code at the bottom of the first page, provided the per-copy fee indicated in the code is paid through Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923. For other copying, reprint or republication permission, write to IEEE Copyrights Manager, IEEE Operations Center, 445 Hoes Lane, P.O. Box 1331, Piscataway, NJ 08855-1331.
All rights reserved.
Copyright c 2015 by the Institute of Electrical and Electronics Engineers
Production:
Conference Publishing Consulting, D-94034 Passau, Germany
info@conference-publishing.com
Contents
Frontmatter
Message from the Chairs . . . iii
Main Research
Empirical Studies I
ORBS and the Limits of Static Slicing
David Binkley, Nicolas Gold, Mark Harman, Syed Islam, Jens Krinke, and Shin Yoo —Loyola University Maryland, USA; University College London, UK; University of East London, UK; KAIST, South Korea . . . 1 Intent, Tests, and Release Dependencies: Pragmatic Recipes for Source Code Integration
Martin Brandtner, Philipp Leitner, and Harald C. Gall —University of Zurich, Switzerland. . . 11 The Use of C++ Exception Handling Constructs: A Comprehensive Study
Rodrigo Bonifácio, Fausto Carvalho, Guilherme N. Ramos, Uirá Kulesza, and Roberta Coelho —University of Brasília, Brazil; Federal University of Rio Grande do Norte, Brazil . . . 21 Multi-layer Software Configuration: Empirical Study on Wordpress
Mohammed Sayagh and Bram Adams —Polytechnique Montréal, Canada. . . 31
Code Search and Navigation
Can the Use of Types and Query Expansion Help Improve Large-Scale Code Search?
Otávio Augusto Lazzarini Lemos, Adriano Carvalho de Paula, Hitesh Sajnani, and Cristina V. Lopes —Federal University of São Paulo, Brazil; University of California at Irvine, USA . . . 41 Using Changeset Descriptions as a Data Source to Assist Feature Location
Muslim Chochlov, Michael English, and Jim Buckley —University of Limerick, Ireland . . . 51 Automatically Identifying Focal Methods under Test in Unit Test Cases
Mohammad Ghafari, Carlo Ghezzi, and Konstantin Rubinov —Politecnico di Milano, Italy; National University of Singapore, Singapore . . . 61 Navigating Source Code with Words
Dawn Lawrie and David Binkley —Loyola University Maryland, USA . . . 71 Recommending Insightful Comments for Source Code using Crowdsourced Knowledge
Mohammad Masudur Rahman, Chanchal K. Roy, and Iman Keivanloo —University of Saskatchewan, Canada; Queen’s University, Canada . . . 81
Static Analysis
Checking C++ Codes for Compatibility with Operator Overloading
Alexander Hück, Christian Bischof, and Jean Utke —TU Darmstadt, Germany; Allstate Insurance Company, USA . 91 Detecting Function Purity in JavaScript
Jens Nicolay, Carlos Noguera, Coen De Roover, and Wolfgang De Meuter —Vrije Universiteit Brussel, Belgium . . 101 Data Tainting and Obfuscation: Improving Plausibility of Incorrect Taint
Sandrine Blazy, Stéphanie Riaud, and Thomas Sirvent —University of Rennes 1, France; DGA, France . . . 111 A Grammar for Spreadsheet Formulas Evaluated on Two Large Datasets
Efthimia Aivaloglou, David Hoepelman, and Felienne Hermans —Delft University of Technology, Netherlands . . . 121
Empirical Studies II
The Impact of Cross-Distribution Bug Duplicates, Empirical Study on Debian and Ubuntu
Vincent Boisselle and Bram Adams —Polytechnique Montréal, Canada . . . 131 Cumulative Code Churn: Impact on Maintainability
Csaba Faragó, Péter Heged˝us, and Rudolf Ferenc —University of Szeged, Hungary . . . 141
vii
How Do Java Methods Grow?
Daniela Steidl and Florian Deissenboeck —CQSE, Germany . . . 151
(Code, Memory, Performance) Smells
On the Comprehension of Code Clone Visualizations: A Controlled Study using Eye Tracking
Md Sami Uddin, Varun Gaur, Carl Gutwin, and Chanchal K. Roy —University of Saskatchewan, Canada . . . 161 When Code Smells Twice as Much: Metric-Based Detection of Variability-Aware Code Smells
Wolfram Fenske, Sandro Schulze, Daniel Meyer, and Gunter Saake —University of Magdeburg, Germany; TU Braun- schweig, Germany . . . 171 LeakTracer: Tracing Leaks along the Way
Hengyang Yu, Xiaohua Shi, and Wei Feng —Beihang University, China . . . 181 Automated Memory Leak Diagnosis by Regression Testing
Mohammadreza Ghanavati and Artur Andrzejak —University of Heidelberg, Germany . . . 191 Automating the Performance Deviation Analysis for Multiple System Releases: An Evolutionary Study
Felipe Pinto, Uirá Kulesza, and Christoph Treude —Federal University of Rio Grande do Norte, Brazil . . . 201
Code and API Transformation
From Preprocessor-Constrained Parse Graphs to Preprocessor-Constrained Control Flow
Dierk Lüdemann and Rainer Koschke —University of Bremen, Germany . . . 211 Recording and Replaying System Specific, Source Code Transformations
Gustavo Santos, Anne Etien, Nicolas Anquetil, Stéphane Ducasse, and Marco Tulio Valente —INRIA, France; Federal University of Minas Gerais, Brazil . . . 221 Discovering Likely Mappings between APIs using Text Mining
Rahul Pandita, Raoul Praful Jetley, Sithu D Sudarsan, and Laurie Williams —North Carolina State University, USA;
ABB Corporate Research, India . . . 231
Tool Demos
SimNav: Simulink Navigation of Model Clone Classes
Eric J. Rapos, Andrew Stevenson, Manar H. Alalfi, and James R. Cordy —Queen’s University, Canada . . . 241 A Translation Validation Framework for Symbolic Value Propagation Based Equivalence Checking of FSMDAs
Kunal Banerjee, Chittaranjan Mandal, and Dipankar Sarkar —IIT Kharagpur, India . . . 247 FaultBuster: An Automatic Code Smell Refactoring Toolset
Gábor Sz˝oke, Csaba Nagy, Lajos Jeno Fulop, Rudolf Ferenc, and Tibor Gyimóthy —University of Szeged, Hungary 253 Improving Prioritization of Software Weaknesses using Security Models with AVUS
Stephan Renatus, Corrie Bartelheimer, and Jörn Eichler —Fraunhofer AISEC, Germany. . . 259 A Static Microcode Analysis Tool for Programmable Load Drivers
Luca Dariz, Massimiliano Ruggeri, and Michele Selvatici —IMAMOTER - CNR, Italy. . . 265 CodeMetropolis: Eclipse over the City of Source Code
Gerg˝o Balogh, Attila Szabolics, and Árpád Beszédes —University of Szeged, Hungary . . . 271
Author Index . . . 277
Author Index
Adams, Bram . . . 31, 131
Aivaloglou, Efthimia . . . 121
Alalfi, Manar H. . . 241
Andrzejak, Artur . . . .191
Anquetil, Nicolas . . . 221
Balogh, Gerg ˝o . . . 271
Banerjee, Kunal . . . 247
Bartelheimer, Corrie . . . 259
Beszédes, Árpád . . . .271
Binkley, David . . . .1, 71 Bischof, Christian . . . 91
Blazy, Sandrine . . . 111
Boisselle, Vincent . . . 131
Bonifácio, Rodrigo . . . 21
Brandtner, Martin . . . 11
Buckley, Jim . . . 51
Carvalho, Fausto . . . 21
Chochlov, Muslim . . . 51
Coelho, Roberta . . . 21
Cordy, James R. . . 241
Dariz, Luca . . . 265
Deissenboeck, Florian . . . 151
De Meuter, Wolfgang . . . 101
De Paula, Adriano Carvalho . . . 41
De Roover, Coen . . . .101
Ducasse, Stéphane . . . 221
Eichler, Jörn . . . 259
English, Michael . . . 51
Etien, Anne . . . 221
Faragó, Csaba . . . 141
Feng, Wei . . . 181
Fenske, Wolfram . . . 171
Ferenc, Rudolf . . . 141, 253 Fulop, Lajos Jeno . . . 253
Gall, Harald C. . . 11
Gaur, Varun . . . 161
Ghafari, Mohammad . . . 61
Ghanavati, Mohammadreza . . 191
Ghezzi, Carlo . . . 61
Gold, Nicolas . . . 1
Gutwin, Carl . . . 161
Gyimóthy, Tibor . . . 253
Harman, Mark . . . 1
Heged ˝us, Péter . . . 141
Hermans, Felienne . . . 121
Hoepelman, David . . . 121
Hück, Alexander . . . 91
Islam, Syed . . . 1
Jetley, Raoul Praful . . . 231
Keivanloo, Iman . . . 81
Koschke, Rainer . . . 211
Krinke, Jens . . . 1
Kulesza, Uirá . . . 21, 201 Lawrie, Dawn . . . 71
Leitner, Philipp . . . 11
Lemos, Otávio Augusto Lazzarini 41 Lopes, Cristina V. . . 41
Lüdemann, Dierk . . . .211
Mandal, Chittaranjan . . . 247
Meyer, Daniel . . . 171
Nagy, Csaba . . . 253
Nicolay, Jens . . . 101
Noguera, Carlos . . . 101
Pandita, Rahul . . . 231
Pinto, Felipe . . . 201
Rahman, Mohammad Masudur 81 Ramos, Guilherme N. . . 21
Rapos, Eric J. . . 241
Renatus, Stephan . . . 259
Riaud, Stéphanie . . . 111
Roy, Chanchal K. . . 81, 161 Rubinov, Konstantin . . . 61
Ruggeri, Massimiliano . . . 265
Saake, Gunter . . . 171
Sajnani, Hitesh . . . 41
Santos, Gustavo . . . 221
Sarkar, Dipankar . . . 247
Sayagh, Mohammed . . . 31
Schulze, Sandro . . . 171
Selvatici, Michele . . . 265
Shi, Xiaohua . . . 181
Sirvent, Thomas . . . 111
Steidl, Daniela . . . 151
Stevenson, Andrew . . . 241
Sudarsan, Sithu D . . . 231
Szabolics, Attila . . . 271
Sz ˝oke, Gábor . . . 253
Treude, Christoph . . . 201
Uddin, Md Sami . . . 161
Utke, Jean . . . 91
Valente, Marco Tulio . . . 221
Williams, Laurie . . . 231
Yoo, Shin . . . 1
Yu, Hengyang . . . 181
277