ECOOP 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA
Events (59 results)

Solver-Aided Programming for All

ISSTA Keynotes When: Mon 16 Jul 2018 09:15 - 10:15 People: Emina Torlak

… …

Class hierarchy flattening: obfuscating (almost) all type information in Java programs

SALAD When: Thu 19 Jul 2018 14:00 - 14:30 People: Bjorn De Sutter

… …

Automatic Python test generation

ISAGT 2018 When: Fri 20 Jul 2018 11:05 - 11:30 People: Chris Laffra

… Project Auger (Automated Unittest Generator) watches your Python code while you write it and automatically generates all unit tests for your code, including all the mocks. Little or no work is required by the developer. Auger works like …

Application-Specific Principals Must Align With Platform Boundaries

WoSSCA 2018 When: Wed 18 Jul 2018 11:45 - 12:30 People: Chris Palmer

… , they are trivially vulnerable to Spectre and other side channels. We need to motivate all

Symbolic Execution and Probabilistic Reasoning

Summer School When: Mon 16 Jul 2018 14:30 - 17:00 People: Corina S Pasareanu

… Symbolic execution is a systematic program analysis technique which explores multiple program behaviors all at once by collecting and solving symbolic path conditions over program paths. The technique has been recently extended …

Shooting from the Heap: Ultra-Scalable Static Analysis with Heap Snapshots

ISSTA Artifacts People: Neville Grech, George Fourtounis, Adrian Francalanza, Yannis Smaragdakis

… (relative to different dynamic executions): while it can never fully capture all

QL + LGTM = Declarative Program Analysis for the Masses

DPA When: Wed 18 Jul 2018 16:30 - 17:00 People: Max Schaefer

all commits on over 70,000 open-source projects, and includes an in-browser IDE …

A Declarative Language for Context Activation

COP When: Mon 16 Jul 2018 15:00 - 15:30 People: Nicolás Cardozo

… for context activation in a uniform model. All existing mechanism in the literature …

Activity Contexts: Improving Modularity in Blockchain-based Smart Contracts using Context-oriented Programming

COP When: Mon 16 Jul 2018 11:00 - 11:30 People: Toni Mattis, Robert Hirschfeld

… in a network and messages sent to the object are relayed to all network …

Building a Node.js Benchmark: Initial Steps

BenchWork When: Wed 18 Jul 2018 14:50 - 15:10 People: Petr Maj, François Gauthier, Celeste Hollenbeck, Jan Vitek, Cristina Cifuentes

… -data for all projects that use NPM on GitHub, collecting metrics … projects that have working test suites, pre-download all their dependencies, and build a harness that runs tests from all projects. Then, we build a test …

How does code sound?

Curry On Keynotes When: Tue 17 Jul 2018 09:30 - 10:20 People: Felienne Hermans

… We study all sorts of aspects of programming languages, their ease of use, type system, their level of abstractness, but we feel one aspect is overlooked, how a programming language sounds like when read aloud. Is reading aloud hard …

Affogato: Runtime Detection of Injection Attacks for Node.js

SOAP When: Fri 20 Jul 2018 15:00 - 15:15 People: François Gauthier, Behnaz Hassanshahi, Alexander Jordan

… evaluate AFFOGATO on a suite of Node.js modules and show how it can detect all

Improving Symbolic Flat Memory Models with Pointer Alias Analysis

Doc Symposium When: Wed 18 Jul 2018 14:57 - 15:13 People: Timotej Kapus

Junior Submission
Symbolic execution is an effective technique for exploring paths in a program and reasoning about all possible values on those paths … scheme instead, i.e. essentially merging all memory objects into one. To make …

Two-phase Analysis for Precision and Scalability

Doc Symposium When: Wed 18 Jul 2018 14:25 - 14:41 People: Tony Antoniadis

… to provide a static model of a program’s heap, for all the possible executions …

On the Effectiveness of Kernel Debloating via Compile-time Configuration

SALAD When: Thu 19 Jul 2018 16:00 - 16:37 People: Mansour Alharthi, Hong Hu, Hyungon Moon, Taesoo Kim

… Linux kernel contains a large number of features that not all systems need, while Linux distributors enable as many features as possible to make their distributions generic, leading to severe bloating problem. Intuitively, we can use …

Comparing developer-provided to user-provided tests for fault localization and automated program repair

ISSTA Artifacts People: René Just, Chris Parnin, Ian Drosos, Michael D. Ernst

… -cluster) and maintained.

  • All scripts within the artifact are modular, with core …

