Valerio Senni

dblp:16/6868 · DBLP profile ↗
← Back
19ranked-venue papers
2as first author
2since 2021 · last 2022
0000-0002-1131-0384ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 13 · 2 first-authorSoftware engineering, systems software and programming languages · 10 · 1 first-authorSecurity and privacy · 2 · 2 since 2021
YearPublicationVenuePosition
2022 Risk-driven Model-based Architecture Design for Secure Information Flows in Manufacturing Infrastructures
Loris Dal Lago, Fabio Federici, Davide Martintoni, Valerio Senni
SECRYPT4
2022 Homomorphic Encryption in Manufacturing Compliance Checks
Aikaterini Triakosia, Panagiotis Rizomiliotis, Konstantinos Tserpes, Cecilia Tonelli, Valerio Senni, Fabio Federici
TrustBus5
2015 Efficient generation of test data structures using constraint logic programming and program transformation
abstract
The goal of Bounded-Exhaustive Testing (BET) is the automatic generation of all test cases satisfying a given invariant, within a given size bound. When the test cases have a complex structure, the development of correct and efficient generators becomes a very challenging task. In this article we use Constraint Logic Programming (CLP) to systematically develop generators of structurally complex test data structures. We follow a declarative approach that allows us to separate the issue of (i) defining the test data structure in terms of its properties, from that of (ii) efficiently generating data structure instances. This separation helps establish the correctness of the developed test case generators. We rely on a symbolic representation and we take advantage of efficient search strategies provided by CLP systems for generating test instances. Through a running example taken from the literature on BET, we illustrate our test generation framework and we show that CLP allows us to develop easily understandable and efficient test generators. Additionally, we propose a program transformation technique whose goal is to make the evaluation of these CLP-based generators much more efficient and we demonstrate its effectiveness on a number of complex test data structures.
Fabio Fioravanti, Maurizio Proietti, Valerio Senni
J. Log. Comput.3
2015 A formalized framework for mobile cloud computing
Michele Amoretti, Alessandro Grazioli, Valerio Senni, Francesco Tiezzi 0001, Francesco Zanichelli
Serv. Oriented Comput. Appl.3
2014 Towards a Formal Approach to Mobile Cloud Computing
abstract
Mobile cloud computing (MCC) is an emerging paradigm to transparently provide support for demanding tasks on resource-constrained mobile devices by relying on the integration with remote cloud services. Research in this field is tackling the multiple conceptual and technical challenges (e.g., how and when to offload) that are hindering the full realization of MCC. The NAM framework is a general tool to describe networks of hardware and software autonomic entities, providing or consuming services or resources, that can be applied to MCC scenarios. In this paper, we focus on NAM's features related to the key aspects of MCC, in particular those concerning code mobility capabilities and autonomic offloading strategies. Our first contribution is the definition of a restricted set of mobility actions supporting MCC. The second contribution is a formal semantics for those actions, which allows us to better understand the behavior of MCC systems and paves the way for the application of formal reasoning techniques. As an outcome, we also derive a more precise formalization of the core NAM features, which may contribute to further development of that framework and the related middleware.
Michele Amoretti, Alessandro Grazioli, Francesco Zanichelli, Valerio Senni, Francesco Tiezzi 0001
PDP4
2013 Controlling Polyvariance for Specialization-based Verification
abstract
Program specialization has been proposed as a means of improving constraint-based analysis of infinite state reactive systems. In particular, safety properties can be specified by constraint logic programs encoding (backward or forward) reachability algorithms. These programs are then transformed, before their use for checking safety, by specializing them with respect to the initial states (in the case of backward reachability) or with respect to the unsafe states (in the case of forward reachability). By using the specialized reachability programs, we can considerably increase the number of successful verifications. An important feature of specialization algorithms is the so called polyvariance, that is, the number of specialized variants of the same predicate that are introduced by specialization. Depending on this feature, the specialization time, the size of the specialized program, and the number of successful verifications may vary. We present a specialization framework which is more general than previous proposals and provides control on polyvariance. We demonstrate, through experiments on several infinite state reactive systems, that by a careful choice of the degree of polyvariance we can design specialization-based verification procedures that are both efficient and precise.
Fabio Fioravanti, Alberto Pettorossi, Maurizio Proietti, Valerio Senni
Fundam. Informaticae4
2013 Proving Theorems by Program Transformation
abstract
In this paper we present an overview of the unfold/fold proof method, a method for proving theorems about programs, based on program transformation. As a metalanguage for specifying programs and program properties we adopt constraint logic programming (CLP), and we present a set of transformation rules (including the familiar unfolding and folding rules) which preserve the semantics of CLP programs. Then, we show how program transformation strategies can be used, similarly to theorem proving tactics, for guiding the application of the transformation rules and inferring the properties to be proved. We work out three examples: (i) the proof of predicate equivalences, applied to the verification of equality between CCS processes, (ii) the proof of first order formulas via an extension of the quantifier elimination method, and (iii) the proof of temporal properties of infinite state concurrent systems, by using a transformation strategy that performs program specialization.
Fabio Fioravanti, Alberto Pettorossi, Maurizio Proietti, Valerio Senni
Fundam. Informaticae4
2013 Generalization strategies for the verification of infinite state systems
abstract
Abstract We present a method for the automated verification of temporal properties of infinite state systems. Our verification method is based on the specialization of constraint logic programs (CLP) and works in two phases: (1) in the first phase, a CLP specification of an infinite state system is specialized with respect to the initial state of the system and the temporal property to be verified, and (2) in the second phase, the specialized program is evaluated by using a bottom-up strategy. The effectiveness of the method strongly depends on the generalization strategy which is applied during the program specialization phase. We consider several generalization strategies obtained by combining techniques already known in the field of program analysis and program transformation, and we also introduce some new strategies. Then, through many verification experiments, we evaluate the effectiveness of the generalization strategies we have considered. Finally, we compare the implementation of our specialization-based verification method to other constraint-based model checking tools. The experimental results show that our method is competitive with the methods used by those other tools.
Fabio Fioravanti, Alberto Pettorossi, Maurizio Proietti, Valerio Senni
Theory Pract. Log. Program.4
2012 Constraint-based correctness proofs for logic program transformations
abstract
Abstract Many approaches proposed in the literature for proving the correctness of unfold/fold transformations of logic programs make use of measures associated with program clauses. When from a program P 1 we derive a program P 2 by applying a sequence of transformations, suitable conditions on the measures of the clauses in P 2 guarantee that the transformation of P 1 into P 2 is correct, that is, P 1 and P 2 have the same least Herbrand model. In the approaches proposed so far, clause measures are fixed in advance, independently of the transformations to be proved correct. In this paper we propose a method for the automatic generation of clause measures which, instead, takes into account the particular program transformation at hand. During the application of a sequence of transformations we construct a system of linear equalities and inequalities over nonnegative integers whose unknowns are the clause measures to be found, and the correctness of the transformation is guaranteed by the satisfiability of that system. Through some examples we show that our method is more powerful and practical than other methods proposed in the literature. In particular, we are able to establish in a fully automatic way the correctness of program transformations which, by using other methods, are proved correct at the expense of fixing in advance sophisticated clause measures.
Alberto Pettorossi, Maurizio Proietti, Valerio Senni
Formal Aspects Comput.3
2012 Improving Reachability Analysis of Infinite State Systems by Specialization
abstract
We consider infinite state reactive systems specified by using linear constraints over the integers, and we address the problem of verifying safety properties of these systems by applying reachability analysis techniques. We propose a method based on
Fabio Fioravanti, Alberto Pettorossi, Maurizio Proietti, Valerio Senni
Fundam. Informaticae4
2011 Using Real Relaxations during Program Specialization
Fabio Fioravanti, Alberto Pettorossi, Maurizio Proietti, Valerio Senni
LOPSTR4
2010 Program Specialization for Verifying Infinite State Systems: An Experimental Evaluation
Fabio Fioravanti, Alberto Pettorossi, Maurizio Proietti, Valerio Senni
LOPSTR4
2010 Transformations of logic programs on infinite lists
abstract
Abstract We consider an extension of logic programs, called ω-programs, that can be used to define predicates overinfinite lists. ω-programs allow us to specify properties of the infinite behavior of reactive systems and, in general, properties of infinite sequences of events. The semantics of ω-programs is an extension of the perfect model semantics. We present variants of the familiar unfold/fold rules which can be used for transforming ω-programs. We show that these new rules are correct, that is, their application preserves the perfect model semantics. Then we outline a general methodology based on program transformation for verifying properties of ω-programs. We demonstrate the power of our transformation-based verification methodology by proving some properties of Büchi automata and ω-regular languages.
Alberto Pettorossi, Valerio Senni, Maurizio Proietti
Theory Pract. Log. Program.2
2009 Deciding Full Branching Time Logic by Program Transformation
Alberto Pettorossi, Maurizio Proietti, Valerio Senni
LOPSTR3
2009 A Folding Rule for Eliminating Existential Variables from Constraint Logic Programs
abstract
The existential variables of a clause in a constraint logic program \nare the variables which occur in the body of the clause and not in \nits head. The elimination of these variables is a transformation \ntechnique which is often used for improving program efficiency and \nverifying program properties. We consider a folding transformation \nrule which ensures the elimination of existential variables and we \npropose an algorithm for applying this rule in the case where the \nconstraints are linear inequations over rational or real numbers. \nThe algorithm combines techniques for matching terms modulo \nequational theories and techniques for solving systems of linear \ninequations. Through some examples we show that an implementation of \nour folding algorithm has a good performance in practice.
Valerio Senni, Alberto Pettorossi, Maurizio Proietti
Fundam. Informaticae1
2008 A Folding Algorithm for Eliminating Existential Variables from Constraint Logic Programs
Valerio Senni, Alberto Pettorossi, Maurizio Proietti
ICLP1
2007 Automatic Correctness Proofs for Logic Program Transformations
Alberto Pettorossi, Maurizio Proietti, Valerio Senni
ICLP3
2006 Proving Properties of Constraint Logic Programs by Eliminating Existential Variables
Alberto Pettorossi, Maurizio Proietti, Valerio Senni
ICLP3
2005 Transformational Verification of Parameterized Protocols Using Array Formulas
Alberto Pettorossi, Maurizio Proietti, Valerio Senni
LOPSTR3