Difference between revisions of "Termination Competition"

From Termination-Portal.org
Jump to navigationJump to search
(→‎History of Termination Competitions: added 2019 in history, added results)
(Added links to some defined categories)
 
(35 intermediate revisions by 5 users not shown)
Line 8: Line 8:
 
the community then decided to install an annual termination competition, and to collect benchmarks,
 
the community then decided to install an annual termination competition, and to collect benchmarks,
 
to spur the development of tools and new termination techniques.
 
to spur the development of tools and new termination techniques.
 
From 2004 till 2007, the competition organizer was Claude Marché, [http://www.lri.fr/~marche/termination-competition/ Paris].
 
From 2008 to 2013 the competition was run by René Thiemann, [http://termcomp.uibk.ac.at Innsbruck].
 
From 2014 to 2017, the competition organizer was Johannes Waldmann. Jobs were run on the [https://www.starexec.org/ Star Exec] platform at U Iowa.
 
From 2018 on, the organizer is Akihisa Yamada. Jobs are run on Star-Exec.
 
  
 
== Upcoming Competitions ==
 
== Upcoming Competitions ==
  
* [[Termination Competition 2019]] is planned to be part of [https://tacas.info/toolympics.php Toolympics], with results presented during TACAS'19, April 7, Prague.
+
* The [[Termination Competition 2025]] will be held during [https://www.imn.htwk-leipzig.de/WST2025/ WST 2025], September 3-4, Leipzig, Germany.
  
 
== Competition Categories ==
 
== Competition Categories ==
  
Currently, the competition features the following categories:
+
Currently, the competition features the following categories. Since 2007 some of the categories also have [[Certified_Termination|certified categories]], where an additional certifier checks the output of the tools. Categories that were used in the past but not included in the three most recent competitions are marked with an <span style="color:red;">✖</span>.
* termination of [[String Rewriting|string]] and [[Term Rewriting|term rewriting]]
+
 
* [[Logic_Programming|termination of logic programs]]
+
=== Termination of Rewriting ===
* [[Certified_Termination|certified termination]] of string and term rewriting (since 2007)
+
 
* [[Functional_Programming|termination of functional programs]] (since 2007)
+
These categories consider the termination of <b>rewrite systems</b>, a foundational computational model used to represent symbolic computation and program transformations.
* [http://cl-informatik.uibk.ac.at/users/georg/cbr/competition/ complexity of rewrite systems] (since 2008)
+
The goal is to automatically prove that no infinite rewrite sequences are possible for the given system.
* [[Java_Bytecode|termination of Java Bytecode programs]] (since 2009)
+
Different categories capture variations of rewriting such as relative rewriting, context-sensitive rewriting, conditional rules, or restrictions on the rewriting strategy (e.g., innermost or outermost rewriting).
* [[Higher_Order|termination of higher order rewriting]] (since 2010)
 
* [[C_Programs|termination of C programs]] (since 2014)
 
* termination of [[Transition_Systems|integer transition systems]] (since 2014)
 
* [[ITRS|integer term rewriting]] (since 2014)
 
* [[C_Integer_Programs|termination of C integer programs]]
 
* [[Cycle_Rewriting|termination of cycle rewriting]]
 
  
 +
<div style="column-count:3; column-gap:2em;">
 +
* [[TRS Standard|TRS Standard]]
 +
* [[TRS Relative|TRS Relative]]
 +
* [[Term Rewriting#TRS Contextsensitive|TRS Contextsensitive]]
 +
* [[Term Rewriting#TRS Equational|TRS Equational]]
 +
* [[TRS Innermost|TRS Innermost]]
 +
* [[TRS Outermost|TRS Outermost]]
 +
* [[Term Rewriting#TRS Conditional|TRS Conditional]]
 +
* [[Term Rewriting#TRS Conditional - Operational Termination|TRS Conditional - Operational Termination]]
 +
* [[SRS Standard|SRS Standard]]
 +
* [[SRS Relative|SRS Relative]]
 +
* [[Cycle_Rewriting|Cycle Rewriting]] <span style="color:red;">✖</span>
 +
* [[Higher_Order|Higher Order Rewriting]] (since 2010)
 +
* [[ITRS|ITRS Innermost]] (since 2014)
 +
* [[Term Rewriting#Integer Transition Systems|ITS]] (since 2014)
 +
</div>
  
Discussion is open and primarily happens on the termtools mailing list.
+
=== Termination of Probabilistic Rewriting ===
Decisions will be made by votes among the [[Termination Competition Steering Committee]], with current members
+
 
* [http://verify.rwth-aachen.de/giesl/ Jürgen Giesl], RWTH Aachen
+
These categories address <b> probabilistic rewrite systems </b>, where rewrite rules are applied according to probability distributions.  
* [https://www.cs.upc.edu/~albert/ Albert Rubio] (Chair), UPC Barcelona
+
Instead of classical termination, the goal is to prove almost-sure termination, i.e., that infinite executions occur with probability zero,
* [http://cl-informatik.uibk.ac.at/users/griff/ Christian Sternagel], U. Innsbruck
+
or strong almost-sure termination, i.e., that the expected runtime is finite.  
* [https://www.imn.htwk-leipzig.de/~waldmann/ Johannes Waldmann], HTWK Leipzig
+
This lifts termination analysis to models that capture randomized algorithms or stochastic behavior.
* [http://group-mmm.org/~ayamada/ Akihisa Yamada], NII Tokyo
+
 
 +
<div style="column-count:3; column-gap:2em;">
 +
* [[PTRS Standard|PTRS Standard]]
 +
* [[PTRS Innermost|PTRS Innermost]]
 +
</div>
 +
 
 +
Currently, there are only categories regarding probabilistic rewrite systems,
 +
but an extension to probabilistic imperative programs may be possible in future competitions.
  
== Termination Problems Data Base ==
+
=== Termination of Programs ===
  
The [[TPDB|Termination Problems Data Base]] collects all the problems used in the competitions.  
+
These categories focus on proving termination of <b> actual programming languages </b> used in industry.
 +
The categories differ by the source programming language or program model.
  
We welcome problem submissions from non-participants.
+
<div style="column-count:3; column-gap:2em;">
 +
* [[Logic_Programming|Termination of logic programs]]
 +
* [[Functional_Programming|Termination of functional programs]] (since 2007)
 +
* [[Java_Bytecode|Termination of Java Bytecode programs]] (since 2009)
 +
* [[C_Programs|Termination of C programs]] (since 2014)
 +
</div>
  
== History of Termination Competitions ==
+
=== Complexity of Rewriting ===
  
The following competitions have taken place:
+
These categories evaluate tools that automatically analyze the <b> asymptotic complexity of rewrite systems </b>.
 +
Instead of only proving termination, the goal is to derive upper bounds on the length of rewrite sequences,
 +
typically expressed as functions of the input size.
 +
Different categories measure difference runtime complexities under various rewriting strategies and different restrictions on the initial start term.
  
* [[Termination Competition 2019]] affiliated with [https://tacas.info/toolympics.php Toolympics at TACAS 2019], [https://group-mmm.org/termination/competitions/Y2019/ Results].
+
<div style="column-count:3; column-gap:2em;">
* [[Termination Competition 2018]] affiliated with FLoC 2018, Oxford, UK, July 13, 2018, [https://group-mmm.org/termination/competitions/Y2018/ Results].
+
* [[Term Rewriting#Runtime Complexity|TRS Runtime Complexity]]
 +
* [[Term Rewriting#Runtime Complexity|TRS Innermost Runtime Complexity]]
 +
* [[Term Rewriting#Runtime Complexity|TRS Derivational Complexity]]
 +
* [[Term Rewriting#Runtime Complexity|TRS Innermost Derivational Complexity]]
 +
* TRS Parallel Innermost Derivational Complexity
 +
* [[Term Rewriting#Integer Transition Systems|ITS Complexity]]
 +
</div>
  
* [[Termination_Competition_2017|Termination Competition 2017]] affiliated with [http://www.cs.ox.ac.uk/conferences/fscd2017/ FSCD], [http://termcomp.imn.htwk-leipzig.de/competitions/Y2017 Results of Competition], [http://termcomp.imn.htwk-leipzig.de/competitions/67 Results of demonstration].
+
=== Complexity Analysis ===
  
* [[Termination_Competition_2016|Termination Competition 2016]] affiliated with [http://cl-informatik.uibk.ac.at/events/wst-2016/ WST (Workshop on Termination)], [http://termcomp.imn.htwk-leipzig.de/competitions/Y2016 Results of Competition]. [http://www.cs.upc.edu/~albert/papers/termcomp2016_slides.pdf Presentation at WST]
+
These categories focus on automatically determining <b> time complexity bounds for programs written in concrete programming languages </b>.  
 +
Tools analyze the program’s control flow, data dependencies, and loops to derive asymptotic upper bounds on runtime with respect to the input size.
  
* [[Termination Competition 2015]], [http://termcomp.imn.htwk-leipzig.de/competitions/Y2015 Results of Competition], [http://www.cs.upc.edu/~albert/papers/termCompCADE2015.pdf Description paper at CADE-25] [http://www.cs.upc.edu/~albert/papers/termcomp2015_slides.pdf Report]
+
<div style="column-count:3; column-gap:2em;">
 +
* [[C_Complexity|Complexity of C programs]]
 +
</div>
  
* [[Termination Competition 2014]], [http://termcomp.imn.htwk-leipzig.de/competitions/Y2014 Results of Competition], [http://nfa.imn.htwk-leipzig.de/termcomp/competition/23 Results of Demonstration]
+
== Competition Benchmarks ==
  
[[Termination Competition 2013]], [http://termcomp.uibk.ac.at/termcomp/competition/competitionSummary.seam?comp=437763 Results], [http://termcomp.uibk.ac.at/2013/competition2013.pdf Report]
+
The [[TPDB|Termination Problems Data Base]] collects all the problems used in the competitions.  
  
*  [[Termination Competition 2012]], [http://termcomp.uibk.ac.at/termcomp/competition/competitionSummary.seam?comp=362062 Results], [http://verify.rwth-aachen.de/giesl/competition2012.pdf Report]
+
We welcome problem submissions from non-participants.
  
*  [[Termination Competition 2011]], [http://termcomp.uibk.ac.at/termcomp/competition/competitionSummary.seam?comp=230715 Results], [http://termcomp.uibk.ac.at/2011/competition2011.pdf Report]
+
== Organization ==
  
[[Termination Competition 2010]], [http://termcomp.uibk.ac.at/termcomp/competition/competitionSummary.seam?comp=185404 Results]  
+
Questions and suggestions regarding the competition
 +
should go to [[Termtools|the termtools mailing list]].
 +
Discussion is open and happens primarily on the list.
 +
Decisions will be made by votes among the [[Termination Competition Steering Committee]], with current members
 +
* [https://ffrohn.github.io Florian Frohn] (Chair), RWTH Aachen
 +
* [https://verify.rwth-aachen.de/giesl/ Jürgen Giesl], RWTH Aachen
 +
* [http://cl-informatik.uibk.ac.at/users/georg/ Georg Moser], University of Innsbruck
 +
* [http://lim.univ-reunion.fr/staff/epayet/ Étienne Payet], Université de La Réunion
 +
* [https://group-mmm.org/~ayamada/ Akihisa Yamada], AIST Tokyo Waterfront
 +
* Dieter Hofbauer, ASW Saarland
  
*  Termination Competition 2009 [http://termcomp.uibk.ac.at/termcomp/competition/competitionSummary.seam?comp=101722 Results], [http://lists.lri.fr/pipermail/termtools/2009-November/000778.html Announcement]
+
From 2004 till 2007, the competition organizer was Claude March&eacute;, [http://www.lri.fr/~marche/termination-competition/ Paris].
 +
From 2008 to 2013 the competition was run by Ren&eacute; Thiemann, [http://termcomp.uibk.ac.at Innsbruck].
 +
From 2014 to 2017, the competition organizer was Johannes Waldmann. Jobs were run on the [https://www.starexec.org/ Star Exec] platform at U Iowa.
 +
From 2018 to 2023, the organizer was Akihisa Yamada.
 +
From 2024 on, the organizer is Florian Frohn.
  
* [[Termination_Competition_2008|Termination Competition 2008]], [http://termcomp.uibk.ac.at/termcomp/competition/competitionSummary.seam?comp=15991 Results], [http://www.imn.htwk-leipzig.de/~waldmann/talk/09/wst/ Report]
+
== History of Termination Competitions ==
* [http://www.lri.fr/~marche/termination-competition/2007/ Termination Competition 2007], [http://www.imn.htwk-leipzig.de/~waldmann/talk/07/wst/competition/ Report]
 
* [http://www.lri.fr/~marche/termination-competition/2006/ Termination Competition 2006], [http://www.lri.fr/~marche/termination-competition/2006/reportCompetition2006.pdf Report]
 
* [http://www.lri.fr/~marche/termination-competition/2005/ Termination Competition 2005], [http://www.lri.fr/~marche/termination-competition/2005/TC.ppt Report]
 
* [http://www.lri.fr/~marche/termination-competition/2004/ Termination Competition 2004], [http://www.lri.fr/~marche/termination-competition/2004/slides-1jun2004.ps Report]
 
  
At the "tool demonstration" in 2003, participating provers (including AProVe, Torpa, Matchbox)
+
A list of all competitions that have been taken place can be found [[Termination Competition History|here]].
were run on the laptop computers of their developers in the room. Termination problems were announced
 
on the spot by participants, then written on the blackboard, then typed in by everyone, and when a team's program
 
could solve it, they shouted "solved".
 
  
== Static Backups of Results ==
+
==== Results ====
  
For many previous competitions, static backups of the results are availble [https://aprove-developers.github.io/termcomp_results/ here].
+
The results of (almost) all competitions are available [https://termcomp.github.io/ here]

Latest revision as of 10:03, 11 March 2026

Annual International Termination Competition

During the 90's a number of new, powerful termination methods was developed. Thus, at the beginning of the millennium many research groups started to develop tools for fully-automated termination analysis.

After a tool demonstration at the Termination Workshop 2003 (Valencia), the community then decided to install an annual termination competition, and to collect benchmarks, to spur the development of tools and new termination techniques.

Upcoming Competitions

Competition Categories

Currently, the competition features the following categories. Since 2007 some of the categories also have certified categories, where an additional certifier checks the output of the tools. Categories that were used in the past but not included in the three most recent competitions are marked with an .

Termination of Rewriting

These categories consider the termination of rewrite systems, a foundational computational model used to represent symbolic computation and program transformations. The goal is to automatically prove that no infinite rewrite sequences are possible for the given system. Different categories capture variations of rewriting such as relative rewriting, context-sensitive rewriting, conditional rules, or restrictions on the rewriting strategy (e.g., innermost or outermost rewriting).

Termination of Probabilistic Rewriting

These categories address probabilistic rewrite systems , where rewrite rules are applied according to probability distributions. Instead of classical termination, the goal is to prove almost-sure termination, i.e., that infinite executions occur with probability zero, or strong almost-sure termination, i.e., that the expected runtime is finite. This lifts termination analysis to models that capture randomized algorithms or stochastic behavior.

Currently, there are only categories regarding probabilistic rewrite systems, but an extension to probabilistic imperative programs may be possible in future competitions.

Termination of Programs

These categories focus on proving termination of actual programming languages used in industry. The categories differ by the source programming language or program model.

Complexity of Rewriting

These categories evaluate tools that automatically analyze the asymptotic complexity of rewrite systems . Instead of only proving termination, the goal is to derive upper bounds on the length of rewrite sequences, typically expressed as functions of the input size. Different categories measure difference runtime complexities under various rewriting strategies and different restrictions on the initial start term.

Complexity Analysis

These categories focus on automatically determining time complexity bounds for programs written in concrete programming languages . Tools analyze the program’s control flow, data dependencies, and loops to derive asymptotic upper bounds on runtime with respect to the input size.

Competition Benchmarks

The Termination Problems Data Base collects all the problems used in the competitions.

We welcome problem submissions from non-participants.

Organization

Questions and suggestions regarding the competition should go to the termtools mailing list. Discussion is open and happens primarily on the list. Decisions will be made by votes among the Termination Competition Steering Committee, with current members

From 2004 till 2007, the competition organizer was Claude Marché, Paris. From 2008 to 2013 the competition was run by René Thiemann, Innsbruck. From 2014 to 2017, the competition organizer was Johannes Waldmann. Jobs were run on the Star Exec platform at U Iowa. From 2018 to 2023, the organizer was Akihisa Yamada. From 2024 on, the organizer is Florian Frohn.

History of Termination Competitions

A list of all competitions that have been taken place can be found here.

Results

The results of (almost) all competitions are available here