Hardware and Software Mitigations

WoSSCA 2018 When: Wed 18 Jul 2018 14:30 - 15:00 People: Chandler Carruth

… , and have specifically led all of our compiler-based mitigation efforts … are insufficient in many cases. They either cannot cover all of the attack …

Compiler Verification for a Multi-Language World

Summer School When: Tue 17 Jul 2018 14:00 - 17:30 People: Amal Ahmed

… Verified compilers are typically proved correct under severe restrictions on what the compiled code may be linked with, from no linking at all to linking with only the output of the same compiler. Unfortunately, such assumptions don’t …

Isolation Without Containers

Curry On Talks When: Tue 17 Jul 2018 15:55 - 16:35 People: Tyler McMullen

… , and VMs are all forms of SFI. SFI is a deeply important part of not only … handling, memory sandboxing, and how it all integrates into an existing system. This is all based on a real compiler and sandbox, currently in development …

BinRec: Attack Surface Reduction Through Dynamic Binary Recovery

SALAD When: Thu 19 Jul 2018 17:52 - 18:30 People: Taddeus Kroes, Anil Altinay, Joseph Nash, Yeoul Na, Stijn Volckaert, Herbert Bos, Michael Franz, Cristiano Giuffrida

… program including all of its dependencies, but we can also determine which …

Shaping Program Repair Space with Existing Patches and Similar Code

ISSTA Artifacts People: Jiajun Jiang, Yingfei Xiong, Hongyu Zhang, Qing Gao, Xiangqun Chen

… Automated program repair (APR) has great potential to reduce bug-fixing effort and many approaches have been proposed in recent years. APRs are often treated as a search problem where the search space consists of all the possible …

Using APIs and micro-services as the glue between observed and derived facts

Curry On Talks When: Tue 17 Jul 2018 16:45 - 17:25 People: Faraz Babar

… discovery acting as the glue that binds it all together. We will show …

Learning to Accelerate Symbolic Execution via Code Transformation

ECOOP Research Papers When: Thu 19 Jul 2018 14:15 - 14:40 People: Junjie Chen, Wenxiang Hu, Lingming Zhang, Dan Hao, Sarfraz Khurshid, Lu Zhang

