Avalanche (dynamic analysis tool)
Encyclopedia
For other uses, see Avalanche (disambiguation)
Avalanche is a dynamic program analysis
tool developed in ISP RAS
that performs symbolic execution
in order to generate input data that causes an analysed program to crash
. Avalanche uses dynamic binary instrumentation
framework provided by Valgrind
to collect a set of constraints
which are then solved
by STP constraint solver.
Avalanche is open source
.
Avalanche (disambiguation)
An avalanche is a cascade of snow down a slope.Avalanche may also refer to:-Music:* Avalanche , a 1980s Norwegian disco group* Avalanche , a 2000 EP by Echo & the Bunnymen* Avalanche , 2003...
Avalanche is a dynamic program analysis
Dynamic program analysis
Dynamic program analysis is the analysis of computer software that is performed by executing programs built from that software system on a real or virtual processor. For dynamic program analysis to be effective, the target program must be executed with sufficient test inputs to produce interesting...
tool developed in ISP RAS
Institute for System Programming
The Institute for System Programming of the Russian Academy of Sciences was founded on January 25, 1994, on the base of the departments of System Programming and Numerical Software of the Institute for Cybernetics Problems of the RAS...
that performs symbolic execution
Symbolic execution
In computer science, symbolic execution refers to the analysis of programs by tracking symbolic rather than actual values, a case of abstract interpretation. The field of symbolic simulation applies the same concept to hardware...
in order to generate input data that causes an analysed program to crash
Crash (computing)
A crash in computing is a condition where a computer or a program, either an application or part of the operating system, ceases to function properly, often exiting after encountering errors. Often the offending program may appear to freeze or hang until a crash reporting service documents...
. Avalanche uses dynamic binary instrumentation
Instrumentation (computer programming)
In context of computer programming, instrumentation refers to an ability to monitor or measure the level of a product's performance, to diagnose errors and to write trace information. Programmers implement instrumentation in the form of code instructions that monitor specific components in a system...
framework provided by Valgrind
Valgrind
Valgrind is a GPL licensed programming tool for memory debugging, memory leak detection, and profiling. The name valgrind comes from the main entrance to Valhalla in Norse mythology....
to collect a set of constraints
Constraint (mathematics)
In mathematics, a constraint is a condition that a solution to an optimization problem must satisfy. There are two types of constraints: equality constraints and inequality constraints...
which are then solved
Constraint satisfaction
In artificial intelligence and operations research, constraint satisfaction is the process of finding a solution to a set of constraints that impose conditions that the variables must satisfy. A solution is therefore a vector of variables that satisfies all constraints.The techniques used in...
by STP constraint solver.
Avalanche is open source
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...
.