• 6th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis (SOAP @ PLDI '17)


    Static and dynamic analysis techniques and tools for Java and other programming languages have received widespread attention for a long time. The application domains of these analyses range from core libraries to modern technologies such as web services and Android applications. Over time, analysis frameworks, such as Soot, WALA, Chord, DOOP, and Soufflé, have been developed to better support techniques for optimizing programs, ensuring code quality, and assessing security and compliance.

    Sponsored by ACM SIGPLAN, the Soot community brought together its members and other researchers by organizing the International Workshop on the State Of the Art in Java Program Analysis (SOAP), since 2012 in conjunction with PLDI. The presentations and discussions have helped share new developments and shape new innovations in program analysis. SOAP 2017 will enhance that positive experience with a broadened scope to also emphasize other analysis tools than Soot and other programming languages than Java.

    For SOAP 2017, we invite contributions and inspirations from researchers and practitioners working with program analysis. We are particularly interested in exciting analysis framework ideas, innovative designs, and analysis techniques, including preliminary results of work in progress. We will also focus on the state of the practice for program analysis by encouraging submissions by industrial participants. We want to see your tools – tool demonstration submissions are encouraged. The workshop agenda will continue its tradition of lively discussions on extensions of existing frameworks, development of new analyses and tools, and how program analysis is used in real-world scenarios.

    The workshop will take one day and will feature invited talks by leading members of the program analysis community, presentations of all accepted refereed papers, and time for open discussion.

    Important Dates

    • Submissions: March 15, 2017
    • Notification: April 13, 2017
    • Camera-ready: April 27, 2017
    • Workshop date: June 18, 2017


    Submissions should be four to six-page papers in ACM sig-alternate style. Possible submissions include, but are not limited to:

    • A report on a novel implementation of a program analysis, with a focus on practical details or optimization techniques for obtaining precision and performance.
    • A new research tool, data, and other artifacts, that showcase early implementations of novel program analysis concepts, as well as mature prototypes.
    • A description of a new analysis component, for example, front-ends or abstract domains.
    • A report describing an innovative tool built on top of an existing framework.
    • A compelling use case for a feature that is not yet supported by existing analysis tools, with good examples and an informal design of the proposed feature.
    • An idea paper proposing the integration of existing program analyses to answer interesting novel questions about programs, for example in IDEs.
    • An experience report on the use of a program analysis framework.
    • New this year are Tools Demo papers: A description of a program analysis tool and screenshots of main parts of the demo.

    Submissions must be handed in as PDF using EasyChair: https://www.easychair.org/conferences/?conf=soap2017


    Accepted papers will appear in the ACM Digital Library.

    Invited speakers

    • Julian Dolby, IBM Research
    • Sukyoung Ryu, KAIST


    Program Committee

    • Bor-Yuh Evan Chang, University of Colorado Boulder
    • François Gauthier, Oracle Labs
    • Alessandra Gorla, IMDEA Software Institute
    • Ciera Jaspan, Google
    • Magnus Madsen, University of Waterloo
    • Bernhard Scholz, University of Sydney
  • Designing Code Analysis Frameworks (DECAF @ ISSTA'16)

    Call for Participation

    Designing a code-analysis framework is not an easy task. Design decisions that framework builders took more than a decade ago are still affecting the way many researchers implement their static analyses today. However, modern software systems are often heterogeneous and gigantic in size, employing many programming languages and APIs. Further, modern program analyses tend to be user-driven and interactive, as opposed to traditional program analyses that were more targeted towards whole-program optimizations. As analysis framework authors, we have recently been discussing the various strengths and weaknesses of our systems regarding the needs of modern analyses and analyzed software systems. One idea expressed was perhaps to start over with a new analysis framework that could incorporate into its design all the lessons we have learnt from current frameworks.

    Expanding on that theme, we would like to gather the minds behind various code-analysis frameworks (e.g. Soot, Wala, Doop, Chord, and OPAL) for two primary purposes. The first is to discuss the lessons they have learned throughout the process of designing and then using those frameworks. The second is to plan the future, as a community of users of these frameworks, by identifying our wish-list if we are about to design our ideal code-analysis framework, and to discuss conflicting goals and tradeoffs.

    Specifically, we invite those of us who build core static-analysis infrastructure to present core ideas and lessons learnt from their systems. The goal is to have informal talks to highlight what has worked well and the lessons that we could learn from each other. If you are interested, please send your talk proposal (talk title, talk abstract, and short bio of speaker) to Karim Ali by May 10.

    Important Dates

    • Submissions: Tuesday, May 10, 2016
    • Notification: Tuesday, May 17, 2016
    • Workshop Date: Sunday, July 17, 2016
    • Venue: CISPA building, Saarland University, Saarbrücken, Germany (co-located with ISSTA ‘16)

    Organizing Committee

    Talk Format

    The main goal of DECAF is to have an interactive discussion amongst the members of our community about the lessons we have all learned building code analysis frameworks. Therefore, the regular conference-style one-sided presentations wouldn’t do it for us! DECAF is adopting the Chess-timer style for its talks. That style was first introduced by Curry-On @ ECOOP '16. At DECAF though, all the talks are chess-timer talks, where speakers are given 15 minutes of solo-speaking, and 10-15 minutes of discussion time (depending on the assigned slot). A DECAF organizer will operate a chess-timer (using this Chess Clock iPad app) during the presentation switching between both timers (e.g., deducting from the discussion time budget when the speaker is interrupted by a question from the audience).


    8:25 - 8:30 — Welcome
    8:30 - 11:00 — Session I
    Chair: Julian Dolby
    8:30 - 9:00 Plan for change! Or how a lack of modularity hinders Soot to reach its true potential
    Eric Bodden Slides
    9:00 - 9:30 (Cancelled) Modularization of Static Analyses, or Decoupling Strongly Dependent Static Analyses
    Michael Eichberg
    9:30 - 10:00 The Parfait Static Code Analysis Framework — Lessons Learnt
    Cristina Cifuentes Slides
    10:00 - 10:30 Experiences with and plans for Rascal; a DSL for software analysis and transformation
    Paul Klint Slides
    10:30 - 11:00 Unified Points-To and Information-Flow analysis
    Neville Grech Slides
    11:00 - 11:20 Coffee Break
    11:20 - 13:00 — Session II
    Chair: Karim Ali
    11:20 - 11:50 Doop: the Latest
    Yannis Smaragdakis Slides
    11:50 - 12:20 Challenges in designing scalable declarative program analysis frameworks
    François Gauthier
    12:20 - 12:50 Analysis of Java and JavaScript with WALA
    Julian Dolby
    13:00 - 14:00 Lunch
    14:00 - 15:40 — Session III
    Chair: Eric Bodden
    14:00 - 14:25 The tale of two source-code analysis tools: Learning and experiences
    Tushar Sharma Slides
    14:25 - 14:50 Pointer Analysis for C/C++ with cclyzer
    George Balatsouras Slides
    14:50 - 15:15 Practical analyses for refactoring tools
    Simon Thompson Slides
    15:15 - 15:40 An Experience Report: Efficient Analysis using Soufflé
    Cristina Cifuentes Slides
    15:40 - 16:00 Coffee Break
    16:00 - 17:00 — Open Discussion
    Chair: Yannis Smaragdakis