… accelerate symbolic execution for any program do not exist at all. Therefore …, outperforming the default KLEE configurations (i.e., turning on/off all compiler … improvement rate on all programs is 46.48%/88.92% in terms of line coverage …

Optimization based on Facts and Fiction

Doc Symposium When: Wed 18 Jul 2018 14:00 - 14:25 People: Olivier Flückiger

… , if they are not that different after all? Non-refutable facts are hard to come by, even in universe …

Shooting from the Heap: Ultra-Scalable Static Analysis with Heap Snapshots

ISSTA Technical Papers When: Tue 17 Jul 2018 11:20 - 11:40 People: Neville Grech, George Fourtounis, Adrian Francalanza, Yannis Smaragdakis

… dynamic executions): while it can never fully capture all program behaviors (i.e. …

Learning to Accelerate Symbolic Execution via Code Transformation

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Junjie Chen, Wenxiang Hu, Lingming Zhang, Dan Hao, Sarfraz Khurshid, Lu Zhang

… accelerate symbolic execution for any program do not exist at all. Therefore …, outperforming the default KLEE configurations (i.e., turning on/off all compiler … improvement rate on all programs is 46.48%/88.92% in terms of line coverage …

Analyzing Duplication in JavaScript

BenchWork When: Wed 18 Jul 2018 14:30 - 14:50 People: Petr Maj, Celeste Hollenbeck, Shabbir Hussain, Jan Vitek

… thanks to the node.js framework. Our analysis included all non-forked JavaScript …

Language Design in the Open

Curry On Talks When: Mon 16 Jul 2018 16:45 - 17:25 People: Yulia Startsev

… A language like JavaScript, with a large diverse user space, is half designed, and half reverse engineered. Like all web standards, JavaScript is developed in conjunction with the realities of the web and user decisions in how the language …

Transducing for fun and profit

Curry On Talks When: Mon 16 Jul 2018 16:45 - 17:25 People: Simon Belak

… and batch settings; all drawing from practical examples of using Clojure …

A Micro-Benchmark for Dynamic Program Behaviour

BenchWork When: Wed 18 Jul 2018 15:10 - 15:30 People: Li Sui, Jens Dietrich, Michael Emery, Amjed Tahir, Shawn Rasheed

… that a static analysis models the entire program behaviour for all possible executions …

Analyzing the Analyzers: FlowDroid/IccTA, AmanDroid, and DroidSafe

ISSTA Technical Papers When: Tue 17 Jul 2018 10:00 - 10:20 People: Lina Qiu, YINGYING WANG, Julia Rubin

… combined with ICCTA, AMANDROID, and DROIDSAFE. We evaluate all tools under the same …

Identifying Implementation Bugs in Machine Learning based Image Classifiers using Metamorphic Testing

ISSTA Technical Papers When: Mon 16 Jul 2018 16:40 - 17:00 People: Anurag Dwarakanath, Manish Ahuja, Samarth Sikand, Raghotham M Rao, R.P. Jagadeesh Chandra Bose, Neville Dubash, Sanjay Podder

… We have recently witnessed tremendous success of Machine Learning (ML) in practical applications. Computer vision, speech recognition and language translation have all seen a near human level performance. We expect, in the near future …

Shooting from the Heap: Ultra-Scalable Static Analysis with Heap Snapshots

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Neville Grech, George Fourtounis, Adrian Francalanza, Yannis Smaragdakis

… dynamic executions): while it can never fully capture all program behaviors (i.e. …

Definite Reference Mutability

ECOOP Research Papers When: Sat 21 Jul 2018 11:50 - 12:15 People: Ana Milanova

… . Our results show that approximately 86.5% of all potentially mutable references …

Program Analysis for Everyone

ECOOP Keynotes When: Thu 19 Jul 2018 09:15 - 10:15 People: Oege de Moor

… of lgtm is running at lgtm.com, continuously analysing all commits …

Finite of Sense and Infinite of Thought: A History of Computation, Logic and Algebra

Curry On Talks When: Mon 16 Jul 2018 14:40 - 15:20 People: Ron Pressler

… the answer to any question. It would end disputes among men and convince all … of Trinitarianism in favor of monism, and believed that the unity of all things …

Legato: An At-Most-Once Analysis with Applications to Dynamic Configuration Updates

ECOOP Research Papers When: Sat 21 Jul 2018 11:25 - 11:50 People: John Toman, Dan Grossman

… and correctly. Dealing with all possible resource update scenarios is difficult … reasoning about concurrency. The at-most-once condition requires that all values …

PerfFuzz: Automatically Generating Pathological Inputs

ISSTA Technical Papers When: Tue 17 Jul 2018 16:40 - 17:00 People: Caroline Lemieux, Rohan Padhye, Koushik Sen, Dawn Song

… for all program locations. This enables PerfFuzz to (1) find a variety of inputs …

Shaping Program Repair Space with Existing Patches and Similar Code

ISSTA Technical Papers When: Wed 18 Jul 2018 12:00 - 12:20 People: Jiajun Jiang, Yingfei Xiong, Hongyu Zhang, Qing Gao, Xiangqun Chen

… Automated program repair (APR) has great potential to reduce bug-fixing effort and many promising approaches have been proposed in recent years. APRs are often treated as a search problem where the search space consists of all the possible …

Compiler Fuzzing through Deep Learning

ISSTA Technical Papers When: Mon 16 Jul 2018 16:00 - 16:20 People: Chris Cummins, Pavlos Petoumenos, Alastair Murray, Hugh Leather

… discover bugs in all of them, submitting 67 bug reports.

Our test cases …

Analyzing the Analyzers: FlowDroid/IccTA, AmanDroid, and DroidSafe

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Lina Qiu, YINGYING WANG, Julia Rubin

… combined with ICCTA, AMANDROID, and DROIDSAFE. We evaluate all tools under the same …

Do-It-Yourself Functional Reactive Programming

Curry On Talks When: Tue 17 Jul 2018 15:55 - 16:35 People: Manuel Chakravarty

… the model and view components of a Cocoa app. All of this is illustrated …

Your inner compiler engineer wants out!

Curry On Talks When: Mon 16 Jul 2018 11:00 - 11:40 People: Jesse Alama

… , but should, and to take the opportunity to make it. That all sounds good, but does …

Dependent Types for Class-based Mutable Objects

ECOOP Research Papers When: Fri 20 Jul 2018 11:25 - 11:50 People: Joana Campos, Vasco T. Vasconcelos

… to read off an implementation. Moreover, all the examples in the paper have been run …

Defensive Points-To Analysis: Effective Soundness via Laziness

ECOOP Research Papers When: Sat 21 Jul 2018 11:00 - 11:25 People: Yannis Smaragdakis, George Kastrinis

… We present a defensive may-point-to analysis approach, which offers soundness even in the presence of arbitrary opaque code: all non-empty points-to sets computed are guaranteed to be over-approximations of the sets of values arising …

Automating Object Transformations for Dynamic Software Updating via Online Execution Synthesis

ECOOP Research Papers When: Fri 20 Jul 2018 15:05 - 15:30 People: Tianxiao Gu, Xiaoxing Ma, Chang Xu, Yanyan Jiang, Chun Cao, Jian Lu

… the new version of all methods in the history to get the desired new state. AOTES …

FHJ: A Formal Model for Hierarchical Dispatching and Overriding

ECOOP Research Papers When: Fri 20 Jul 2018 16:00 - 16:25 People: Yanlin Wang, Haoyuan Zhang, Bruno C. d. S. Oliveira, Marco Servetto

… . Furthermore, unlike all existing inheritance models, our model supports hierarchical …

Evaluating Test-Suite Reduction in Real-World Software Evolution

ISSTA Technical Papers When: Mon 16 Jul 2018 15:00 - 15:20 People: August Shi, Alex Gyori, Muhammad Suleman Mahmood, Peiyuan Zhao, Darko Marinov

… where the reduced test suite misses to detect all the faults called FBDL. We …

Symbolic Path Cost Analysis for Side-Channel Detection

ISSTA Technical Papers When: Mon 16 Jul 2018 11:40 - 12:00 People: Tegan Brennan, Seemanta Saha, Tevfik Bultan, Corina S Pasareanu

… component. Symbolic cost expressions provide an over-approximation of all possible …

Shaping Program Repair Space with Existing Patches and Similar Code

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Jiajun Jiang, Yingfei Xiong, Hongyu Zhang, Qing Gao, Xiangqun Chen

… Automated program repair (APR) has great potential to reduce bug-fixing effort and many promising approaches have been proposed in recent years. APRs are often treated as a search problem where the search space consists of all the possible …

FHJ: A Formal Model for Hierarchical Dispatching and Overriding

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Yanlin Wang, Haoyuan Zhang, Bruno C. d. S. Oliveira, Marco Servetto

… . Furthermore, unlike all existing inheritance models, our model supports hierarchical …

Deep Learning over Code

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Chris Cummins, Pavlos Petoumenos, Alastair Murray, Hugh Leather

… discover bugs in all of them, submitting 67 bug reports.

Our test cases …

Defensive Points-To Analysis: Effective Soundness via Laziness

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Yannis Smaragdakis, George Kastrinis

… We present a defensive may-point-to analysis approach, which offers soundness even in the presence of arbitrary opaque code: all non-empty points-to sets computed are guaranteed to be over-approximations of the sets of values arising …

Automating Object Transformations for Dynamic Software Updating via Online Execution Synthesis

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Tianxiao Gu, Xiaoxing Ma, Chang Xu, Yanyan Jiang, Chun Cao, Jian Lu

… the new version of all methods in the history to get the desired new state. AOTES …

PerfFuzz: Automatically Generating Pathological Inputs

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Caroline Lemieux, Rohan Padhye, Koushik Sen, Dawn Song

… for all program locations. This enables PerfFuzz to (1) find a variety of inputs …

Polyglot Programming - Opportunities of Language Implementation Frameworks for Software Developers

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Fabio Niephaus, Robert Hirschfeld

… . Since all supported languages run on the same runtime environment, FFI calls … capabilities for all languages. This consequently results in a better programming …

Better living through incrementality: Immediate static analysis feedback without loss of precision

Curry On Talks When: Mon 16 Jul 2018 14:40 - 15:20 People: Tamás Szabó, Sebastian Erdweg

… ), and to provide sophisticated edit actions (refactorings). IDEs must provide all

Accelerating Dynamically-Typed Languages on Heterogeneous Platforms Using Guards Optimization

ECOOP Research Papers When: Fri 20 Jul 2018 13:50 - 14:15 People: Mohaned Qunaibit, Stefan Brunthaler, Yeoul Na, Stijn Volckaert, Michael Franz

… are instead handled by a construct that we call a mega guard which checks all

Symbolic Path Cost Analysis for Side-Channel Detection

Posters When: Wed 18 Jul 2018 17:00 - 20:00 People: Tegan Brennan, Seemanta Saha, Tevfik Bultan, Corina S Pasareanu

… component. Symbolic cost expressions provide an over-approximation of all possible …