Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Mauro Jaskelioff is active.

Publication


Featured researches published by Mauro Jaskelioff.


international andrei ershov memorial conference on perspectives of system informatics | 2011

Secure multi-execution in haskell

Mauro Jaskelioff; Alejandro Russo

Language-based information-flow security has emerged as a promising technology to guarantee confidentiality in on-line systems, where enforcement mechanisms are typically presented as run-time monitors, code transformations, or type-systems. Recently, an alternative technique, called secure multi-execution , has been proposed. The main idea behind this novel approach consists on running a program multiple times, once for each security level, using special rules for I/O operations. Compared to run-time monitors and type-systems, secure multi-execution does not require to inspect the full code of the application (only its I/O actions). In this paper, we propose the core of a library to provide non-interference through secure-multi execution. We present the code of the library as well as a running example for Haskell. To the best of our knowledge, this paper is the first work to consider secure-multi execution in a functional setting and provide this technology as a library.


ieee computer security foundations symposium | 2013

Precise Enforcement of Confidentiality for Reactive Systems

Dante Zanarini; Mauro Jaskelioff; Alejandro Russo

In the past years, researchers have been focusing on applying information flow security to web applications. These mechanisms should raise a minimum of false alarms in order to be applicable to millions of existing web pages. A promising technique to achieve this is secure multi-execution (SME). If a program is already secure, its secure multi- execution produces the same output events; otherwise, this correspondence is intentionally broken in order to preserve security. Thus, there is no way to know if unexpected results are due to bugs or due to semantics changes produced by SME. Moreover, SME provides no guarantees on the relative ordering of output events from different security levels. We argue that these shortcomings limit the applicability of SME. In this article, we propose a scheduler for secure multi- execution which makes it possible to preserve the order of output events. Using this scheduler, we introduce a novel com- bination between monitoring and SME, called multi-execution monitor, which raises alarms only for actions breaking the non-interference notion of ID-security for reactive systems. Additionally, we show that the monitor guarantees trans- parency even for CP-similarity, a progress-sensitive notion of observation.


implementation and application of functional languages | 2008

Monatron: an extensible monad transformer library

Mauro Jaskelioff

Monads are pervasive in functional programming. In order to reap the benefits of their abstraction power, combinator libraries for monads are necessary. Monad transformers provide the basis for such libraries, and are based on a design that has proved to be successful. In this article, we show that this design has a number of shortcomings and provide a new design that builds on the strengths of the traditional design, but addresses its problems.


Electronic Notes in Theoretical Computer Science | 2011

Modularity and Implementation of Mathematical Operational Semantics

Mauro Jaskelioff; Neil Ghani; Graham Hutton

Structural operational semantics is a popular technique for specifying the meaning of programs by means of inductive clauses. One seeks syntactic restrictions on those clauses so that the resulting operational semantics is well-behaved. This approach is simple and concrete but it has some drawbacks. Turi pioneered a more abstract categorical treatment based upon the idea that operational semantics is essentially a distribution of syntax over behaviour. In this article we take Turi?s approach in two new directions. Firstly, we show how to write operational semantics as modular components and how to combine such components to specify complete languages. Secondly, we show how the categorical nature of Turi?s operational semantics makes it ideal for implementation in a functional programming language such as Haskell.


Journal of Functional Programming | 2010

Factorising folds for faster functions

Graham Hutton; Mauro Jaskelioff; Andy Gill

The worker/wrapper transformation is a general technique for improving the performance of recursive programs by changing their types. The previous formalisation (A. Gill & G. Hutton, J. Funct. Program., vol. 19, 2009, pp. 227–251) was based upon a simple fixed-point semantics of recursion. In this paper, we develop a more structured approach, based upon initial-algebra semantics. In particular, we show how the worker/wrapper transformation can be applied to programs defined using the structured pattern of recursion captured by fold operators, and illustrate our new technique with a number of examples.


european symposium on programming | 2009

Modular Monad Transformers

Mauro Jaskelioff

