<?xml version="1.0" encoding="UTF-8"?>

<modsCollection xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-3.xsd">
<mods version="3.3">

<genre>conference paper</genre>

<titleInfo><title>Proving non-termination by program reversal</title></titleInfo>


<note type="publicationStatus">published</note>


<note type="qualityControlled">yes</note>

<name type="personal">
  <namePart type="given">Krishnendu</namePart>
  <namePart type="family">Chatterjee</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">2E5DCA20-F248-11E8-B48F-1D18A9856A87</identifier><description xsi:type="identifierDefinition" type="orcid">0000-0002-4561-241X</description></name>
<name type="personal">
  <namePart type="given">Ehsan Kafshdar</namePart>
  <namePart type="family">Goharshady</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Petr</namePart>
  <namePart type="family">Novotný</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">3CC3B868-F248-11E8-B48F-1D18A9856A87</identifier></name>
<name type="personal">
  <namePart type="given">Dorde</namePart>
  <namePart type="family">Zikelic</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">294AA7A6-F248-11E8-B48F-1D18A9856A87</identifier><description xsi:type="identifierDefinition" type="orcid">0000-0002-4681-1699</description></name>







<name type="corporate">
  <namePart></namePart>
  <identifier type="local">KrCh</identifier>
  <role>
    <roleTerm type="text">department</roleTerm>
  </role>
</name>



<name type="conference">
  <namePart>PLDI: Programming Language Design and Implementation</namePart>
</name>



<name type="corporate">
  <namePart>Formal Methods for Stochastic Models: Algorithms and Applications</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>



<abstract lang="eng">We present a new approach to proving non-termination of non-deterministic integer programs. Our technique is rather simple but efficient. It relies on a purely syntactic reversal of the program&apos;s transition system followed by a constraint-based invariant synthesis with constraints coming from both the original and the reversed transition system. The latter task is performed by a simple call to an off-the-shelf SMT-solver, which allows us to leverage the latest advances in SMT-solving. Moreover, our method offers a combination of features not present (as a whole) in previous approaches: it handles programs with non-determinism, provides relative completeness guarantees and supports programs with polynomial arithmetic. The experiments performed with our prototype tool RevTerm show that our approach, despite its simplicity and stronger theoretical guarantees, is at least on par with the state-of-the-art tools, often achieving a non-trivial improvement under a proper configuration of its parameters.</abstract>

<originInfo><publisher>Association for Computing Machinery</publisher><dateIssued encoding="w3cdtf">2021</dateIssued><place><placeTerm type="text">Online</placeTerm></place>
</originInfo>
<language><languageTerm authority="iso639-2b" type="code">eng</languageTerm>
</language>



<relatedItem type="host"><titleInfo><title>Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation</title></titleInfo>
  <identifier type="isbn">9781450383912</identifier>
  <identifier type="arXiv">2104.01189</identifier>
  <identifier type="ISI">000723661700067</identifier><identifier type="doi">10.1145/3453483.3454093</identifier>
<part><extent unit="pages">1033-1048</extent>
</part>
</relatedItem>
<relatedItem type="Supplementary material">
  <location>     <url>https://research-explorer.ista.ac.at/record/15284</url>     <url>https://research-explorer.ista.ac.at/record/14539</url>  </location>
</relatedItem>

<extension>
<bibliographicCitation>
<chicago>Chatterjee, Krishnendu, Ehsan Kafshdar Goharshady, Petr Novotný, and Dorde Zikelic. “Proving Non-Termination by Program Reversal.” In &lt;i&gt;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation&lt;/i&gt;, 1033–48. Association for Computing Machinery, 2021. &lt;a href=&quot;https://doi.org/10.1145/3453483.3454093&quot;&gt;https://doi.org/10.1145/3453483.3454093&lt;/a&gt;.</chicago>
<ista>Chatterjee K, Goharshady EK, Novotný P, Zikelic D. 2021. Proving non-termination by program reversal. Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. PLDI: Programming Language Design and Implementation, 1033–1048.</ista>
<apa>Chatterjee, K., Goharshady, E. K., Novotný, P., &amp;#38; Zikelic, D. (2021). Proving non-termination by program reversal. In &lt;i&gt;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation&lt;/i&gt; (pp. 1033–1048). Online: Association for Computing Machinery. &lt;a href=&quot;https://doi.org/10.1145/3453483.3454093&quot;&gt;https://doi.org/10.1145/3453483.3454093&lt;/a&gt;</apa>
<short>K. Chatterjee, E.K. Goharshady, P. Novotný, D. Zikelic, in:, Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Association for Computing Machinery, 2021, pp. 1033–1048.</short>
<mla>Chatterjee, Krishnendu, et al. “Proving Non-Termination by Program Reversal.” &lt;i&gt;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation&lt;/i&gt;, Association for Computing Machinery, 2021, pp. 1033–48, doi:&lt;a href=&quot;https://doi.org/10.1145/3453483.3454093&quot;&gt;10.1145/3453483.3454093&lt;/a&gt;.</mla>
<ama>Chatterjee K, Goharshady EK, Novotný P, Zikelic D. Proving non-termination by program reversal. In: &lt;i&gt;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation&lt;/i&gt;. Association for Computing Machinery; 2021:1033-1048. doi:&lt;a href=&quot;https://doi.org/10.1145/3453483.3454093&quot;&gt;10.1145/3453483.3454093&lt;/a&gt;</ama>
<ieee>K. Chatterjee, E. K. Goharshady, P. Novotný, and D. Zikelic, “Proving non-termination by program reversal,” in &lt;i&gt;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation&lt;/i&gt;, Online, 2021, pp. 1033–1048.</ieee>
</bibliographicCitation>
</extension>
<recordInfo><recordIdentifier>9644</recordIdentifier><recordCreationDate encoding="w3cdtf">2021-07-11T22:01:17Z</recordCreationDate><recordChangeDate encoding="w3cdtf">2026-04-07T13:27:55Z</recordChangeDate>
</recordInfo>
</mods>
</modsCollection>
