<?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>article</genre>

<titleInfo><title>Non-polynomial worst-case analysis of recursive programs</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">Hongfei</namePart>
  <namePart type="family">Fu</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Amir Kafshdar</namePart>
  <namePart type="family">Goharshady</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">391365CE-F248-11E8-B48F-1D18A9856A87</identifier><description xsi:type="identifierDefinition" type="orcid">0000-0003-1702-6584</description></name>







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





<name type="corporate">
  <namePart>Efficient Algorithms for Computer Aided Verification</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>
<name type="corporate">
  <namePart>Rigorous Systems Engineering</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>
<name type="corporate">
  <namePart>Quantitative Graph Games: Theory and Applications</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>
<name type="corporate">
  <namePart>Quantitative Analysis of Probabilistic Systems with a focus on Crypto-Currencies</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>
<name type="corporate">
  <namePart>Quantitative Game-theoretic Analysis of Blockchain Applications and Smart Contracts</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>



<abstract lang="eng">We study the problem of developing efficient approaches for proving
worst-case bounds of non-deterministic recursive programs. Ranking functions
are sound and complete for proving termination and worst-case bounds of
nonrecursive programs. First, we apply ranking functions to recursion,
resulting in measure functions. We show that measure functions provide a sound
and complete approach to prove worst-case bounds of non-deterministic recursive
programs. Our second contribution is the synthesis of measure functions in
nonpolynomial forms. We show that non-polynomial measure functions with
logarithm and exponentiation can be synthesized through abstraction of
logarithmic or exponentiation terms, Farkas&apos; Lemma, and Handelman&apos;s Theorem
using linear programming. While previous methods obtain worst-case polynomial
bounds, our approach can synthesize bounds of the form $\mathcal{O}(n\log n)$
as well as $\mathcal{O}(n^r)$ where $r$ is not an integer. We present
experimental results to demonstrate that our approach can obtain efficiently
worst-case bounds of classical recursive algorithms such as (i) Merge-Sort, the
divide-and-conquer algorithm for the Closest-Pair problem, where we obtain
$\mathcal{O}(n \log n)$ worst-case bound, and (ii) Karatsuba&apos;s algorithm for
polynomial multiplication and Strassen&apos;s algorithm for matrix multiplication,
where we obtain $\mathcal{O}(n^r)$ bound such that $r$ is not an integer and
close to the best-known bounds for the respective algorithms.</abstract>

<originInfo><publisher>ACM</publisher><dateIssued encoding="w3cdtf">2019</dateIssued>
</originInfo>
<language><languageTerm authority="iso639-2b" type="code">eng</languageTerm>
</language>



<relatedItem type="host"><titleInfo><title>ACM Transactions on Programming Languages and Systems</title></titleInfo>
  <identifier type="arXiv">1705.00317</identifier>
  <identifier type="ISI">000564108400001</identifier><identifier type="doi">10.1145/3339984</identifier>
<part><detail type="volume"><number>41</number></detail><detail type="issue"><number>4</number></detail>
</part>
</relatedItem>
<relatedItem type="Supplementary material">
  <location>     <url>https://research-explorer.ista.ac.at/record/639</url>     <url>https://research-explorer.ista.ac.at/record/8934</url>  </location>
</relatedItem>

<extension>
<bibliographicCitation>
<apa>Chatterjee, K., Fu, H., &amp;#38; Goharshady, A. K. (2019). Non-polynomial worst-case analysis of recursive programs. &lt;i&gt;ACM Transactions on Programming Languages and Systems&lt;/i&gt;. ACM. &lt;a href=&quot;https://doi.org/10.1145/3339984&quot;&gt;https://doi.org/10.1145/3339984&lt;/a&gt;</apa>
<short>K. Chatterjee, H. Fu, A.K. Goharshady, ACM Transactions on Programming Languages and Systems 41 (2019).</short>
<ieee>K. Chatterjee, H. Fu, and A. K. Goharshady, “Non-polynomial worst-case analysis of recursive programs,” &lt;i&gt;ACM Transactions on Programming Languages and Systems&lt;/i&gt;, vol. 41, no. 4. ACM, 2019.</ieee>
<chicago>Chatterjee, Krishnendu, Hongfei Fu, and Amir Kafshdar Goharshady. “Non-Polynomial Worst-Case Analysis of Recursive Programs.” &lt;i&gt;ACM Transactions on Programming Languages and Systems&lt;/i&gt;. ACM, 2019. &lt;a href=&quot;https://doi.org/10.1145/3339984&quot;&gt;https://doi.org/10.1145/3339984&lt;/a&gt;.</chicago>
<mla>Chatterjee, Krishnendu, et al. “Non-Polynomial Worst-Case Analysis of Recursive Programs.” &lt;i&gt;ACM Transactions on Programming Languages and Systems&lt;/i&gt;, vol. 41, no. 4, 20, ACM, 2019, doi:&lt;a href=&quot;https://doi.org/10.1145/3339984&quot;&gt;10.1145/3339984&lt;/a&gt;.</mla>
<ama>Chatterjee K, Fu H, Goharshady AK. Non-polynomial worst-case analysis of recursive programs. &lt;i&gt;ACM Transactions on Programming Languages and Systems&lt;/i&gt;. 2019;41(4). doi:&lt;a href=&quot;https://doi.org/10.1145/3339984&quot;&gt;10.1145/3339984&lt;/a&gt;</ama>
<ista>Chatterjee K, Fu H, Goharshady AK. 2019. Non-polynomial worst-case analysis of recursive programs. ACM Transactions on Programming Languages and Systems. 41(4), 20.</ista>
</bibliographicCitation>
</extension>
<recordInfo><recordIdentifier>7014</recordIdentifier><recordCreationDate encoding="w3cdtf">2019-11-13T08:33:43Z</recordCreationDate><recordChangeDate encoding="w3cdtf">2026-09-13T22:31:00Z</recordChangeDate>
</recordInfo>
</mods>
</modsCollection>
