2,698 research outputs found
Why Just Boogie? Translating Between Intermediate Verification Languages
The verification systems Boogie and Why3 use their respective intermediate
languages to generate verification conditions from high-level programs. Since
the two systems support different back-end provers (such as Z3 and Alt-Ergo)
and are used to encode different high-level languages (such as C# and Java),
being able to translate between their intermediate languages would provide a
way to reuse one system's features to verify programs meant for the other. This
paper describes a translation of Boogie into WhyML (Why3's intermediate
language) that preserves semantics, verifiability, and program structure to a
large degree. We implemented the translation as a tool and applied it to 194
Boogie-verified programs of various sources and sizes; Why3 verified 83% of the
translated programs with the same outcome as Boogie. These results indicate
that the translation is often effective and practically applicable
On Relaxing Metric Information in Linear Temporal Logic
Metric LTL formulas rely on the next operator to encode time distances,
whereas qualitative LTL formulas use only the until operator. This paper shows
how to transform any metric LTL formula M into a qualitative formula Q, such
that Q is satisfiable if and only if M is satisfiable over words with
variability bounded with respect to the largest distances used in M (i.e.,
occurrences of next), but the size of Q is independent of such distances.
Besides the theoretical interest, this result can help simplify the
verification of systems with time-granularity heterogeneity, where large
distances are required to express the coarse-grain dynamics in terms of
fine-grain time units.Comment: Minor change
EU AND GLOBALIZATION: SOME STYLIZED FACTS
Most of the people all over the world claim that globalization is a result of dynamic interactions between economic, technological, social and political factors. The aim of this paper is to document some stylized facts on this phenomenon in order to takeglobalization, cluster analysis, k-means algorithm, international ranking
C to O-O Translation: Beyond the Easy Stuff
Can we reuse some of the huge code-base developed in C to take advantage of
modern programming language features such as type safety, object-orientation,
and contracts? This paper presents a source-to-source translation of C code
into Eiffel, a modern object-oriented programming language, and the supporting
tool C2Eif. The translation is completely automatic and supports the entire C
language (ANSI, as well as many GNU C Compiler extensions, through CIL) as used
in practice, including its usage of native system libraries and inlined
assembly code. Our experiments show that C2Eif can handle C applications and
libraries of significant size (such as vim and libgsl), as well as challenging
benchmarks such as the GCC torture tests. The produced Eiffel code is
functionally equivalent to the original C code, and takes advantage of some of
Eiffel's object-oriented features to produce safe and easy-to-debug
translations
Integrated Modeling and Verification of Real-Time Systems through Multiple Paradigms
Complex systems typically have many different parts and facets, with
different characteristics. In a multi-paradigm approach to modeling, formalisms
with different natures are used in combination to describe complementary parts
and aspects of the system. This can have a beneficial impact on the modeling
activity, as different paradigms an be better suited to describe different
aspects of the system. While each paradigm provides a different view on the
many facets of the system, it is of paramount importance that a coherent
comprehensive model emerges from the combination of the various partial
descriptions. In this paper we present a technique to model different aspects
of the same system with different formalisms, while keeping the various models
tightly integrated with one another. In addition, our approach leverages the
flexibility provided by a bounded satisfiability checker to encode the
verification problem of the integrated model in the propositional
satisfiability (SAT) problem; this allows users to carry out formal
verification activities both on the whole model and on parts thereof. The
effectiveness of the approach is illustrated through the example of a
monitoring system.Comment: 27 page
- …
