Madrid
Madrid
Madrid
Madrid

Welcome to SCAM'18!

SCAM 2018 will be held in Madrid, Spain co-located with ICSME 2018.

The aim of the International Working Conference on Source Code Analysis & Manipulation (SCAM) is to bring together researchers and practitioners working on theory, techniques and applications which concern analysis and/or manipulation of the source code of computer systems. While much attention in the wider software engineering community is properly directed towards other aspects of systems development and evolution, such as specification, design and requirements engineering, it is the source code that contains the only precise description of the behaviour of the system. The analysis and manipulation of source code thus remains a pressing concern.

Definition of ‘Source Code’

For the purpose of clarity ‘source code’ is taken to mean any fully executable description of a software system. It is therefore so-construed as to include machine code, very high level languages and executable graphical representations of systems. The term ‘analysis’ is taken to mean any automated or semi automated procedure which takes source code and yields insight into its meaning. The term ‘manipulation’ is taken to mean any automated or semi-automated procedure which takes and returns source code.

Keynote

Prof. Mark Harman and Prof. Peter O'Hearn from Facebook, Inc. & University College London will give the following outstanding keynote at SCAM'18:

From Start-ups to Scale-ups: Open Problems, Challenges and Myths in
Static and Dynamic Program Analysis for Testing and Verification

Please check back later for updates, and follow us on Twitter to keep informed.

Accepted Papers

Research Track

  • Gábor Antal, Péter Hegedűs, Zoltán Tóth, Rudolf Ferenc and Tibor Gyimóthy. Static JavaScript Call Graphs: a Comparative Study
  • Michael J. Decker, Christian D. Newman, Natalia Dragan, Michael L. Collard, Jonathan I. Maletic and Nicholas A. Kraft. Which Method-Stereotype Changes are Indicators of Code Smells?
  • J. Andres Diaz-Pace, Antonela Tommasel and Daniela Godoy. Towards Anticipation of Architectural Smells using Link Prediction Techniques
  • Renate Eilers, Jurriaan Hage, Wishnu Prasetya and Joost Bosman. Fine-Grained Model Slicing for Rebel
  • Serge Guelton, Adrien Guinet, Pierrick Brunet, Juan Manuel Martinez, Fabien Dagnat and Nicolas Szlifierski. Combining Obfuscation and Optimizations in the Real World
  • Md. Anaytul Islam, Md. Moksedul Islam, Manishankar Mondal, Banani Roy, Chanchal K Roy and Kevin A. Schneider. Detecting Evolutionary Coupling Using Transitive Association Rules
  • Renhe Jiang, Zhengzhao Chen, Zejun Zhang, Yu Pei, Minxue Pan and Tian Zhang. Semantics-Based Code Search Using Input/Output Examples
  • Seldağ Özcan Kini and Ayşe Tosun. Periodic Developer Metrics in Software Defect Prediction
  • Eric Larson. Automatic Checking of Regular Expressions
  • Kawser Wazed Nafi, Banani Roy, Chanchal K. Roy and Kevin A. Schneider. CroLSim: Cross Language Software Similarity Detector using API documentation
  • Golam Mostaeen, Jeffrey Svajlenko, Banani Roy, Chanchal K. Roy and Kevin A. Schneider. On the Use of Machine Learning Techniques Towards the Design of Cloud Based Automatic Code Clone Validation Tools
  • Ward Muylaert and Coen De Roover. Untangling Composite Commits Using Program Slicing
  • Davide Pizzolotto and Mariano Ceccato. Obfuscating Java Programs by Translating Selected Portions of Bytecode to Native Libraries
  • Sydney Pugh, Dave Binkley and Leon Moonen. The Case for Adaptive Change Recommendation
  • Yoshitaka Sakurai, Yoshitaka Arahori and Katsuhiko Gondow. POI: Skew-Aware Parallel Race Detection
  • Darius Sas, Marco Bessi and Francesca Fontana Arcelli. Automatic Detection of Sources and Sinks in Arbitrary Java Libraries