During the last two decades, monads have become an indispensable tool for structuring functional programs with computational effects. In this setting, the mathematical notion of a monad is extended with operations that allow programmers to manipulate these effects. When several effects are involved, monad transformers can be used to build up the required monad one effect at a time. Although this seems to be modularity nirvana, there is a catch: in addition to the construction of a monad, the effect-manipulating operations need to be lifted to the resulting monad. The traditional approach for lifting operations is non-modular and ad-hoc. We solve this problem with a principled technique for lifting operations that makes monad transformers truly modular.


principles and practice of declarative programming | 2015

From monoids to near-semirings: the essence of MonadPlus and alternative

Exequiel Rivas; Mauro Jaskelioff; Tom Schrijvers

It is well-known that monads are monoids in the category of endofunctors, and in fact so are applicative functors. Unfortunately, the benefits of this unified view are lost when the additional nondeterminism structure of MonadPlus or Alternative is required. This article recovers the essence of these two type classes by extending monoids to near-semirings with both additive and multiplicative structure. This unified algebraic view enables us to generically define the free construction as well as a novel double Cayley representation that optimises both left-nested sums and left-nested products.


MSFP | 2012

An Investigation of the Laws of Traversals

Mauro Jaskelioff; Ondrej Rypacek

Traversals of data structures are ubiquitous in programming. Consequently, it is important to be able to characterise those structures that are traversable and understand their algebraic properties. Traversable functors have been characterised by McBride and Paterson as those equipped with a distributive law over arbitrary applicative functors; however, laws that fully capture the intuition behind traversals are missing. This article is an attempt to remedy this situation by proposing laws for characterising traversals that capture the intuition behind them. To support our claims, we prove that finitary containers are traversable in our sense and argue that elements in a traversable structure are visited exactly once.


Journal of Functional Programming | 2015

A representation theorem for second-order functionals

Mauro Jaskelioff; Russell O'connor

Representation theorems relate seemingly complex objects to concrete, more tractable ones. In this paper, we take advantage of the abstraction power of category theory and provide a general representation theorem for a wide class of second-order functionals which are polymorphic over a class of functors. Types polymorphic over a class of functors are easily representable in languages such as Haskell, but are difficult to analyse and reason about. The concrete representation provided by the theorem is easier to analyse, but it might not be as convenient to implement. Therefore, depending on the task at hand, the change of representation may prove valuable in one direction or the other. We showcase the usefulness of the representation theorem with a range of examples. Concretely, we show how the representation theorem can be used to show that traversable functors are finitary containers, how parameterised coalgebras relate to very well-behaved lenses, and how algebraic effects might be implemented in a functional language.


implementation and application of functional languages | 2013

The Under-Performing Unfold: A new approach to optimising corecursive programs

Jennifer Hackett; Graham Hutton; Mauro Jaskelioff

This paper presents a new approach to optimising corecursive programs by factorisation. In particular, we focus on programs written using the corecursion operator unfold. We use and expand upon the proof techniques of guarded coinduction and unfold fusion, capturing a pattern of generalising coinductive hypotheses by means of abstraction and representation functions. The pattern we observe is simple, has not been observed before, and is widely applicable. We develop a general program factorisation theorem from this pattern, demonstrating its utility with a range of practical examples.

Collaboration


Dive into the Mauro Jaskelioff's collaboration.

Top Co-Authors

Avatar

Graham Hutton

University of Nottingham

View shared research outputs
Top Co-Authors

Avatar

Exequiel Rivas

National Scientific and Technical Research Council

View shared research outputs
Top Co-Authors

Avatar

Dante Zanarini

National Scientific and Technical Research Council

View shared research outputs
Top Co-Authors

Avatar

Tom Schrijvers

National Scientific and Technical Research Council

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alejandro Russo

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Tom Schrijvers

National Scientific and Technical Research Council

View shared research outputs
Top Co-Authors

Avatar

Guido Martínez

National Scientific and Technical Research Council

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge