Giter Club home page Giter Club logo

incremental-ifds's Introduction

incremental-ifds / REVISER

This repository contains REVISER as presented in our paper submitted to OOPSLA 2013. REVISER is an extended version of the HEROS IDE solver which is able to incrementally update analysis results.

If you have any questions or concerns, please feel free to use the issue tracker or contact us at [email protected].

Running the Benchmarks

The simplest way to run the JUnit test cases and benchmarks we conducted for out OOPSLA paper+ is to run the "runDynamicTest.sh" shell script. It creates one output log file and one error log file for each test case.

The test cases carrying a "_Rerun" suffix first run the solver on the old version of the target code, then replace the code with the modified version and finally run the solver again. This can be seen as the base case.

The test cases ending with "_Propagate" first run the initial computation on the old version of the target code, then replace the code with the modfified version before they incrementally update the analysis results. These test cases run much faster than the "_Rerun" ones or than computing the analysis results twice with the old unchanged version of the HEROS solver.

For running the PDFsam tests, please use the "runPdfsam.sh" script.

Note that our test cases are configured to run with a maximum heap size of 35 GB by default. Depending on your machine configuration, you may have to change the scripts. We recommend giving the test cases as much memory as possible for not obfuscating the performance results with unnecessary garbage collector cycles.

Important Version Note

Note that REVISER is built on top of Soot 2.5.0 and may not work with newer versions. We plan to integrate REVISER into the official HEROS branch as soon as possible. Our scripts thus include the Soot 2.5.0 JAR file which is also part of this repository.

incremental-ifds's People

Contributors

stevenarzt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.