Engineering Track

  • Kamel Alrashedy, Dhanush Dharmaretnam, Daniel M German, Venkatesh Srinivasan and T. Aaron Gulliver. SCC: Automatic Classification of Code Snippets
  • Muslim Chochlov, Michael English, Jim Buckley, Daniel Ilie and Maria Scanlon. Identifying Feature Clones in a Suite of Systems
  • Valerio Cosentino, Santiago Dueñas, Ahmed Zerouali, Gregorio Robles, Jesus M. Gonzalez-Barahona. Graal: The Quest for Source Code Knowledge
  • Rokiatou Diarra, Alain Merigot and Bastien Vincke RECKA and RPromF: two Frama-C Plug-ins for Optimizing Registers usage in CUDA, OpenACC and OpenMP Programs
  • Gábor Horváth, Péter Szécsi, Zoltán Gera, Daniel Krupp and Norbert Pataki. Challenges of Implementing Cross Translation Unit Analysis in Clang Static Analyzer
  • Matthieu Jimenez, Yves Le Traon and Mike Papadakis. Enabling the Continous Analysis of Security Vulnerabilities with VulData7
  • Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh and Syed Ahmed. A Tool for Optimizing Java 8 Stream Software via Automated Refactoring
  • Rainer Koschke, Urs-Björn Schmidt and Bernhard Berger. Built-in Clone Detection in Meta Languages
  • Sandro Schulze and Wolfram Fenske. Analyzing the Evolution of Preprocessor-Based Variability: A Tale of a Thousand and One Scripts
  • David Shepherd, Patrick Francis, David Weintrop, Diana Franklin, Boyang Li and Afsoon Afzal. An IDE for Easy Programming of Simple Robotics Tasks

To be finalized...

Program

Click here for further information about the presentations and the conference format.

