Widening (computer science)

From Wikipedia, the free encyclopedia

In computer science, especially model checking and abstract interpretation, widening refers to at least two different techniques in the analysis of abstract transition systems where infinite progressions of abstract states are replaced by a (computed or guessed[1]) least fixed point. The use of the term in model checking is closely related to acceleration techniques, some authors reserving acceleration for exact computations.[2]

While many computer programs can be understood in terms of machine states and transitions (see formal semantics of programming languages), their state spaces may be too large to fully represent and analyse. Modern analysis techniques therefore try to reason about abstract states, which correspond to many concrete states.

Often, the abstract states are structured in such a way that by repeatedly following the effect of program steps or by coarsening the abstraction, one obtains a chain of abstractions that is proven to terminate.

Use in model checking

Use in abstract interpretation

References

Related Articles

Wikiwand AI