Alejandro Tamalet
Radboud University Nijmegen
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Alejandro Tamalet.
fundamental approaches to software engineering | 2009
Marieke Huisman; Alejandro Tamalet
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 do this, we consider a security automaton as specification, and we generate JML annotations that inline the monitor --- as a specification --- into the application. We describe this translation and prove preservation of program behaviour, i.e. , if monitoring does not reveal a security violation, the generated annotations are respected by the program. The correctness proofs are formalised using the PVS theorem prover. This reveals several subtleties to be considered in the definition of the translation algorithm and in the program requirements.
implementation and application of functional languages | 2008
Olha Shkaravska; Marko C. J. D. van Eekelen; Alejandro Tamalet
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 generated during type inference. We focus on the connection between the rewriting rules and lower and upper bounds on the multivalued size functions, when the bounds are given by piecewise polynomials. We show how, given a set of conditional rewriting rules, one can infer bounds that define an indexed family of polynomials that approximates the multivalued size function. Using collected size semantics we are able to infer nonmonotonic and non-linear lower and upper polynomial bounds for many functional programs. As a feasibility study, we use the procedure to infer lower and upper polynomial size-bounds on typical functions of a list library.
foundational and practical aspects of resource analysis | 2013
Olha Shkaravska; Marko C. J. D. van Eekelen; Alejandro Tamalet
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 same size. Here, we make a big step forwards by overcoming this limitation via the introduction of higher-order size annotations such that variate sizes of inner data structures can be expressed. In this way the analysis becomes applicable for general, polymorphic nested lists.
formal methods | 2010
Alejandro Tamalet; Ken Madlener
This paper presents a framework to reason about the effects of assignments in recursive data structures. We define an operational semantics for a core language based on Meyers ideas for a semantics for the object-oriented language Eiffel. A series of field accesses, e.g. f1 • f2 • ... • fn, can be seen as a path on the heap. We provide rules that describe how these multidot expressions are affected by an assignment. Using multidot expressions to construct an abstraction of a list, we show the correctness of a list reversal algorithm. This approach does not require induction and the reasoning about the assignments is encapsulated in the mentioned rules. We also discuss how to use this approach when working with other data structures and how it compares to the inductive approach. The framework, rules and examples have been formalised and proven correct using the PVS proof assistant.
formal methods for industrial critical systems | 2009
Erik Schierboom; Alejandro Tamalet; Hendrik Tews; Marko C. J. D. van Eekelen; Sjaak Smetsers
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 higher-order logic of a theorem prover. One can therefore avoid the cumbersome and costly reasoning about all possible interleavings of state changes of each system component. The preemption abstraction is best suited for components that use preemption points, that is, where the concurrently running environment can only interfere at a limited number of points. The preemption abstraction has been used to model the IPC subsystem of the Fiasco microkernel. We proved two practically relevant properties of the model. On the attempt to prove a third property, namely that the assertions in the code are always valid, we discovered a bug that could potentially crash the whole system.
trends in functional programming | 2008
Alejandro Tamalet; Olha Shkaravska; Marko C. J. D. van Eekelen
Scholz, S. (ed.), Selected Papers of the 20th Symposium on Implementation and Application of Functional Programming, IFL 2008, University of Hertfordshire, UK, 2008 | 2010
M.C.J.D. van Eekelen; Olha Shkaravska; Alejandro Tamalet
trends in functional programming | 2009
Olha Shkaravska; Marko C. J. D. van Eekelen; Alejandro Tamalet
formal methods for industrial critical systems | 2009
Erik Schierboom; Alejandro Tamalet; Hendrik Tews; Marko C. J. D. van Eekelen; Sjaak Smetsers
CTIT technical report series | 2008
Alejandro Tamalet; Olha Shkaravska; M.C.J.D. van Eekelen