Sunday, September 23
9:00 - 9:15 Conference Opening
9:15 - 10:30 Keynote: From Start-ups to Scale-ups: Opportunities and Open Problems for Static and Dynamic Program Analysis Prof. Mark Harman and Prof. Peter O'Hearn Session Chair: Árpád Beszédes
10:30 - 11:00 Break
11:00 - 12:30 Session 1: Code Manipulation Session Chair: Chanchal Roy
Combining Obfuscation and Optimizations in the Real World Serge Guelton, Adrien Guinet, Pierrick Brunet, Juan Manuel Martinez, Fabien Dagnat and Nicolas Szlifierski
A Tool for Optimizing Java 8 Stream Software via Automated Refactoring Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh and Syed Ahmed
Obfuscating Java Programs by Translating Selected Portions of Bytecode to Native Libraries Davide Pizzolotto and Mariano Ceccato
Analyzing the Evolution of Preprocessor-Based Variability: A Tale of a Thousand and One Scripts Sandro Schulze and Wolfram Fenske
12:30 - 14:00 Lunch
14:00 - 15:30 Session 2: Vulnerabilities, Defects and Smells Session Chair: Sandro Schulze
Enabling the Continuous Analysis of Security Vulnerabilities with VulData7 Matthieu Jimenez, Yves Le Traon and Mike Papadakis
Towards Anticipation of Architectural Smells using Link Prediction Techniques Jorge Andres Díaz-Pace, Antonela Tommasel and Daniela Godoy
Periodic Developer Metrics in Software Defect Prediction Seldag Ozcan Kini and Ayse Tosun
Which Method-Stereotype Changes are Indicators of Code Smells? Michael J. Decker, Christian D. Newman, Natalia Dragan, Michael L. Collard, Jonathan I. Maletic and Nicholas A. Kraft
15:30 - 16:00 Break
16:00 - 17:30 Session 3: Search and Fact Extraction Session Chair: Davide Spadini
Semantics-Based Code Search Using Input/Output Examples Renhe Jiang, Zhengzhao Chen, Zejun Zhang, Yu Pei, Minxue Pan and Tian Zhang
Automatic Detection of Sources and Sinks in Arbitrary Java Libraries Darius Sas, Marco Bessi and Francesca Arcelli Fontana
Detecting Evolutionary Coupling Using Transitive Association Rules Md. Anaytul Islam, Md. Moksedul Islam, Manishankar Mondal, Banani Roy, Chanchal K. Roy and Kevin A. Schneider
Graal: The Quest for Source Code Knowledge Valerio Cosentino, Santiago Dueñas, Ahmed Zerouali, Gregorio Robles and Jesus M. Gonzalez-Barahona
The Case for Adaptive Change Recommendation Sydney Pugh, Dave Binkley and Leon Moonen
18:30 - Conference Banquet
Monday, September 24
9:00 - 10:30 Session 4: Clones Session Chair: David Shepherd
CroLSim: Cross Language Software Similarity Detector using API Documentation Kawser Wazed Nafi, Banani Roy, Chanchal K. Roy and Kevin A. Schneider
Identifying Feature Clones in a Suite of Systems Muslim Chochlov, Michael English, Jim Buckley, Daniel Ilie and Maria Scanlon
On the Use of Machine Learning Techniques Towards the Design of Cloud Based Automatic Code Clone Validation Tools Golam Mostaeen, Jeffrey Svajlenko, Banani Roy, Chanchal K. Roy and Kevin A. Schneider
Built-in Clone Detection in Meta Languages Rainer Koschke, Urs-Björn Schmidt and Bernhard Berger
10:30 - 11:00 Break
11:00 - 12:30 Session 5: Static Analysis Session Chair: Jochen Quante
Challenges of Implementing Cross Translation Unit Analysis in Clang Static Analyzer Gábor Horváth, Péter Szécsi, Zoltán Gera, Daniel Krupp and Norbert Pataki
Static JavaScript Call Graphs: A Comparative Study Gábor Antal, Péter Hegedűs, Zoltán Tóth, Rudolf Ferenc and Tibor Gyimóthy
RECKA and RPromF: Two Frama-C Plug-ins for Optimizing Registers usage in CUDA, OpenACC and OpenMP Programs Rokiatou Diarra, Alain Mérigot and Bastien Vincke
Untangling Composite Commits Using Program Slicing Ward Muylaert and Coen De Roover
12:30 - 14:00 Lunch
14:00 - 15:00 Session 6: Code Classify and Translate Session Chair: Alexander Serebrenik
SCC: Automatic Classification of Code Snippets Kamel Alrashedy, Dhanush Dharmaretnam, Daniel M. German, Venkatesh Srinivasan and T. Aaron Gulliver
An IDE for Easy Programming of Simple Robotics Tasks David Shepherd, Patrick Francis, David Weintrop, Diana Franklin, Boyang Li and Afsoon Afzal
15:00 - 15:30 Session 7: Demos Session Chair: Johan Fabry
15:30 - 16:00 Break
16:00 - 17:30 Session 8: Verification and Error Detection Session Chair: Coen De Roover
POI: Skew-Aware Parallel Race Detection Yoshitaka Sakurai, Yoshitaka Arahori and Katsuhiko Gondow
Automatic Checking of Regular Expressions Eric Larson
Fine-Grained Model Slicing for Rebel Renate Eilers, Jurriaan Hage, Wishnu Prasetya and Joost Bosman
17:30 - 17:45 Closing
17:45 - 18:30 Open Steering Committee Session Chair: Neil Ernst
18:30 - Social Event (fraternity activity with VISSOFT)

Conference Format

SCAM 2018 will follow the working conference format that is meant to stimulate thought-provoking discussions by keeping presentations short and focused, while reserving 30 minutes at the end of each session for a plenary discussion about the session's topic.

