<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://nts.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Konecny</id>
		<title>Numerical Transition Systems - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://nts.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Konecny"/>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php/Special:Contributions/Konecny"/>
		<updated>2026-05-05T07:22:02Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=303</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=303"/>
				<updated>2013-09-04T16:51:06Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: /* Decision Procedure for the SAT problem of the Logic SIL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''FLATA''' &amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[http://nts.imag.fr/images/c/c2/Fm12.pdf &amp;quot;A Verification Toolkit for Numerical Transition Systems.&amp;quot;] H. Hojjat, R. Iosif, F. Garnier, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;  is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - checking if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://nts.imag.fr/images/3/3a/Flata.tar.gz flata.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run ==&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow graph with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can verify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reachability Analysis ==&lt;br /&gt;
&lt;br /&gt;
The reachability analysis semi-algorithm implemented in FLATA is based on computatation of procedure summaries. The core of the method is an algorithm for computing transitive closures of octagonal relations &amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d5/Cav10.pdf &amp;quot;Fast Acceleration of Ultimately Periodic Relations.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cav10-TR&amp;quot;&amp;gt;[http://www-verimag.imag.fr/TR/TR-2012-10.pdf &amp;quot;Relational Analysis of Integer Programs&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. VERIMAG technical report, TR-2012-10, 2012. &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt; (a correct program)&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/L2CA/listcounter.error.nts&amp;lt;/tt&amp;gt; (program with a counterexample trace) &lt;br /&gt;
&lt;br /&gt;
== Termination Analysis ==&lt;br /&gt;
&lt;br /&gt;
The semi-algorithm implemented in FLATA first attempts to compute a transition invariant as a disjunction of octagonal relations (by adapting the procedure summary algorithm) and then computes a termination precondition by applying an algorithm that computes the weakest termination precondition of octagonal relations &amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt; Deciding Conditional Termination. M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. ([http://arxiv.org/pdf/1302.2762v1 Extended journal submission.]) &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
Given a recursive program, FLATA attempts to compute its summary by computing increasingly precise underapproximations of the program &amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[http://arxiv.org/pdf/1210.4289.pdf &amp;quot;Underapproximation of Procedure Summaries for Integer Programs.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;. Note that error control states are ignored and that a reachability relation between initial and final control states is computed. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Decision Procedure for the SAT problem of the Logic SIL ==&lt;br /&gt;
&lt;br /&gt;
FLATA decides the satisfiability problem of the SIL logic&amp;lt;ref name=&amp;quot;lpar-08&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d3/Lpar08.pdf &amp;quot;A Logic of Singly Indexed Arrays&amp;quot;] P. Habermehl, R. Iosif, T. Vojnar. In Proc. of LPAR'08, volume 5330 of LNCS, pages 558-573, 2008. Springer-Verlag. &amp;lt;/ref&amp;gt; by reduction to the reachability problem of flat counter automata.&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;comon-jurski&amp;quot;&amp;gt; &amp;quot;Multiple counters automata, safety analysis and presburger arithmetic&amp;quot;. In Proc. of CAV, volume 1427 of LNCS, pages 268–279, Berlin, Heidelberg, 1998. Springer Verlag.&amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-sil.sh benchmarks-sil/rotation_vc.nts&amp;lt;/tt&amp;gt; (valid formula)&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-sil.sh benchmarks-sil/rotation_vc-f.nts&amp;lt;/tt&amp;gt; (falsifiable formula)&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://people.epfl.ch/filip.konecny Filip Konecny] (EPFL, Lausanne, Switzerland)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;atva12&amp;quot;&amp;gt;[http://nts.imag.fr/images/b/b5/Ntslib.pdf &amp;quot;Accelerating Interpolants.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=302</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=302"/>
				<updated>2013-09-04T16:48:42Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: /* Decision Procedure for the SAT problem of the Logic SIL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''FLATA''' &amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[http://nts.imag.fr/images/c/c2/Fm12.pdf &amp;quot;A Verification Toolkit for Numerical Transition Systems.&amp;quot;] H. Hojjat, R. Iosif, F. Garnier, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;  is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - checking if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://nts.imag.fr/images/3/3a/Flata.tar.gz flata.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run ==&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow graph with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can verify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reachability Analysis ==&lt;br /&gt;
&lt;br /&gt;
The reachability analysis semi-algorithm implemented in FLATA is based on computatation of procedure summaries. The core of the method is an algorithm for computing transitive closures of octagonal relations &amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d5/Cav10.pdf &amp;quot;Fast Acceleration of Ultimately Periodic Relations.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cav10-TR&amp;quot;&amp;gt;[http://www-verimag.imag.fr/TR/TR-2012-10.pdf &amp;quot;Relational Analysis of Integer Programs&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. VERIMAG technical report, TR-2012-10, 2012. &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt; (a correct program)&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/L2CA/listcounter.error.nts&amp;lt;/tt&amp;gt; (program with a counterexample trace) &lt;br /&gt;
&lt;br /&gt;
== Termination Analysis ==&lt;br /&gt;
&lt;br /&gt;
The semi-algorithm implemented in FLATA first attempts to compute a transition invariant as a disjunction of octagonal relations (by adapting the procedure summary algorithm) and then computes a termination precondition by applying an algorithm that computes the weakest termination precondition of octagonal relations &amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt; Deciding Conditional Termination. M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. ([http://arxiv.org/pdf/1302.2762v1 Extended journal submission.]) &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
Given a recursive program, FLATA attempts to compute its summary by computing increasingly precise underapproximations of the program &amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[http://arxiv.org/pdf/1210.4289.pdf &amp;quot;Underapproximation of Procedure Summaries for Integer Programs.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;. Note that error control states are ignored and that a reachability relation between initial and final control states is computed. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Decision Procedure for the SAT problem of the Logic SIL ==&lt;br /&gt;
&lt;br /&gt;
FLATA decides the satisfiability problem of the SIL logic&amp;lt;ref name=&amp;quot;lpar-08&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d3/Lpar08.pdf &amp;quot;A Logic of Singly Indexed Arrays&amp;quot;] P. Habermehl, R. Iosif, T. Vojnar. In Proc. of LPAR'08, volume 5330 of LNCS, pages 558-573, 2008. Springer-Verlag. &amp;lt;/ref&amp;gt; by reduction to the reachability problem of flat counter automata&amp;lt;ref name=&amp;quot;comon-jurski&amp;quot;&amp;gt; &amp;quot;Multiple counters automata, safety analysis and presburger arithmetic&amp;quot;. In Proc. of CAV, volume 1427 of LNCS, pages 268–279, Berlin, Heidelberg, 1998. Springer Verlag.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-sil.sh benchmarks-sil/rotation_vc.nts&amp;lt;/tt&amp;gt; (valid formula)&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-sil.sh benchmarks-sil/rotation_vc-f.nts&amp;lt;/tt&amp;gt; (falsifiable formula)&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://people.epfl.ch/filip.konecny Filip Konecny] (EPFL, Lausanne, Switzerland)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;atva12&amp;quot;&amp;gt;[http://nts.imag.fr/images/b/b5/Ntslib.pdf &amp;quot;Accelerating Interpolants.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=301</id>
		<title>File:Flata.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=301"/>
				<updated>2013-09-04T16:02:09Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: Konecny uploaded a new version of &amp;amp;quot;File:Flata.tar.gz&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=300</id>
		<title>File:Flata.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=300"/>
				<updated>2013-09-04T16:00:48Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: Konecny uploaded a new version of &amp;amp;quot;File:Flata.tar.gz&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=299</id>
		<title>File:Flata.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=299"/>
				<updated>2013-09-03T13:16:07Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: Konecny uploaded a new version of &amp;amp;quot;File:Flata.tar.gz&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=298</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=298"/>
				<updated>2013-09-03T12:49:37Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''FLATA''' &amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[http://nts.imag.fr/images/c/c2/Fm12.pdf &amp;quot;A Verification Toolkit for Numerical Transition Systems.&amp;quot;] H. Hojjat, R. Iosif, F. Garnier, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;  is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - checking if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://nts.imag.fr/images/3/3a/Flata.tar.gz flata.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run ==&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow graph with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can verify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reachability Analysis ==&lt;br /&gt;
&lt;br /&gt;
The reachability analysis semi-algorithm implemented in FLATA is based on computatation of procedure summaries. The core of the method is an algorithm for computing transitive closures of octagonal relations &amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d5/Cav10.pdf &amp;quot;Fast Acceleration of Ultimately Periodic Relations.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cav10-TR&amp;quot;&amp;gt;[http://www-verimag.imag.fr/TR/TR-2012-10.pdf &amp;quot;Relational Analysis of Integer Programs&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. VERIMAG technical report, TR-2012-10, 2012. &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt; (a correct program)&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/L2CA/listcounter.error.nts&amp;lt;/tt&amp;gt; (program with a counterexample trace) &lt;br /&gt;
&lt;br /&gt;
== Termination Analysis ==&lt;br /&gt;
&lt;br /&gt;
The semi-algorithm implemented in FLATA first attempts to compute a transition invariant as a disjunction of octagonal relations (by adapting the procedure summary algorithm) and then computes a termination precondition by applying an algorithm that computes the weakest termination precondition of octagonal relations &amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt; Deciding Conditional Termination. M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. ([http://arxiv.org/pdf/1302.2762v1 Extended journal submission.]) &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
Given a recursive program, FLATA attempts to compute its summary by computing increasingly precise underapproximations of the program &amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[http://arxiv.org/pdf/1210.4289.pdf &amp;quot;Underapproximation of Procedure Summaries for Integer Programs.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;. Note that error control states are ignored and that a reachability relation between initial and final control states is computed. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Decision Procedure for the SAT problem of the Logic SIL ==&lt;br /&gt;
&lt;br /&gt;
FLATA decides the satisfiability problem of the SIL logic&amp;lt;ref name=&amp;quot;lpar-08&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d3/Lpar08.pdf &amp;quot;A Logic of Singly Indexed Arrays&amp;quot;] P. Habermehl, R. Iosif, T. Vojnar. In Proc. of LPAR'08, volume 5330 of LNCS, pages 558-573, 2008. Springer-Verlag. &amp;lt;/ref&amp;gt; by reduction to the reachability problem of flat counter-automata which is known to be decidable&amp;lt;ref name=&amp;quot;comon-jurski&amp;quot;&amp;gt; &amp;quot;Multiple counters automata, safety analysis and presburger arithmetic&amp;quot;. In Proc. of CAV, volume 1427 of LNCS, pages 268–279, Berlin, Heidelberg, 1998. Springer Verlag.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-sil.sh benchmarks-sil/rotation_vc.nts&amp;lt;/tt&amp;gt; (valid formula)&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-sil.sh benchmarks-sil/rotation_vc-f.nts&amp;lt;/tt&amp;gt; (falsifiable formula)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://people.epfl.ch/filip.konecny Filip Konecny] (EPFL, Lausanne, Switzerland)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;atva12&amp;quot;&amp;gt;[http://nts.imag.fr/images/b/b5/Ntslib.pdf &amp;quot;Accelerating Interpolants.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Ntslib.pdf&amp;diff=290</id>
		<title>File:Ntslib.pdf</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Ntslib.pdf&amp;diff=290"/>
				<updated>2013-06-24T15:47:10Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: Konecny uploaded a new version of &amp;amp;quot;File:Ntslib.pdf&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Sil-examples.tar.gz&amp;diff=110</id>
		<title>File:Sil-examples.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Sil-examples.tar.gz&amp;diff=110"/>
				<updated>2013-04-02T16:15:34Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Sil.tar.gz&amp;diff=109</id>
		<title>File:Sil.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Sil.tar.gz&amp;diff=109"/>
				<updated>2013-04-02T16:15:25Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=108</id>
		<title>File:Flata.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=108"/>
				<updated>2013-03-15T11:33:30Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: Konecny uploaded a new version of &amp;amp;quot;File:Flata.tar.gz&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=107</id>
		<title>File:Flata.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=107"/>
				<updated>2013-03-15T11:17:30Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: Konecny uploaded a new version of &amp;amp;quot;File:Flata.tar.gz&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=106</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=106"/>
				<updated>2013-03-04T17:57:13Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''FLATA''' &amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[http://nts.imag.fr/images/c/c2/Fm12.pdf &amp;quot;A Verification Toolkit for Numerical Transition Systems.&amp;quot;] H. Hojjat, R. Iosif, F. Garnier, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;  is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - checking if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://nts.imag.fr/images/3/3a/Flata.tar.gz flata.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run ==&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow graph with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can verify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reachability Analysis ==&lt;br /&gt;
&lt;br /&gt;
The reachability analysis semi-algorithm implemented in FLATA is based on computatation of procedure summaries. The core of the method is an algorithm for computing transitive closures of octagonal relations &amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d5/Cav10.pdf &amp;quot;Fast Acceleration of Ultimately Periodic Relations.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cav10-TR&amp;quot;&amp;gt;[http://www-verimag.imag.fr/TR/TR-2012-10.pdf &amp;quot;Relational Analysis of Integer Programs&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. VERIMAG technical report, TR-2012-10, 2012. &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt; (a correct program)&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/L2CA/listcounter.error.nts&amp;lt;/tt&amp;gt; (program with a counterexample trace) &lt;br /&gt;
&lt;br /&gt;
== Termination Analysis ==&lt;br /&gt;
&lt;br /&gt;
The semi-algorithm implemented in FLATA first attempts to compute a transition invariant as a disjunction of octagonal relations (by adapting the procedure summary algorithm) and then computes a termination precondition by applying an algorithm that computes the weakest termination precondition of octagonal relations &amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt; Deciding Conditional Termination. M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. ([http://arxiv.org/pdf/1302.2762v1 Extended journal submission.]) &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
Given a recursive program, FLATA attempts to compute its summary by computing increasingly precise underapproximations of the program &amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[http://arxiv.org/pdf/1210.4289.pdf &amp;quot;Underapproximation of Procedure Summaries for Integer Programs.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;. Note that error control states are ignored and that a reachability relation between initial and final control states is computed. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://people.epfl.ch/filip.konecny Filip Konecny] (EPFL, Lausanne, Switzerland)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;atva12&amp;quot;&amp;gt;[http://nts.imag.fr/images/b/b5/Ntslib.pdf &amp;quot;Accelerating Interpolants.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=83</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=83"/>
				<updated>2013-02-13T08:10:27Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''FLATA''' &amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[http://nts.imag.fr/images/c/c2/Fm12.pdf &amp;quot;A Verification Toolkit for Numerical Transition Systems.&amp;quot;] H. Hojjat, R. Iosif, F. Garnier, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;  is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - checking if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://nts.imag.fr/images/3/3a/Flata.tar.gz flata.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run ==&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow graph with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can verify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reachability Analysis ==&lt;br /&gt;
&lt;br /&gt;
The reachability analysis semi-algorithm implemented in FLATA is based on computatation of procedure summaries. The core of the method is an algorithm for computing transitive closures of octagonal relations &amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d5/Cav10.pdf &amp;quot;Fast Acceleration of Ultimately Periodic Relations.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cav10-TR&amp;quot;&amp;gt;[http://www-verimag.imag.fr/TR/TR-2012-10.pdf &amp;quot;Relational Analysis of Integer Programs&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. VERIMAG technical report, TR-2012-10, 2012. &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt; (a correct program)&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/L2CA/listcounter.error.nts&amp;lt;/tt&amp;gt; (program with a counterexample trace) &lt;br /&gt;
&lt;br /&gt;
== Termination Analysis ==&lt;br /&gt;
&lt;br /&gt;
The semi-algorithm implemented in FLATA first attempts to compute a transition invariant as a disjunction of octagonal relations (by adapting the procedure summary algorithm) and then computes a termination precondition by applying an algorithm that computes the weakest termination precondition of octagonal relations &amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt; Deciding Conditional Termination. M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. ([http://arxiv.org/pdf/1302.2762v1 Extended journal submission.]) &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
Given a recursive program, FLATA attempts to compute its summary by computing increasingly precise underapproximations of the program &amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[http://arxiv.org/pdf/1210.4289.pdf &amp;quot;Underapproximation of Procedure Summaries for Integer Programs.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;. Note that error control states are ignored and that a reachability relation between initial and final control states is computed. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/~konecny/ Filip Konecny] (EPFL, Lausanne, Switzerland)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;atva12&amp;quot;&amp;gt;[http://nts.imag.fr/images/b/b5/Ntslib.pdf &amp;quot;Accelerating Interpolants.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=78</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=78"/>
				<updated>2013-02-05T10:25:23Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''FLATA''' &amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[http://nts.imag.fr/images/c/c2/Fm12.pdf &amp;quot;A Verification Toolkit for Numerical Transition Systems.&amp;quot;] H. Hojjat, R. Iosif, F. Garnier, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;  is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - checking if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://nts.imag.fr/images/3/3a/Flata.tar.gz flata.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run ==&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow graph with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can verify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reachability Analysis ==&lt;br /&gt;
&lt;br /&gt;
The reachability analysis semi-algorithm implemented in FLATA is based on computatation of procedure summaries. The core of the method is an algorithm for computing transitive closures of octagonal relations &amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d5/Cav10.pdf &amp;quot;Fast Acceleration of Ultimately Periodic Relations.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cav10-TR&amp;quot;&amp;gt;[http://www-verimag.imag.fr/TR/TR-2012-10.pdf &amp;quot;Relational Analysis of Integer Programs&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. VERIMAG technical report, TR-2012-10, 2012. &amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt; (a correct program)&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/L2CA/listcounter.error.nts&amp;lt;/tt&amp;gt; (program with a counterexample trace) &lt;br /&gt;
&lt;br /&gt;
== Termination Analysis ==&lt;br /&gt;
&lt;br /&gt;
The semi-algorithm implemented in FLATA first attempts to compute a transition invariant as a disjunction of octagonal relations (by adapting the procedure summary algorithm) and then computes a termination precondition by applying an algorithm that computes the weakest termination precondition of octagonal relations &amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt; Deciding Conditional Termination. M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. ([http://arxiv.org/pdf/1210.42.pdf Extended journal submission.]) &amp;lt;/ref&amp;gt;. The semi-algorithm is guaranteed to terminate for ''flat integer programs''.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
Given a recursive program, FLATA attempts to compute its summary by computing increasingly precise underapproximations of the program &amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[http://arxiv.org/pdf/1210.4289.pdf &amp;quot;Underapproximation of Procedure Summaries for Integer Programs.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;. Note that error control states are ignored and that a reachability relation between initial and final control states is computed. &lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/~konecny/ Filip Konecny] (EPFL, Lausanne, Switzerland)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;atva12&amp;quot;&amp;gt;[http://nts.imag.fr/images/b/b5/Ntslib.pdf &amp;quot;Accelerating Interpolants.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=70</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=70"/>
				<updated>2013-02-04T15:22:22Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Octahedron.png|thumb|upright|]]&lt;br /&gt;
&lt;br /&gt;
'''FLATA''' &amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[http://nts.imag.fr/images/c/c2/Fm12.pdf &amp;quot;A Verification Toolkit for Numerical Transition Systems.&amp;quot;] H. Hojjat, R. Iosif, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;  is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - checking if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running FLATA ==&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://nts.imag.fr/images/3/3a/Flata.tar.gz flata.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run ===&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow graph with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can veriify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verification of Non-recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
=== Reachability Analysis ===&lt;br /&gt;
&lt;br /&gt;
The reachability analysis semi-algorithm implemented in FLATA is based on computatation of procedure summaries. The core of the method is an algorithm for computing transitive closures of octagonal relations &amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d5/Cav10.pdf &amp;quot;Fast Acceleration of Ultimately Periodic Relations.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cav10-TR&amp;quot;&amp;gt;[http://www-verimag.imag.fr/TR/TR-2012-10.pdf &amp;quot;Relational Analysis of Integer Programs&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. VERIMAG technical report, TR-2012-10, 2012. &amp;lt;/ref&amp;gt;. The semi-algorithm is guaranteed to terminate for ''flat integer programs''.&lt;br /&gt;
&lt;br /&gt;
'''Example run'''&lt;br /&gt;
* (a correct program) &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* (program with a counterexample trace) &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/L2CA/listcounter.error.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Termination Analysis ===&lt;br /&gt;
&lt;br /&gt;
The semi-algorithm implemented in FLATA first attempts to compute a transition invariant as a disjunction of octagonal relations (by adapting the procedure summary algorithm) and then computes a termination precondition by applying an algorithm that computes the weakest termination precondition of octagonal relations &amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt; Deciding Conditional Termination. M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. ([http://arxiv.org/pdf/1210.42.pdf Extended journal submission.]) &amp;lt;/ref&amp;gt;. The semi-algorithm is guaranteed to terminate for ''flat integer programs''.&lt;br /&gt;
&lt;br /&gt;
'''Example run'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
Given a recursive program, FLATA attempts to compute its summary by computing increasingly precise underapproximations of the program &amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[http://arxiv.org/pdf/1210.4289.pdf &amp;quot;Underapproximation of Procedure Summaries for Integer Programs.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;. Note that error control states are ignored and that a reachability relation between initial and final control states is computed. The semi-algorithm is guaranteed to terminate for ''bounded periodic integer programs''. &lt;br /&gt;
&lt;br /&gt;
'''Example run'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/~konecny/ Filip Konecny] (VERIMAG and Brno University of Technology)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;atva12&amp;quot;&amp;gt;[http://nts.imag.fr/images/b/b5/Ntslib.pdf &amp;quot;Accelerating Interpolants.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=69</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=69"/>
				<updated>2013-02-04T15:12:20Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Octahedron.png|thumb|upright|]]&lt;br /&gt;
&lt;br /&gt;
'''FLATA''' &amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[http://nts.imag.fr/images/c/c2/Fm12.pdf &amp;quot;A Verification Toolkit for Numerical Transition Systems.&amp;quot;] H. Hojjat, R. Iosif, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;  is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - deciding if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running FLATA ==&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://nts.imag.fr/images/3/3a/Flata.tar.gz flata.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run ===&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can veriify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verification of Non-recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
=== Reachability Analysis ===&lt;br /&gt;
&lt;br /&gt;
The reachability analysis semi-algorithm implemented in FLATA is based on computatation of procedure summaries. The core of the method is an algorithm for computing transitive closures of octagonal relations &amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d5/Cav10.pdf &amp;quot;Fast Acceleration of Ultimately Periodic Relations.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cav10-TR&amp;quot;&amp;gt;[http://www-verimag.imag.fr/TR/TR-2012-10.pdf &amp;quot;Relational Analysis of Integer Programs&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. VERIMAG technical report, TR-2012-10, 2012. &amp;lt;/ref&amp;gt;. The semi-algorithm is guaranteed to terminate for ''flat integer programs''.&lt;br /&gt;
&lt;br /&gt;
'''Example run'''&lt;br /&gt;
* (a correct program) &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* (program with a counterexample trace) &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/L2CA/listcounter.error.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Termination Analysis ===&lt;br /&gt;
&lt;br /&gt;
The semi-algorithm implemented in FLATA first attempts to compute a transition invariant as a disjunction of octagonal relations (by adapting the procedure summary algorithm) and then computes a termination precondition by applying an algorithm computing the weakest termination precondition of octagonal relations &amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt;[lmcs-draft.pdf &amp;quot;Deciding Conditional Termination.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;. The semi-algorithm is guaranteed to terminate for ''flat integer programs''.&lt;br /&gt;
&lt;br /&gt;
'''Example run'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
Given a recursive program, FLATA attempts to compute its summary by computing increasingly precise underapproximations of the program &amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[http://arxiv.org/pdf/1210.4289.pdf &amp;quot;Underapproximation of Procedure Summaries for Integer Programs.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;. Note that error control states are ignored and a reachability relation between initial and final control states is computed. The semi-algorithm is guaranteed to terminate for ''bounded periodic integer programs''. &lt;br /&gt;
&lt;br /&gt;
'''Example run'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/~konecny/ Filip Konecny] (VERIMAG and Brno University of Technology)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;atva12&amp;quot;&amp;gt;[http://nts.imag.fr/images/b/b5/Ntslib.pdf &amp;quot;Accelerating Interpolants.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=68</id>
		<title>File:Flata.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Flata.tar.gz&amp;diff=68"/>
				<updated>2013-02-04T15:10:20Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Octahedron.png&amp;diff=67</id>
		<title>File:Octahedron.png</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Octahedron.png&amp;diff=67"/>
				<updated>2013-02-04T15:06:12Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=66</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=66"/>
				<updated>2013-02-04T15:02:57Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Octahedron.png|thumb|upright|]]&lt;br /&gt;
&lt;br /&gt;
'''FLATA'''&amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[http://nts.imag.fr/images/c/c2/Fm12.pdf &amp;quot;A Verification Toolkit for Numerical Transition Systems.&amp;quot;] H. Hojjat, R. Iosif, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
 is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - deciding if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running FLATA ==&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://nts.imag.fr/images/1/1a/Flata.gz flata.gz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run ===&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can veriify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verification of Non-recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
=== Reachability Analysis ===&lt;br /&gt;
&lt;br /&gt;
The reachability analysis semi-algorithm implemented in FLATA is based on computatation of procedure summaries. The core of the method is an algorithm for computing transitive closures of octagonal relations &amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[http://nts.imag.fr/images/d/d5/Cav10.pdf &amp;quot;Fast Acceleration of Ultimately Periodic Relations.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cav10-TR&amp;quot;&amp;gt;[http://www-verimag.imag.fr/TR/TR-2012-10.pdf &amp;quot;Relational Analysis of Integer Programs&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. VERIMAG technical report, TR-2012-10, 2012. &amp;lt;/ref&amp;gt;. The semi-algorithm is guaranteed to terminate for ''flat integer programs''.&lt;br /&gt;
&lt;br /&gt;
'''Example run'''&lt;br /&gt;
* (a correct program) &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* (program with a counterexample trace) &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/L2CA/listcounter.error.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Termination Analysis ===&lt;br /&gt;
&lt;br /&gt;
The semi-algorithm implemented in FLATA first attempts to compute a transition invariant as a disjunction of octagonal relations (by adapting the procedure summary algorithm) and then computes a termination precondition by applying an algorithm computing the weakest termination precondition of octagonal relations &amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt;[lmcs-draft.pdf &amp;quot;Deciding Conditional Termination.&amp;quot;] M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;. The semi-algorithm is guaranteed to terminate for ''flat integer programs''.&lt;br /&gt;
&lt;br /&gt;
'''Example run'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-termination.sh benchmarks-term/anubhav.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
Given a recursive program, FLATA attempts to compute its summary by computing increasingly precise underapproximations of the program &amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[http://arxiv.org/pdf/1210.4289.pdf &amp;quot;Underapproximation of Procedure Summaries for Integer Programs.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;. Note that error control states are ignored and a reachability relation between initial and final control states is computed. The semi-algorithm is guaranteed to terminate for ''bounded periodic integer programs''. &lt;br /&gt;
&lt;br /&gt;
'''Example run'''&lt;br /&gt;
* &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/~konecny/ Filip Konecny] (VERIMAG and Brno University of Technology)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&amp;lt;ref name=&amp;quot;atva12&amp;quot;&amp;gt;[http://nts.imag.fr/images/b/b5/Ntslib.pdf &amp;quot;Accelerating Interpolants.&amp;quot;] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Fm12.pdf&amp;diff=65</id>
		<title>File:Fm12.pdf</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Fm12.pdf&amp;diff=65"/>
				<updated>2013-02-04T15:00:58Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Cav10.pdf&amp;diff=64</id>
		<title>File:Cav10.pdf</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Cav10.pdf&amp;diff=64"/>
				<updated>2013-02-04T14:57:39Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Flata.gz&amp;diff=63</id>
		<title>File:Flata.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Flata.gz&amp;diff=63"/>
				<updated>2013-02-04T14:51:58Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=62</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=62"/>
				<updated>2013-02-04T13:29:22Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Octahedron.png|thumb|upright|]]&lt;br /&gt;
&lt;br /&gt;
'''FLATA''' is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs - deciding if an error control state is reachable&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs - computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running FLATA ==&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://www.fit.vutbr.cz/~ikonecny/flata/flata.tgz flata.tgz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://glpk-java.sourceforge.net/ GLPK Java] has to be installed in LD_LIBRARY_PATH (required for termination analysis only)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run ===&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton, essentially a control flow with edges labeled with arithmetic relations. A good way to get started using FLATA is to go through some of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can veriify) contained in the distribution and run FLATA as e.g.:&lt;br /&gt;
&lt;br /&gt;
* reachability analysis &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-reach/VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* termination analysis &lt;br /&gt;
* summary computation &amp;lt;tt&amp;gt;./flata-reachability.sh benchmarks-recur/mccarthy.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verification of Non-recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
=== Reachability Analysis ===&lt;br /&gt;
&lt;br /&gt;
FLATA compu&lt;br /&gt;
&lt;br /&gt;
The core of the analysis is an algorithm from CAV'10. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Termination Analysis ===&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following papers are related to the FLATA project: &lt;br /&gt;
&lt;br /&gt;
A white paper describing the functionalities of the toolset, and including a detailed description of the input syntax and options will be coming soon. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/~konecny/ Filip Konecny] (VERIMAG and Brno University of Technology)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[seplogic.pdf Fast Acceleration of Ultimately Periodic Relations.] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt;[seplogic.pdf Deciding Conditional Termination.] M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[seplogic.pdf Underapproximation of Procedure Summaries for Integer Programs.] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[seplogic.pdf A Verification Toolkit for Numerical Transition Systems.] H. Hojjat, R. Iosif, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[seplogic.pdf Accelerating Interpolants.] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Octaheron.png&amp;diff=61</id>
		<title>File:Octaheron.png</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Octaheron.png&amp;diff=61"/>
				<updated>2013-02-04T12:30:17Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=60</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=60"/>
				<updated>2013-02-04T11:31:01Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Octahedron.gif|thumb|upright|]]&lt;br /&gt;
&lt;br /&gt;
'''FLATA''' is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability analysis''' of non-recursive programs -- deciding if an error state is reachable from an initial state&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' of non-recursive programs -- computation of termination preconditions&lt;br /&gt;
&lt;br /&gt;
* computation of '''summaries''' of recursive programs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running FLATA ==&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://www.fit.vutbr.cz/~ikonecny/flata/flata.tgz flata.tgz]&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Run ===&lt;br /&gt;
&lt;br /&gt;
A good way to get started using FLATA is to go through one of the examples (a subset of [[Main_Page | NTS]] benchmarks that FLATA can veriify) linked here: &lt;br /&gt;
[http://www.fit.vutbr.cz/~ikonecny/flata/benchmarks.tgz benchmarks.tgz]&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton (see examples below), essentially a control flow. &lt;br /&gt;
&lt;br /&gt;
Run FLATA as e.g. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;java -classpath flata.jar:nts.jar:antlr-3.2.jar verimag.flata.Main VHDL/synlifo.correct.nts&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the README file for further information.&lt;br /&gt;
&lt;br /&gt;
== Verification of Non-recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
=== Reachability Analysis ===&lt;br /&gt;
&lt;br /&gt;
FLATA compu&lt;br /&gt;
&lt;br /&gt;
The core of the analysis is an algorithm from CAV'10. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Termination Analysis ===&lt;br /&gt;
&lt;br /&gt;
== Verification of Recursive Programs ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following papers are related to the FLATA project: &lt;br /&gt;
&lt;br /&gt;
A white paper describing the functionalities of the toolset, and including a detailed description of the input syntax and options will be coming soon. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/~konecny/ Filip Konecny] (VERIMAG and Brno University of Technology)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reference test==&lt;br /&gt;
&lt;br /&gt;
This is the text that you are going to verify with a reference.&amp;lt;ref&amp;gt;Reference details go here&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[seplogic.pdf Fast Acceleration of Ultimately Periodic Relations.] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt;[seplogic.pdf Deciding Conditional Termination.] M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[seplogic.pdf Underapproximation of Procedure Summaries for Integer Programs.] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[seplogic.pdf A Verification Toolkit for Numerical Transition Systems.] H. Hojjat, R. Iosif, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[seplogic.pdf Accelerating Interpolants.] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Flata&amp;diff=59</id>
		<title>Flata</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Flata&amp;diff=59"/>
				<updated>2013-02-04T10:53:52Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: Created page with &amp;quot;upright|  '''FLATA''' is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Octahedron.gif|thumb|upright|]]&lt;br /&gt;
&lt;br /&gt;
'''FLATA''' is a toolset for the manipulation and the analysis of non-deterministic integer programs (also known as counter automata). The main functionalities of FLATA are: &lt;br /&gt;
&lt;br /&gt;
* '''reachability anaylysis''' -- deciding if an error state of a non-recursive programs is reachable from an initial state&lt;br /&gt;
&lt;br /&gt;
* '''termination analysis''' -- computation of termination preconditions for non-recursive programs&lt;br /&gt;
&lt;br /&gt;
* '''summarization''' for recursive programs --  computation of summaries of recursive programs&lt;br /&gt;
&lt;br /&gt;
The input to the tool is a textual description of a counter automaton (see examples below), essentially a control flow . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FLATA is a free software under LGPL license. The current distribution of FLATA is available here: [http://www.fit.vutbr.cz/~ikonecny/flata/flata.tgz flata.tgz]&lt;br /&gt;
&lt;br /&gt;
A good way to get started using FLATA is to go through one of the examples (a subset of [http://richmodels.epfl.ch/ntscomp/ntslib NTS] benchmarks that FLATA can veriify) linked here: &lt;br /&gt;
[http://www.fit.vutbr.cz/~ikonecny/flata/benchmarks.tgz benchmarks.tgz]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/ JAVA] version 1.6.0 or later&lt;br /&gt;
&lt;br /&gt;
* [http://yices.csl.sri.com/download.shtml YICES] has to be installed in your executable path&lt;br /&gt;
&lt;br /&gt;
* [http://antlr.org/download/antlr-3.2.jar ANTLR] and [http://www.fit.vutbr.cz/~ikonecny/flata/nts.jar NTS] has to be installed in your JAVA classpath&lt;br /&gt;
&lt;br /&gt;
Run FLATA as e.g. &lt;br /&gt;
&lt;br /&gt;
{{java -classpath flata.jar:nts.jar:antlr-3.2.jar verimag.flata.Main VHDL/synlifo.correct.nts}} &lt;br /&gt;
&lt;br /&gt;
See the README file for further information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following papers are related to the FLATA project: &lt;br /&gt;
&lt;br /&gt;
- M. Bozga, R. Iosif and F. Konecny. [{Fast Acceleration of Ultimately Periodic Relations}-&amp;gt;http://www-verimag.imag.fr/TR/TR-2010-3.pdf] VERIMAG TR-2010-3&lt;br /&gt;
&lt;br /&gt;
- M. Bozga, C. Girlea and R. Iosif. [{Iterating Octagons}-&amp;gt;http://www-verimag.imag.fr/%7Eiosif/papers/tacas09.ps] TACAS 2009&lt;br /&gt;
&lt;br /&gt;
- M. Bozga, R. Iosif and Y. Lakhnech [{Flat Parametric Counter Automata}-&amp;gt;http://www-verimag.imag.fr/%7Eiosif/papers/fundamenta09.ps] Fundamenta Informaticae, Volume 91 (2), 275 - 303, IOS Press (2009)&lt;br /&gt;
&lt;br /&gt;
A white paper describing the functionalities of the toolset, and including a detailed description of the input syntax and options will be coming soon. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is possible to use FLATA in order to solve the satisfiability problem for {{SIL}} (Singly Indexed Logic), a logic used to specify properties of integer arrays. The extension can be downloaded here:&lt;br /&gt;
&lt;br /&gt;
- [flata-with-sil jar file-&amp;gt;http://www.fit.vutbr.cz/~ikonecny/flata/sil.tgz] &lt;br /&gt;
- [sil-examples.tar.gz-&amp;gt;http://www.fit.vutbr.cz/~ikonecny/flata/sil-examples.tgz]&lt;br /&gt;
&lt;br /&gt;
A description of the SIL logic and its applications can be found in the following papers:&lt;br /&gt;
&lt;br /&gt;
- P. Habermehl, R. Iosif, T. Vojnar. [{A Logic of Singly Indexed Arrays}-&amp;gt;http://www-verimag.imag.fr/%7Eiosif/papers/lpar08.ps] LPAR'08&lt;br /&gt;
&lt;br /&gt;
- M. Bozga, P. Habermehl, R. Iosif, F. Konecny, T. Vojnar. [{Automatic Verification of Integer Array Programs}-&amp;gt;http://www-verimag.imag.fr/%7Eiosif/papers/cav09.ps] CAV'09&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Ebozga Marius Bozga] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/%7Eiosif Radu Iosif] (VERIMAG, Grenoble, France)&lt;br /&gt;
* [http://www-verimag.imag.fr/~konecny/ Filip Konecny] (VERIMAG and Brno University of Technology)&lt;br /&gt;
* [http://www.fit.vutbr.cz/~vojnar/ Tomas Vojnar] (Brno University of Technology, Czech Republic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
This work was supported by the French national project ANR-09-SEGI-016 VERIDYC, by the Czech Science Foundation (projects P103/10/0306 and 102/09/H042), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), and the internal FIT BUT grant FIT-S-10-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;cav10&amp;quot;&amp;gt;[seplogic.pdf Fast Acceleration of Ultimately Periodic Relations.] M. Bozga, R. Iosif, and F. Konecny. In Proc. of CAV'10, volume 6174 of LNCS, pages 227-242, 2010. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;tacas12&amp;quot;&amp;gt;[seplogic.pdf Deciding Conditional Termination.] M. Bozga, R. Iosif, and F. Konecny. In Proc. of TACAS'12, volume 7214 of LNCS, pages 252-266, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[seplogic.pdf Underapproximation of Procedure Summaries for Integer Programs.] P. Ganty, R. Iosif and F. Konecny.  In Proc. of TACAS'13. To appear. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fm12&amp;quot;&amp;gt;[seplogic.pdf A Verification Toolkit for Numerical Transition Systems.] H. Hojjat, R. Iosif, F. Konecny, V. Kuncak, and P. Rummer. In Proc. of FM'12, volume 7436 of LNCS, pages 247-251, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;tacas13&amp;quot;&amp;gt;[seplogic.pdf Accelerating Interpolants.] P. Ganty, R. Iosif and F. Konecny.  In Proc. of ATVA'12, volume 7561 of LNCS, pages 187-202, 2012. Springer-Verlag. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Octahedron.gif&amp;diff=58</id>
		<title>File:Octahedron.gif</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Octahedron.gif&amp;diff=58"/>
				<updated>2013-02-04T10:33:52Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Main_Page&amp;diff=41</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Main_Page&amp;diff=41"/>
				<updated>2013-01-31T16:20:24Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: Undo revision 40 by Konecny (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Numerical Transition Systems Repository'''&lt;br /&gt;
&lt;br /&gt;
Numerical Transition Systems (a.k.a. Counter Systems, Counter Automata or Counter Machines) are simple models of computation involving infinite (or very large) data domains, such as integers or real numbers. Despite their apparent simplicity, NTS can, in theory, model any real-life computer system, ranging from hardware circuits to programs. As a consequence, an important number of tools have emerged, addressing verification problems, such as reachability or termination, and deploying various techniques (widening, predicate abstraction, acceleration, etc.). The aim of NTS is to focus the verification community on a common general format (NTS-lib) for describing NTS, and to build a open library of benchmarks that will be contributed to by tool developers.&lt;br /&gt;
&lt;br /&gt;
===== NTS-lib =====&lt;br /&gt;
&lt;br /&gt;
* [[Language Reference Manual]][[Media::Ntslib.pdf]]&lt;br /&gt;
* Download [[Media:Java-nts.tar.gz]]&lt;br /&gt;
* Download [[OCAML API]]&lt;br /&gt;
* [[Benchmarks]]&lt;br /&gt;
&lt;br /&gt;
===== Software =====&lt;br /&gt;
&lt;br /&gt;
* [[Flata]] (an NTS verifier)&lt;br /&gt;
* [[Flata-C]] (C front-end for NTS)&lt;br /&gt;
* [[boogie2nts]] (converts a subset of Boogie to NTS)&lt;br /&gt;
* [[nts2horn]] (converts NTS into Horn clauses)&lt;br /&gt;
&lt;br /&gt;
===== Projects =====&lt;br /&gt;
&lt;br /&gt;
* [https://sites.google.com/site/veridyc VERIDYC] ANR-09-SEGI-016 (2009-2013)&lt;br /&gt;
&lt;br /&gt;
===== Events =====&lt;br /&gt;
 &lt;br /&gt;
* [[AVM 2014]]&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Main_Page&amp;diff=40</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Main_Page&amp;diff=40"/>
				<updated>2013-01-31T16:19:32Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: /* NTS-lib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Numerical Transition Systems Repository'''&lt;br /&gt;
&lt;br /&gt;
Numerical Transition Systems (a.k.a. Counter Systems, Counter Automata or Counter Machines) are simple models of computation involving infinite (or very large) data domains, such as integers or real numbers. Despite their apparent simplicity, NTS can, in theory, model any real-life computer system, ranging from hardware circuits to programs. As a consequence, an important number of tools have emerged, addressing verification problems, such as reachability or termination, and deploying various techniques (widening, predicate abstraction, acceleration, etc.). The aim of NTS is to focus the verification community on a common general format (NTS-lib) for describing NTS, and to build a open library of benchmarks that will be contributed to by tool developers.&lt;br /&gt;
&lt;br /&gt;
===== NTS-lib =====&lt;br /&gt;
&lt;br /&gt;
* [[Language Reference Manual]][[Media::Ntslib.pdf]]&lt;br /&gt;
* Download [[Java API:Java-nts.tar.gz]]&lt;br /&gt;
* Download [[OCAML API]]&lt;br /&gt;
* [[Benchmarks]]&lt;br /&gt;
&lt;br /&gt;
===== Software =====&lt;br /&gt;
&lt;br /&gt;
* [[Flata]] (an NTS verifier)&lt;br /&gt;
* [[Flata-C]] (C front-end for NTS)&lt;br /&gt;
* [[boogie2nts]] (converts a subset of Boogie to NTS)&lt;br /&gt;
* [[nts2horn]] (converts NTS into Horn clauses)&lt;br /&gt;
&lt;br /&gt;
===== Projects =====&lt;br /&gt;
&lt;br /&gt;
* [https://sites.google.com/site/veridyc VERIDYC] ANR-09-SEGI-016 (2009-2013)&lt;br /&gt;
&lt;br /&gt;
===== Events =====&lt;br /&gt;
 &lt;br /&gt;
* [[AVM 2014]]&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Main_Page&amp;diff=39</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Main_Page&amp;diff=39"/>
				<updated>2013-01-31T16:19:08Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: /* NTS-lib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Numerical Transition Systems Repository'''&lt;br /&gt;
&lt;br /&gt;
Numerical Transition Systems (a.k.a. Counter Systems, Counter Automata or Counter Machines) are simple models of computation involving infinite (or very large) data domains, such as integers or real numbers. Despite their apparent simplicity, NTS can, in theory, model any real-life computer system, ranging from hardware circuits to programs. As a consequence, an important number of tools have emerged, addressing verification problems, such as reachability or termination, and deploying various techniques (widening, predicate abstraction, acceleration, etc.). The aim of NTS is to focus the verification community on a common general format (NTS-lib) for describing NTS, and to build a open library of benchmarks that will be contributed to by tool developers.&lt;br /&gt;
&lt;br /&gt;
===== NTS-lib =====&lt;br /&gt;
&lt;br /&gt;
* [[Language Reference Manual]][[Media::Ntslib.pdf]]&lt;br /&gt;
* Download [[Media:Java-nts.tar.gz]]&lt;br /&gt;
* Download [[OCAML API]]&lt;br /&gt;
* [[Benchmarks]]&lt;br /&gt;
&lt;br /&gt;
===== Software =====&lt;br /&gt;
&lt;br /&gt;
* [[Flata]] (an NTS verifier)&lt;br /&gt;
* [[Flata-C]] (C front-end for NTS)&lt;br /&gt;
* [[boogie2nts]] (converts a subset of Boogie to NTS)&lt;br /&gt;
* [[nts2horn]] (converts NTS into Horn clauses)&lt;br /&gt;
&lt;br /&gt;
===== Projects =====&lt;br /&gt;
&lt;br /&gt;
* [https://sites.google.com/site/veridyc VERIDYC] ANR-09-SEGI-016 (2009-2013)&lt;br /&gt;
&lt;br /&gt;
===== Events =====&lt;br /&gt;
 &lt;br /&gt;
* [[AVM 2014]]&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Main_Page&amp;diff=38</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Main_Page&amp;diff=38"/>
				<updated>2013-01-31T16:18:28Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: /* NTS-lib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Numerical Transition Systems Repository'''&lt;br /&gt;
&lt;br /&gt;
Numerical Transition Systems (a.k.a. Counter Systems, Counter Automata or Counter Machines) are simple models of computation involving infinite (or very large) data domains, such as integers or real numbers. Despite their apparent simplicity, NTS can, in theory, model any real-life computer system, ranging from hardware circuits to programs. As a consequence, an important number of tools have emerged, addressing verification problems, such as reachability or termination, and deploying various techniques (widening, predicate abstraction, acceleration, etc.). The aim of NTS is to focus the verification community on a common general format (NTS-lib) for describing NTS, and to build a open library of benchmarks that will be contributed to by tool developers.&lt;br /&gt;
&lt;br /&gt;
===== NTS-lib =====&lt;br /&gt;
&lt;br /&gt;
* [[Language Reference Manual:Ntslib.pdf]]&lt;br /&gt;
* Download [[Java-nts.tar.gz]]&lt;br /&gt;
* Download [[OCAML API]]&lt;br /&gt;
* [[Benchmarks]]&lt;br /&gt;
&lt;br /&gt;
===== Software =====&lt;br /&gt;
&lt;br /&gt;
* [[Flata]] (an NTS verifier)&lt;br /&gt;
* [[Flata-C]] (C front-end for NTS)&lt;br /&gt;
* [[boogie2nts]] (converts a subset of Boogie to NTS)&lt;br /&gt;
* [[nts2horn]] (converts NTS into Horn clauses)&lt;br /&gt;
&lt;br /&gt;
===== Projects =====&lt;br /&gt;
&lt;br /&gt;
* [https://sites.google.com/site/veridyc VERIDYC] ANR-09-SEGI-016 (2009-2013)&lt;br /&gt;
&lt;br /&gt;
===== Events =====&lt;br /&gt;
 &lt;br /&gt;
* [[AVM 2014]]&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=Main_Page&amp;diff=37</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=Main_Page&amp;diff=37"/>
				<updated>2013-01-31T16:17:44Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: /* NTS-lib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Numerical Transition Systems Repository'''&lt;br /&gt;
&lt;br /&gt;
Numerical Transition Systems (a.k.a. Counter Systems, Counter Automata or Counter Machines) are simple models of computation involving infinite (or very large) data domains, such as integers or real numbers. Despite their apparent simplicity, NTS can, in theory, model any real-life computer system, ranging from hardware circuits to programs. As a consequence, an important number of tools have emerged, addressing verification problems, such as reachability or termination, and deploying various techniques (widening, predicate abstraction, acceleration, etc.). The aim of NTS is to focus the verification community on a common general format (NTS-lib) for describing NTS, and to build a open library of benchmarks that will be contributed to by tool developers.&lt;br /&gt;
&lt;br /&gt;
===== NTS-lib =====&lt;br /&gt;
&lt;br /&gt;
* [[Language Reference Manual:Ntslib.pdf]]&lt;br /&gt;
* Download [[Java API:Java-nts.tar.gz]]&lt;br /&gt;
* Download [[OCAML API]]&lt;br /&gt;
* [[Benchmarks]]&lt;br /&gt;
&lt;br /&gt;
===== Software =====&lt;br /&gt;
&lt;br /&gt;
* [[Flata]] (an NTS verifier)&lt;br /&gt;
* [[Flata-C]] (C front-end for NTS)&lt;br /&gt;
* [[boogie2nts]] (converts a subset of Boogie to NTS)&lt;br /&gt;
* [[nts2horn]] (converts NTS into Horn clauses)&lt;br /&gt;
&lt;br /&gt;
===== Projects =====&lt;br /&gt;
&lt;br /&gt;
* [https://sites.google.com/site/veridyc VERIDYC] ANR-09-SEGI-016 (2009-2013)&lt;br /&gt;
&lt;br /&gt;
===== Events =====&lt;br /&gt;
 &lt;br /&gt;
* [[AVM 2014]]&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Java-nts.tar.gz&amp;diff=36</id>
		<title>File:Java-nts.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Java-nts.tar.gz&amp;diff=36"/>
				<updated>2013-01-31T16:15:26Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	<entry>
		<id>http://nts.imag.fr/index.php?title=File:Ntslib.pdf&amp;diff=31</id>
		<title>File:Ntslib.pdf</title>
		<link rel="alternate" type="text/html" href="http://nts.imag.fr/index.php?title=File:Ntslib.pdf&amp;diff=31"/>
				<updated>2013-01-31T15:52:21Z</updated>
		
		<summary type="html">&lt;p&gt;Konecny: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Konecny</name></author>	</entry>

	</feed>