reachability - Experimental implementation of k-CFA and Pushdown k-CFA with optional Abstract Garbage Collection for LambdaJS and a subset of Scheme programming language

  •        96

Experimental implementation of k-CFA and Pushdown k-CFA with optional Abstract Garbage Collection for LambdaJS and a subset of Scheme programming language

http://github.com/ilyasergey/reachability/wiki
https://github.com/ilyasergey/reachability

Tags
Implementation
License
Platform

   




Related Projects

drgarbagetools

  •    

Dr. Garbage Tools Project is a set of open source tools for control flow analysis of java programs, including Java Sourcecode Visualizer, Bytecode Visualizer and Control Flow Factory for generation and visualization of the various Control Flow Graphs. The tools are the result of a research project on the University of Oldenburg and have been developed by the Dr. Garbage Ltd. amp; Co KG.

K-automaton

  •    Java

K-automaton is a new parsing (syntactic analysis) machine isomorphous to language. Implemented in Java. Can generate Java code from grammars described in EBNF.

Iterative Flow Analysis

  •    C++

IFA, Iterative Flow Analysis is a combined data-flow and control flow analysis. It is capable of resolving the concrete types (as opposed to the nominal or declared types) and the interprocedural call graph for statically or dynamically typed programs.

binnavi - BinNavi is a binary analysis IDE that allows to inspect, navigate, edit and annotate control flow graphs and call graphs of disassembled code

  •    Java

Copyright 2011-2016 Google Inc.BinNavi is a binary analysis IDE - an environment that allows users to inspect, navigate, edit, and annotate control-flow-graphs of disassembled code, do the same for the callgraph of the executable, collect and combine execution traces, and generally keep track of analysis results among a group of analysts.


bap - Binary Analysis Platform

  •    OCaml

The Carnegie Mellon University Binary Analysis Platform (CMU BAP) is a reverse engineering and program analysis platform that works with binary code and doesn't require the source code. BAP supports multiple architectures: ARM, x86, x86-64, PowerPC, and MIPS. BAP disassembles and lifts binary code into the RISC-like BAP Instruction Language (BIL). Program analysis is performed using the BIL representation and is architecture independent in a sense that it will work equally well for all supported architectures. The platform comes with a set of tools, libraries, and plugins. The documentation and tutorial are also available. The main purpose of BAP is to provide a toolkit for implementing automated program analysis. BAP is written in OCaml and it is the preferred language to write analysis, we have bindings to C, Python and Rust. The Primus Framework also provide a Lisp-like DSL for writing program analysis tools. BAP is developed in CMU, Cylab and is sponsored by various grants from the United States Department of Defense, Siemens AG, and the Korea government, see sponsors for more information.

solgraph - Visualize Solidity control flow for smart contract security analysis

  •    Javascript

Generates a DOT graph that visualizes function control flow of a Solidity contract and highlights potential security vulnerabilities.

mythril - Security analysis tool for Ethereum smart contracts

  •    Python

Mythril is a security analysis tool for Ethereum smart contracts. It uses concolic analysis, taint analysis and control flow checking to detect a variety of security vulnerabilities. See the Wiki for more detailed instructions.

mythril-classic - Mythril Classic: Security analysis tool for Ethereum smart contracts

  •    Python

Mythril Classic is an open-source security analysis tool for Ethereum smart contracts. It uses concolic analysis, taint analysis and control flow checking to detect a variety of security vulnerabilities. If you a smart contract developer who wants convenience and comprehensive results, you should be using MythX, our next-gen smart contract security API that integrates with Truffle Framework and other development environments.

pharos - Automated static analysis tools for binary programs

  •    C++

The Pharos static binary analysis framework is a project of the Software Engineering Institute at Carnegie Mellon University. The framework is designed to facilitate the automated analysis of binary programs. It uses the ROSE compiler infrastructure developed by Lawrence Livermore National Laboratory for disassembly, control flow analysis, instruction semantics, and more. The current distribution is a substantial update to the previous version, and is part of an ongoing process to release more of the framework and tools publicly. This software is released under a BSD license. Carnegie Mellon University retains the copyright.

jvmgcprof - A simple utility for profile allocation and garbage collection activity in the JVM

  •    C

gcprof [-p period] [-n class:fieldpath] [-no ostrichcounter] [-w nwarmup] java ...Profile allocation and garbage collection activity in the JVM. The gcprof command runs a java command under profiling. Allocation and collection statistics are printed periodically. If -n or -no are provided, statistics are also reported in terms of the given application metric. Total allocation, allocation rate, and a survival histogram is given. The intended use for this tool is twofold: (1) monitor and test garbage allocation and GC behavior, and (2) inform GC tuning.

docker-gc - Docker garbage collection of containers and images

  •    Shell

A simple Docker container and image garbage collection script.Although docker normally prevents removal of images that are in use by containers, we take extra care to not remove any image tags (e.g., ubuntu:14.04, busybox, etc) that are in use by containers. A naive docker rmi $(docker images -q) will leave images stripped of all tags, forcing docker to re-pull the repositories when starting new containers even though the images themselves are still on disk.

jvmgcprof - A simple utility for profile allocation and garbage collection activity in the JVM

  •    C

gcprof [-p period] [-n class:fieldpath] [-no ostrichcounter] [-w nwarmup] java ... Profile allocation and garbage collection activity in the JVM. The gcprof command runs a java command under profiling. Allocation and collection statistics are printed periodically. If -n or -no are provided, statistics are also reported in terms of the given application metric. Total allocation, allocation rate, and a survival histogram is given. The intended use for this tool is twofold: (1) monitor and test garbage allocation and GC behavior, and (2) inform GC tuning.

Apache Commons - Alternative to Java collection

  •    Java

Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities. It provides collection class like Identity map, Ordered map, Reference map, Composite collections, Bag interface etc.

Java Performance Analysis Tool (Patty)

  •    Java

This profiler (JRE 1.5.0 only) uses JVMTI and native bytecode instrumentation for the analysis of the heap, reachable objects, execution time, garbage collection efficiency, code coverage and thread contention. No preparation steps required in build.

psalm - A static analysis tool for finding errors in PHP applications

  •    PHP

Psalm is a static analysis tool for finding errors in PHP applications, built on top of PHP Parser. It's able to find a large number issues, but it can also be configured to only care about a small subset of those.

phan - Phan is a static analyzer for PHP

  •    PHP

Phan is a static analyzer for PHP that prefers to minimize false-positives. Phan attempts to prove incorrectness rather than correctness. Phan looks for common issues and will verify type compatibility on various operations when type information is available or can be deduced. Phan has a good (but not comprehensive) understanding of flow control and does not attempt to track values.

node-seq - Chainable asynchronous flow control for node

  •    Javascript

Seq is an asynchronous flow control library with a chainable interface for sequential and parallel actions. Even the error handling is chainable.Each action in the chain operates on a stack of values. There is also a variables hash for storing values by name.

phan - Phan is a static analyzer for PHP

  •    PHP

Phan is a static analyzer for PHP that prefers to minimize false-positives. Phan attempts to prove incorrectness rather than correctness.Phan looks for common issues and will verify type compatibility on various operations when type information is available or can be deduced. Phan does not have a strong understanding of flow control and does not attempt to track values.

phpsa - Smart/Static Analyzer(sis) for PHP :bowtie::neckbeard:

  •    PHP

PHPSA is a development tool aimed at bringing complex analysis for PHP applications and libraries. P.S This software is currently in early alpha state, any contributions/stars will be awesome.