An implementation of flow calculus for complexity analysis (tool paper)

by   Clément Aubert, et al.

Abstract. We present a tool to automatically perform the data-size analysis of imperative programs written in C. This tool, called pymwp, is inspired by a classical work on complexity analysis [10], and allows to certify that the size of the values computed by a program will be bounded by a polynomial in the program's inputs. Strategies to provide meaningful feedback on non-polynomial programs and to “tame” the non-determinism of the original analysis were implemented following recent progresses [3], but required particular care to accommodate the growing complexity of the analysis. The Python source code is intensively documented, and our numerous example files encompass the original examples as well as multiple test cases. A pip package should make it easy to install pymwp on any plat-form, but an on-line demo is also available for convenience.



There are no comments yet.


page 1

page 2

page 3

page 4


mwp-Analysis Improvement and Implementation: Realizing Implicit Computational Complexity

Implicit Computational Complexity (ICC) drives better understanding of c...

An extended and more practical mwp flow analysis

We improve and refine a method for certifying that the values' sizes com...

The Composability of Intermediate Values in Composable Inductive Programming

It is believed that mechanisms including intermediate values enable comp...

Continuous Flow Analysis to Detect Security Problems

We introduce a tool that supports continuous flow analysis in order to d...

Operational calculus on programming spaces

In this paper we develop operational calculus on programming spaces that...

Understanding Conditional Compilation Through Integrated Representation of Variability and Source Code

The C preprocessor (CPP) is a standard tool for introducing variability ...

What Programs Want: Automatic Inference of Input Data Specifications

Nowadays, as machine-learned software quickly permeates our society, we ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.