IXEYLXPBJY7FM7KNJGQ2LQOI2CHRUXOMCL6Y2WLSUBJ6BWWTHWRAC X6WLKC2Y5PDS7SYRNPTXTUYVU4V3I5ZZ2KS4IZSMMXCI6GSQE77QC 5MHYFQWH3WWCAARBKU5OEMKNW2F5EMA2FJ5HS7PDDGEFH2HWKEPQC JCK77YLTPL6VV5ZOTMGUJSFZ5DNMS3MZGP5UQLXYW6WSMEK6GAQAC 567NUQ633R5ESTE2LWXVUGM7XEZGJ65IRKPOCDZJS3JE5RAMR5KAC Q3TJZVCBWD7FDMS4MWTT7VUNOI3R3MQCOU6JJCJ5UVIDJPXKMLWAC KDY46C5VOI2QWEXPE6J6BW3U2KEMH3IYPUNYKH5FAISTRCWBWO3AC YUEGUKXBV6IKGZPTBXJXW2ANYGYSRJILQFLYCYQUYD54LJVZS4CQC TKJMPTB73W5TLLTNUOC4FGRQ7DHE5GRBTL7C5QBXRCNQPMJKGEQAC USNRNHANGXUQHFFVHLAVWWA7WGPX2RZOYFQAV44HU5AYEW5YC27QC A5NVU6DZYOG6GRXJU6DZLCUQTKA7LPUWOGQ4NCJSY6FJB6GSP3OAC 7JUQQYQCE7G3ESFJETNGEPBCYGR5NGMAWHFPWI24RSQJPFM5YCTQC DDNESFMD4LGNTDGTCW27FQPCOR5Y5MJWN2TWCSIRNBK6QGBITBRQC 6PTHERE26NXSC3ZXSI5UYKWTMPYZD4WMYFBJKZE3MRRTKC7MIU6QC QIVGMR6INKBVT5IFCO2UJJQEO4PVW3ZM7IDTCTCOKOX7VKG7UPFAC EIPHTX56WTRFBMBNA4VYMKK4L7GWHA4Q2AQ3BCG2ZGZB3DBRENBQC GNUONJQNZG2MNEE55RW3XOQP3UICEBOKLVLKV42H3K64IBGLUGIQC RVA3DOCNBWFBWA2MLC2TVQOEY25AUCYGEJSWMD72QRQ26AFLVZUAC KUEZAMEH2M3K6EDHWMYXQMHZ2QTTH4KBM5CO7A7EB64ABEWRE6WQC R2A2OD7J5ATBRR7W4QPTZDVH6GGHQ7XBX2JE5R3GKVS5WIQ43O3AC YS5O2UANXCWRI3W7KMRKKK7OT7R6V3QDL4JS4DRLXM2EZUIPFALAC NEWG2Q2EYR3BOPWVN44EXIPVH2GH23BYFHJXUSNYWWT7WWDEAIKQC MQJMCLGFSBSFJ3JPCIHQSBZS4XZPGJI7NGGRASX5UVGJO6HES25AC 5GR6GP7ONTMALU3XHWDTWWIDIW2CGYOUOU6M3H7WMV56KCBI25AAC @InProceedings{lommen2022twn,author = {Nils Lommen and Fabian Meyer and J{\"{u}}rgen Giesl},booktitle = {Automated Reasoning - 11th International Joint Conference, {IJCAR} 2022, Haifa, Israel, August 8-10, 2022, Proceedings},title = {Automatic Complexity Analysis of Integer Programs via Triangular Weakly Non-Linear Loops},year = {2022},editor = {Jasmin Blanchette and Laura Kov{\'{a}}cs and Dirk Pattinson},pages = {734--754},publisher = {Springer},series = {Lecture Notes in Computer Science},volume = {13385},bibsource = {dblp computer science bibliography, https://dblp.org},biburl = {https://dblp.org/rec/conf/cade/LommenMG22.bib},doi = {10.1007/978-3-031-10769-6_43},timestamp = {Mon, 24 Oct 2022 16:36:35 +0200},url = {https://doi.org/10.1007/978-3-031-10769-6_43},}
Let $\GT_{G^*_{\Prog,\alpha}}$ be the set of general transitions in the partialevaluation graph $G^*_{\Prog,\alpha}$ where every general transition $g \in\GT_{G^*_{\Prog,\alpha}}$ was added by the unfolding of a unique generaltransition $g' \in \GT_Prog$. We call $\bar{g} = g'$, similar to Lemma
Let $\GT_{G^*_{\Prog,S,T}}$ be the set of general transitions in the partialevaluation graph $G^*_{\Prog,S,T}$ where every general transition $g \in\GT_{G^*_{\Prog,S,T}}$ was added by the unfolding of a unique generaltransition $g' \in \GTP$. We call $\bar{g} = g'$, similar to Lemma
\unfold_{\Prog,S}(\langle \ell, \varphi\rangle, t), s) & t= (\ell, \_,\_, \_,\_) \in T \\\varf'(\langle \ell, \varphi\rangle,(\langle\ell,\varphi\rangle,p,\tau,\eta,\langle\ell',\texttt{true}), s) & t = (\ell,p,\tau,\eta,\ell') \not\in T\end{cases} \\
\unfold_{\Prog,S}(\langle \ell, \varphi\rangle, t), s)\\
\ESs(\Rt_{\Prog}) &= \sum_{i=1}^\infty i \cdot \PrSs(\Rt_\Prog=i)= \sum_{i=1}^\infty \PrSs(\Rt_\Prog \leq i)= \sum_{\substack{f \in \fpath_\Prog\\ \Rt_\Prog(f) \leqi}}^\infty \prSs(\varf) \\
\ESs(\Rt_{\Prog}) &= \sum_{i=1}^\infty i \cdot \PrSs(\Rt_\Prog=i) =\sum_{i=1}^\infty \PrSs(\Rt_\Prog \geq i) \\ &= \sum_{i=1}^\infty\sum_{\substack{f \in \fpath_\Prog\\ |\varf| \leq i \\ \Rt_\Prog(f)\leq i}} 1-\prSs(\varf) \\
\sum_{\substack{f \in \fpath_\Prog\\ \Rt_\Prog(f) \leq i}}^\infty\prSs(f) &\leq \sum_{\substack{f \in \fpath_{\Prog'}\\ \Rt_\Prog(f)\leq i}}^\infty \prSns(f) \label{eq:sumsleq} \\
\sum_{i=1}^\infty\sum_{\substack{f \in \fpath_\Prog\\ |\varf| \leqi\\ \Rt_\Prog(\varf) \leq i}}^\infty 1- \prSs(\varf) &\leq\sum_{i=1}^\infty\sum_{\substack{f \in\fpath_{\Prog'}\\ |\varf| \leq i\\ \Rt_\Prog(\varf)\leq i}}^\infty 1- \prSns(\varf) \label{eq:sumsleq} \\
Let $\varphi \in \Phi$ be an \gls{fo}-formula. $\llbracket \varphi\rrbracket$ is defined as the set of all satisfying assignments of theformula $\varphi$.
Let $\varphi = \psi_1, \dots, \psi_n$ be an conjunction of constraints$\psi_1, \dots,\psi_n \in \C$. $\llbracket \varphi \rrbracket$ is defined asthe set of all satisfying assignments of the formula $\varphi$.
\begin{definition}[Convex Polyhedra\cite{bagnara2005convexpolyhedron}\label{def:polyhedra}]$\mathcal{H} \subseteq \N^n$ is a \emph{convex polyhedron} if and only if itcan be expressed by an intersection of a finite number of affinehalf-spaces.
\begin{definition}[Convex Polyhedra \cite{bagnara2005convexpolyhedron}\label{def:polyhedra}]$H \subseteq \N^n$ is a \emph{convex polyhedron} if and only if it can beexpressed by an intersection of a finite number of affine half-spaces. Let$\mathcal{H}$ be the set of all convex polyhedra.
polyhedron $\mathcal{H}$ one can find a box $\mathcal{B}$ that contains thepolyhedron $\mathcal{H}$. Boxes are computationally very efficient, althoughrather imprecise for most applications.
polyhedron $H \in \mathcal{H}$ one can find a box $B$ that contains thepolyhedron $H$. Boxes are computationally very efficient, although ratherimprecise for most applications.
However, classical analysis using only \gls{mprf} fails to find a finiteruntime-complexity bound for this program \cite{giesl2022lncs}. With the help of
However, classical analysis using only \gls{mprf}\cite{benamram2017} runtimecomplexity bound for this program \cite{giesl2022lncs}. With the help of
\citeauthor{Domenech19} \cite{Domenech19} and it is called \gls{cfr}via partial evaluation. It was implemented in their analysis tooliRankfinder \cite{irankfinder2018wst}. It achieves very similar results to\gls{mprf} when used on entire programs or whole \glspl{scc}. Its realstrength comes from applying it to a sub-\gls{scc} level and refiningspecifically the loops where \glspl{mprf} fail to find size bounds. This techniquewas presented by \citeauthor{giesl2022lncs} \cite{giesl2022lncs}and implemented in \gls{koat} \cite{giesl2014ijcar} the complexity analysis tooldeveloped by \citeauthor{giesl2014ijcar} at RWTH University.
\citeauthor{Domenech19} \cite{Domenech19} and it is called \gls{cfr} via partialevaluation. It was implemented in their analysis tool iRankfinder\cite{irankfinder2018wst}. It achieves very similar results to \gls{mprf} whenused on entire programs or whole \glspl{scc}. Its real strength comes fromapplying it to a sub-\gls{scc} level and refining specifically the loops where\glspl{mprf} fail to find bounds. This technique was presented by\citeauthor{giesl2022lncs} \cite{giesl2022lncs} and it is implemented in\gls{koat} \cite{giesl2014ijcar} the complexity analysis tool developed by\citeauthor{giesl2014ijcar} at RWTH University.
Underneath, \gls{koat} uses iRankFinder for the \gls{cfr}.Recently, \gls{koat} was extended to probabilistic integerprograms \cite{meyer2021tacas}. For probabilistic programs, \gls{koat} usesprobabilistic ranking functions, that work similarly to \gls{mprf}, but takeprobability into accound. They fail for the same reasons as \gls{mprf} forcertain kinds of loops. Unfortunately, by using iRankFinder which is limited tonon-probabilistic integer programs, the technique of \gls{cfr} via partialevaluation remained out of reach for probabilistic programs.
Underneath, \gls{koat} uses iRankFinder for the \gls{cfr}. Recently, \gls{koat}was extended to probabilistic integer programs \cite{meyer2021tacas}. Forprobabilistic programs, \gls{koat} uses probabilistic ranking functions, thatwork similarly to linear ranking functions, but take probability into account.They fail for the same reasons as \gls{mprf} for certain kinds of loops.Unfortunately, by using iRankFinder which is limited to non-probabilisticinteger programs, the technique of \gls{cfr} via partial evaluation remained outof reach for probabilistic programs.
\gls{mprf} or a \gls{twn}, and then puts the subprograms together in order togenerate upper runtime-complexity and size bounds for the whole program.Optionally to improve the analysis, \gls{koat} can resort to partial evaluationas a control-flow refinement technique on a sub-\gls{scc} level\cite{giesl2022lncs}. \gls{aprove} is the overall tool, and it has taken part incompetitions. It works on various input formats and transforms them accordinglyso that they can be used with specialised tools such as \gls{koat} and\gls{loat}.
\gls{mprf}\cite{benamram2017} or a \gls{twn}\cite{lommen2022twn}, and then puts the subprogramstogether in order to generate upper runtime complexity and size bounds for thewhole program. Optionally to improve the analysis, \gls{koat} can resort topartial evaluation as a control-flow refinement technique on a sub-\gls{scc}level \cite{giesl2022lncs}. \gls{aprove} is the overall tool, and it has takenpart in competitions. It works on various input formats and transforms themaccordingly so that they can be used with specialised tools such as \gls{koat}and \gls{loat}.