Alejandro Tamalet

Learn More
Security automata are a convenient way to describe security policies. Their typical use is to monitor the execution of an application, and to interrupt it as soon as the security policy is violated. However, run-time adherence checking is not always convenient. Instead, we aim at developing a technique to verify adherence to a security policy statically. To(More)
This work introduces collected size semantics of strict functional programs over lists. It is presented via non-deterministic numerical functions annotating types. These functions are defined by conditional rewriting rules generated during type inference. We focus on the connection between the size rewriting rules and lower and upper bounds on size(More)
This work introduces collected size semantics of strict functional programs over lists. The collected size semantics of a function definition is a multivalued size function that collects the dependencies between every possible output size and the corresponding input sizes. Such functions annotate standard types and are defined by conditional rewriting rules(More)
Size analysis can be an important part of heap consumption analysis. This paper is a part of ongoing work about typing support for checking output-on-input size dependencies for function definitions in a strict functional language. A significant restriction for our earlier results is that inner data structures (e.g. in a list of lists) all must have the(More)
Our previous work studied a size-aware type system for functional programs with non-monotonic polynomial size dependencies. In that approach output sizes depended only on input sizes. That is rather restrictive since in many cases the size of the output can differ for different input data of the same size. In this paper we remove that limitation by(More)
We present a size-aware type system for a first-order functional language with algebraic data types, where types are annotated with polynomials over size variables. We define how to generate typing rules for each data type, provided its user defined size function meets certain requirements. As an example, a program for balancing binary trees is type(More)
This paper presents the preemption abstraction, an abstraction technique for lightweight verification of one sequential component of a concurrent system. Thereby, different components of the system are permitted to interfere with each other. The preemption abstraction yields a sequential abstract system that can easily be described in the higherorder logic(More)