101 research outputs found
Model Checker Execution Reports
Software model checking constitutes an undecidable problem and, as such, even
an ideal tool will in some cases fail to give a conclusive answer. In practice,
software model checkers fail often and usually do not provide any information
on what was effectively checked. The purpose of this work is to provide a
conceptual framing to extend software model checkers in a way that allows users
to access information about incomplete checks. We characterize the information
that model checkers themselves can provide, in terms of analyzed traces, i.e.
sequences of statements, and safe cones, and present the notion of execution
reports, which we also formalize. We instantiate these concepts for a family of
techniques based on Abstract Reachability Trees and implement the approach
using the software model checker CPAchecker. We evaluate our approach
empirically and provide examples to illustrate the execution reports produced
and the information that can be extracted
Dynamic Slicing by On-demand Re-execution
In this paper, we propose a novel approach that aims to offer an alternative
to the prevalent paradigm to dynamic slicing construction. Dynamic slicing
requires dynamic data and control dependencies that arise in an execution.
During a single execution, memory reference information is recorded and then
traversed to extract dependencies. Execute-once approaches and tools are
challenged even by executions of moderate size of simple and short programs. We
propose to shift practical time complexity from execution size to slice size.
In particular, our approach executes the program multiple times while tracking
targeted information at each execution. We present a concrete algorithm that
follows an on-demand re-execution paradigm that uses a novel concept of
frontier dependency to incrementally build a dynamic slice. To focus dependency
tracking, the algorithm relies on static analysis. We show results of an
evaluation on the SV-COMP benchmark and Antrl4 unit tests that provide evidence
that on-demand re-execution can provide performance gains particularly when
slice size is small and execution size is large
Partial Behavioural Models for Requirements and Early Design
The talk will discuss the problem of creation, management, and specifically merging of partial behavioural models, expressed as model transition systems. We argue why this formalism is essential in the early stages of the software cycle and then discuss why and how to merge information coming from different sources using this formalism. The talk is based on papers presented in FSE\u2704 and FME\u2706 and will also include emerging results on synthesizing partial behavioural models from temporal properties and scenarios
An Inductive Approach for Modal Transition System Refinement
Modal Transition Systems (MTSs) provide an appropriate framework for modelling software behaviour when only a partial specification is available. A key characteristic of an MTS is that it explicitly models events that a system is required to provide and is proscribed from exhibiting, and those for which no specification is available, called maybe events. Incremental elaboration of maybe events into either required or proscribed events can be seen as a process of MTS refinement, resulting from extending a given partial specification with more information about the system behaviour. This paper focuses on providing automated support for computing strong refinements
of an MTS with respect to event traces that describe required and proscribed behaviours using a non-monotonic inductive logic programming technique. A real case study is used to illustrate
the practical application of the approach
Focused Dynamic Slicing for Large Applications using an Abstract Memory-Model
Dynamic slicing techniques compute program dependencies to find all
statements that affect the value of a variable at a program point for a
specific execution. Despite their many potential uses, applicability is limited
by the fact that they typically cannot scale beyond small-sized applications.
We believe that at the heart of this limitation is the use of memory references
to identify data-dependencies. Particularly, working with memory references
hinders distinct treatment of the code-to-be-sliced (e.g., classes the user has
an interest in) from the rest of the code (including libraries and frameworks).
The ability to perform a coarser-grained analysis for the code that is not
under focus may provide performance gains and could become one avenue toward
scalability. In this paper, we propose a novel approach that completely
replaces memory reference registering and processing with a memory analysis
model that works with program symbols (i.e., terms). In fact, this approach
enables the alternative of not instrumenting -- thus, not generating any trace
-- for code that is not part of the code-to-be-sliced. We report on an
implementation of an abstract dynamic slicer for C\#, \textit{DynAbs}, and an
evaluation that shows how large and relevant parts of Roslyn and Powershell --
two of the largest and modern C\# applications that can be found in GitHub --
can be sliced for their test cases assertions in at most a few minutes. We also
show how reducing the code-to-be-sliced focus can bring important speedups with
marginal relative precision loss
Fluent temporal logic for discrete-time event-based models
Fluent model checking is an automated technique for verifying that an event-based operational model satisfies some state-based declarative properties. The link between the event-based and state-based formalisms is defined through fluents which are state predicates whose value are determined by the occurrences of initiating and terminating events that make the fluents values become true or false, respectively. The existing fluent temporal logic is convenient for reasoning about untimed event-based models but difficult to use for timed models. The paper extends fluent temporal logic with temporal operators for modelling timed properties of discrete-time event-based models. It presents two approaches that differ on whether the properties model the system state after the occurrence of each event or at a fixed time rate. Model checking of timed properties is made possible by translating them into the existing untimed framework. Copyright 2005 ACM
Nube híbrida nacional: soberana, libre, interoperable y con desarrollo local
Recientemente la Secretaría de Innovación Pública ha convocado a un procedimiento de consulta para la concreción de una Nube Híbrida de Gobierno. El objetivo de la Consulta es recibir aportes, ideas, experiencias y recomendaciones para la definición de criterios tecnológicos que permitan la construcción de la misma. En este marco, quienes firmamos la presente, actores de diversas organizaciones del quehacer tecnológico nacional, mujeres y hombres con décadas de experiencia profesional en tecnologías informáticas y su relación con el desarrollo nacional, apoyamos la construcción de una Nube híbrida de Gobierno, saludamos el llamado a Consulta y acordamos en una serie de principios que creemos fundamentales para su desarrollo y el aseguramiento de la soberanía tecnológica.Fil: Monk, Leandro Nicolás. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; ArgentinaFil: Schapachnik, Fernando. Consejo Nacional de Investigaciones Científicas y Técnicas. Oficina de Coordinación Administrativa Ciudad Universitaria. Instituto de Investigación en Ciencias de la Computación. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Instituto de Investigación en Ciencias de la Computación; ArgentinaFil: Uchitel, Sebastian. Consejo Nacional de Investigaciones Científicas y Técnicas. Oficina de Coordinación Administrativa Ciudad Universitaria. Instituto de Investigación en Ciencias de la Computación. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Instituto de Investigación en Ciencias de la Computación; ArgentinaFil: Vannini, Pablo Alberto. No especifíca;Fil: Zukerfeld, Mariano. Consejo Nacional de Investigaciones Científicas y Técnicas. Oficina de Coordinación Administrativa Ciudad Universitaria. Instituto de Investigación en Ciencias de la Computación. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Instituto de Investigación en Ciencias de la Computación; ArgentinaFil: Díaz, Andrea. No especifíca;Fil: Dunayevich, Julián. No especifíca;Fil: Lagostena, Juan Pablo. No especifíca;Fil: Passerini, Pablo Nicolás. No especifíca
- …