EN FR
EN FR


Section: New Results

Resource Control

Participants : Michele Alberti, Alberto Cappai, Ugo Dal Lago, Marco Gaboardi, Simone Martini, Paolo Parisen Toldin, Giulio Pellitta, Davide Sangiorgi, Marco Solieri, Valeria Vignudelli.

Expressive type systems for complexity analysis

Along 2013, our work on expressive methodologies for complexity analysis of higher-order languages has proceeded. In particular, we have focused our attention on extending linear dependent types to languages with control operators in the style of callcc  [27] . This has taken the form of a generalization of bounded linear logic towards Laurent's polarized linear logic, which is then turned into a type system for the lambda-mu-calculus (in which the aforementioned control operator can indeed be implemented). In the introduced type system, all typable terms can be reduced in polynomial time. We also worked on the linear dependent type inference and on its implementation (though the work has not yet been transferred onto the Lideal tool implementing type inference for dependently linear type systems, see http://lideal.cs.unibo.it/ ); more specifically, we showed that type inference can in this context be reduced to a form of constraint amenable to be solved by SMT solvers [28] . Finally, a call-by-value version of 𝖽𝖯𝖢𝖥 has been defined and proved sound but also relatively complete as a tool for complexity analysis of programs [16] .

Complexity analysis and process algebras

Complexity analysis methodologies drawn from linear logic have been adapted to higher-order process algebras, obtaining linear versions of the higher-order π-calculus in which reduction sequences are guaranteed to have a length bounded by a polynomial [14] . This is done by following the exponential discipline Lafont's Soft Linear logic suggests.

Characterizing probabilistic complexity classes

We have also been looking [10] (papers extracted from the thesis should appear soon) at probabilistic computation and at whether probabilistic complexity classes like BPP, ZPP and PP can be characterized by logics and λ-calculi. We encountered some problems in doing the above for BPP and ZPP, which are semantic classes and which, as a consequence, cannot be easily enumerated (and captured by ICC systems). On the other hand, probabilistic classes like PP can indeed be characterized by λ-calculi, as shown by our recent work on 𝖱𝖲𝖫𝖱, a system derived from Hofmann's 𝖲𝖫𝖱 that captures the (deterministic) polytime computable functions.

Ensuring differential privacy

Differential privacy offers a strong guaranteed bound on loss of private information due to release of query results, even under worst-case assumptions. One of the challenges in proving queries differentially private is to prove an upper bound on the query's sensitivity, i.e., the maximum change in the query's output that can result from changing the data of a single individual. Reed and Pierce have recently proposed a type analysis using numerical annotations in types to describe bounds on the sensitivity of the queries. A first delicate aspect of this approach is that in order to verify if a program is typable or not one needs to come up with numerical annotations and verify their consistency. Finding a “small” annotation is crucial, since the privacy depends on it. For this reason we designed a sensitivity inference tool [26] that combined with the Z3 SMT solver is able to verify and infer a minimal sensitivity bound in an automatic and efficient way. Another delicate aspect of this approach is the expressivity of the type analysis. Reed and Pierce's type system offers only a very limited form of numerical annotations. These numerical annotations are not enough to provide a bound for programs whose sensitivity depends on data available only at runtime. To recover this problem we introduced Dfuzz [32] , a language combining linear types and lightweight dependent types.