Presentations in both tracks must therefore respect a time limit of 15 minutes. There will be 3 minutes of time for one or two clarification questions after each presentation. Longer questions will be postponed till the end of the session, at which point all presenters are invited to the front of the room again.

The session chair will help respect the time limits, and will manage discussion and questions from the audience. The list of session chairs is available here

If you have further questions, please do not hesitate to contact the program chairs

sli.do

We will use sli.do to organize the discussion and questions. Event codes will be available soon.

You can use the web app to join the conversation. Sli.do is also available from your favorite app store.

Keynote

From Start-ups to Scale-ups: Opportunities and Open Problems for Static and Dynamic Program Analysis

Abstract: This paper describes some of the challenges and opportunities when deploying static and dynamic analysis at scale, drawing on the authors’ experience with the Infer and Sapienz Technologies at Facebook, each of which started life as a research-led start-up that was subsequently deployed at scale, impacting billions of people worldwide.

The paper identifies open problems that have yet to receive significant attention from the scientific community, yet which have potential for profound real world impact, formulating these as research questions that, we believe, are ripe for exploration and that would make excellent topics for research projects.

Bio: Peter O’Hearn is a computer scientist who has made major contributions to the science and engineering of program correctness. His research contains a strand stretching from abstract topics such as mathematical logics through to automated analysis of industrial software used regularly by billions of people. Peter is known particularly for separation logic, a theory he developed with John Reynolds which opened up new possibilities for scaling logical reasoning about code. After over 20 years as an academic, Peter took a position at Facebook in 2013 with the acquisition of a startup he cofounded, Monoidics Ltd. The Infer static analyzer, developed by Peter’s team, has resulted in tens of thousands of issues being fixed by Facebook engineers before they reach production. Infer is also used at Amazon, Spotify, Mozilla and other companies. Peter is a Fellow of the Royal Society (2018), a Fellow of the Royal Academy of Engineering (2016) and is the recipient of a number of awards, including a POPL influential paper award (2011), the Computer Aided Verification Award (2016) and the Gödel Prize (2016).

Bio: Mark Harman is an engineering manager at Facebook London, where he manages a team, working on Search Based Software Engineering (SBSE) at Facebook Scale. He is also a part time professor of Software Engineering in the Department of Computer Science at University College London, where he directed the CREST centre for ten years (2006-2017) and was Head of Software Systems Engineering (2012-2017). He is known for work on source code analysis, software testing, app store analysis and empirical software engineering. He was the co-founder of the field SBSE, which has grown rapidly with over 1,700 scientific publications from authors spread over more than 40 countries. SBSE research and practice is now the primary focus of his current work in both the industrial and scientific communities. In addition to Facebook itself, Mark’s SBSE scientific work is also supported by the ERC and EPSRC funding councils, and his teams at Facebook and at UCL are both now hiring (that is they were at the time of writing, and very likely still are as you read this). The Facebook team is looking for practical software engineers and the UCL team is looking for PhD students to work on research in automatically testing and fixing software.

Call for Research Track Papers

The 18th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2018) aims to bring together researchers and practitioners working on theory, techniques, and applications that concern analysis and/or manipulation of the source code of software systems. The term "source code" refers to any fully executable description of a software system, such as machine code, (very) high-level languages, and executable graphical representations of systems. The term "analysis" refers to any (semi-)automated procedure that yields insight into source code, while "manipulation" refers to any automated or semi-automated procedure that takes and returns source code. While much attention in the wider software engineering community is directed towards other aspects of systems development and evolution, such as specification, design, and requirements engineering, it is the source code that contains the only precise description of the behavior of a system. Hence, the analysis and manipulation of source code remains a pressing concern for which SCAM 2018 solicits high quality paper submissions.

Covered Topics and Paper Formats

We welcome submission of papers that describe original and significant work in the field of source code analysis and manipulation. Topics of interest include, but are not limited to:

  • program transformation and refactoring
  • static and dynamic analysis
  • natural language analysis of source code artifacts
  • repository, revision, and change analysis
  • source level metrics
  • decompilation
  • bug location and prediction
  • security vulnerability analysis
  • source-level testing and verification
  • clone detection
  • concern, concept, and feature localization and mining
  • program comprehension
  • bad smell detection
  • abstract interpretation
  • program slicing
  • source level optimization
  • energy efficient source code

SCAM explicitly solicits results from any theoretical or technological domain that can be applied to these and similar topics. Submitted papers should describe original, unpublished, and significant work and must not have been previously accepted for publication nor be concurrently submitted for review in another journal, book, conference, or workshop. Papers must not exceed 10 pages including all text, references, appendices and figures and must conform to the IEEE proceedings paper format guidelines and must be clearly marked as a research paper. Templates in Latex and Word are available on IEEE's website. All submissions must be in English.

The papers should be submitted electronically in PDF format via EasyChair. Submission will be reviewed by at least three members of the program committee, judging the paper on its novelty, quality, importance, evaluation, and scientific rigor. If the paper is accepted, at least one author must attend the conference and present the paper.

SCAM 2018 also features an engineering paper track for papers that report on the design and implementation of tools for source code analysis and manipulation.

Proceedings

All accepted papers will appear in the proceedings which will be available through the IEEE Digital Library.

Special Issue

A set of the best papers from SCAM 2018 will be invited to be considered for revision, extension, and publication in a special issue of Journal of Systems and Software.

Important Dates for Research Papers

  • Abstract Deadline: June 8, 2018, AoE (23:59:59) (Closed)
  • Paper Deadline: June 15, 2018, AoE (23:59:59) (Closed)
  • Notification: July 9, 2018, AoE (23:59:59)
  • Camera Ready Deadline: Aug 13, 2018, AoE (23:59:59)

Call for Engineering Track Papers

In addition to the research track (see separate CFP), the 18th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2018) will also feature an Engineering track. This track welcomes six-page papers that report on the design and implementation of tools for source code analysis and manipulation, as well as libraries, infrastructure, and the real world studies enabled by these advances. To be clear, this is not the addition of a new track to SCAM but rather a significant expansion to the scope of the tools track of previous SCAMs.

What artefacts qualify as “engineering track” material?

  • tools: software (or hardware!) programs that facilitate SCAMmy activities.
  • libraries: reusable API-enabled frameworks for the above.
  • infrastructure: while libraries are purely software, infrastructure can include projects that provide/facilitate access to data and analysis.
  • data: reusable datasets for other researchers to replicated and innovate with.
  • real world studies enabled by these advances. Here the focus is on how the {tool,infrastructure, etc} enabled the study, and not so much the study itself. The novelty of the research question is less important than the engineering challenges faced in the study.

A successful SCAM engineering track paper should:

  1. Fall under the topics mentioned for the SCAM 2018 research track.
  2. Discuss engineering work artefacts that have NOT been published before. However, previous work involving the tool, but for which the tool was not the main contribution, are acceptable.
  3. Motivate the use cases (and hence the existence) of the engineering work.
  4. Relate the engineering project to earlier work, if any.
  5. Describe the experiences gained in developing this contribution.

Optionally (and encouraged):

  1. Any empirical results or user feedback is welcome.
  2. Contain the URL of a website where the tool/library/data etcetera can be downloaded, together with example data and clear installation guidelines, preferably but not necessarily open source.
  3. Contain the URL to a video demonstrating the usage of the contribution.

Note that the submission length has a limit of six pages, in contrast to the two to four pages of traditional tool demo papers. The expectation is that authors use the space to discuss artefact motivation, design, and use cases in much more detail. For example, a use case would be well illustrated by a demo scenario with screenshots.

Each submission will be reviewed by members of the engineering track program committee. Authors of accepted papers will be required to present their artefacts at the conference. All accepted engineering track papers will be published in the conference proceedings. The key criterion for acceptance is that the paper should (a) follow the above mentioned guidelines and (b) make an original contribution that can benefit practitioners in the field now and/or others designing and building artefacts for source code analysis and manipulation. The artefacts can range from an early research prototype to a polished product ready for deployment. Papers about commercial products are allowed, as long as the guidelines described above are followed.

Videos and other demo material may be taken into account by reviewers as they review the paper. However, such material will not become part of the permanent record of the conference, so the paper should be self contained. In order to preserve the anonymity of the reviewers, such material should be hosted on an anonymous public source (e.g., Tube), or made available in such a way that the tools chair can download them once and redistribute them to reviewers

Proceedings

All accepted papers will appear in the proceedings which will be published by the IEEE Computer Society Press.

Special Issue

A set of the best papers from SCAM 2018 will be invited to be considered for revision, extension, and publication in a special issue of Journal of Systems and Software.

Important Dates

  • Abstract Deadline: June 8, 2018, AoE (23:59:59) (Closed)
  • Paper Deadline: June 15, 2018, AoE (23:59:59) (Closed)
  • Notification: July 9, 2018, AoE (23:59:59)
  • Camera Ready Deadline: Aug 13, 2018, AoE (23:59:59)
  • Conference: Sep 23-24, 2018, AoE (23:59:59)

Submission

The submission should be maximum six pages, in IEEE format, submitted via EasyChair. Please use the IEEE templates in preparing your manuscripts:

Research Track

Chairs
Members

SCAM Steering Committee

Charter

The International Working Conference on Source Code Analysis & Manipulation (SCAM) is governed by the steering committee following a community ratified steering committee charter (v1.2, adopted in 2012).

Madrid

Madrid, Spain

Madrid is the capital and largest city of Spain, as well as the capital of the autonomous community of the same name (Comunidad de Madrid). The population of the city is roughly 3.3 million with a metro area population of almost 6.5 million. Madrid is best known for its great cultural and artistic heritage, a good example of which is the El Prado museum (a detailed travel guide can be found here). Madrid also boasts some of the liveliest nightlife in the world.

Venue

SCAM 2018 will take place at the main venue, Círculo de Bellas Artes, in room Sala Valle Inclán, on the 5th floor.

More info via ICSME

Visa Information

Foreign citizens must obtain a Spanish visa before entry into Spain, with the exception of visa-free entry based on relevant agreements or regulations. Please contact ICSME organizers if you need a visa letter.

More info via ICSME

Coffee Breaks

Coffee breaks will be in the terrace of Fábula, just opposite to the Círculo de Bellas Artes.

More info via ICSME

Lunches

Lunch will be served in the Las Bóvedas de Cibeles Restaurant, crossing Alcaláa street.

More info via ICSME

Conference Banquet

Dinner will be served in Taberna de Antonio Sánchez, on the Calle del Mesón de Paredes street, just a 15 minute walk away from the main venue.

Fraternity Session

The fraternity activities will take place in Museo del Jamón, on the Calle Gran Vía street.

Sponsorship Opportunities

What is SCAM?

  • Flagship gathering of the source code analysis community
  • Attended by a focused gathering of 50 to 80 members of academia, industry, and government
  • Professional development: keynotes by field leaders, latest research, engineering track

Benefits to Supporters

  • Excellent recruiting venue for highly qualified software engineers
  • Invitation to Social Gatherings
  • Organization's logo on SCAM publicity materials including:
    • Conference website, proceedings, and program
    • Signage and banners at the conference
  • Provide corporate information to attendees

Support Level Opportunities

  • Three levels of support:
    • Silver
    • Gold
    • Platinum
  • Sponsorship can be associated with a specific conference activity.

Banquet Address

  • An opportunity at the conference banquet to give a brief introduction to your company.
Level Social Functions Conference Passes Logo on Publicity Gift in the Bag Banquet Address
Platinum 3
Gold 2
Silver 1

For further information, please contact the general chair, Árpád Beszédes, University of Szeged