Fluctuat - Fluctuat

Fluctuat
VývojářiCommissariat à l'Énergie Atomique
NapsánoC ++
Operační systém
K dispozici vAngličtina
TypFormální ověření, Statická analýza kódu
LicenceKomerční
webová stránkawww.lix.polytechnika.fr/ Labo/ Sylvie.Putot/ fluktuát.html

Fluctuat byl vyvinut společností Alternativy komisariátu à l'Énergie Atomique et aux Énergies od roku 2001. Fluctuat umožňuje statickou analýzu C a Ada programy se zvláštním zaměřením na operace s plovoucí desetinnou čárkou.

Teoretické základy

Fluctuat je statický analyzátor, založený na abstraktní interpretace. Ve srovnání s podobnými nástroji jako Polyprostor nebo Astrée, spoléhá se na to zonotopy jako abstraktní doména. To znamená, že hodnota každé programové proměnné je abstrahována lineárním výrazem symboly hluku (interní proměnné, které se pohybují v [-1,1]).

Zvažme nyní následující program:

x = [0,1]; y = 2 * x + 1; z = x * y;

První řádek znamená, že hodnota X může být cokoli v [0,1]. Může být napsán jako x = 0,5 + 0,5 * ε, kde ε je symbol šumu. Druhý řádek to naznačuje y = 2 + ε; od té doby X a y sdílejí stejný symbol šumu, tato abstraktní doména je relační. Pokud existují nelineární operace, jako ve třetím řádku, jsou zavedeny nové symboly šumu. Přesný symbolický výraz by byl z = 1 + 1,5 * ε + 0,5 * ε * ε, ale abstrahujeme to jako z = 1,25 + 1,5ε + 0,25η.

Funkce

Mezi funkce Fluctuat patří:

Viz také

Reference

  1. ^ David Delmas; et al. „Směrem k průmyslovému použití FLUCTUAT na bezpečnostně důležitém avionickém softwaru“. Sborník ze 14. mezinárodního workshopu o formálních metodách pro průmyslové kritické systémy FMICS'09. LNCS. 5825. 53–69.
  2. ^ Eric Goubault a Sylvie Putot. Msgstr "Statická analýza numerických algoritmů". Proceedings of Static Analysis Symposium SAS'06, Seoul. LNCS. 4134. str. 18–34.
  3. ^ Olivier Bouissou; et al. "HybridFluctuat: statický analyzátor numerických programů v nepřetržitém prostředí". Proceedings of Computer Aided Verification CAV'09, Grenoble, Francie. LNCS. 5649. str. 620–626. CiteSeerX  10.1.1.216.8351.

externí odkazy