Publications
Chosen filters:
Chosen filters:
Finding and fixing bugs in model transformations with formal verification University of Antwerp
A Formal Account of the Open Provenance Model Hasselt University
On the Web, where resources such as documents and data are published, shared, transformed, and republished, provenance is a crucial piece of metadata that would allow users to place their trust in the resources they access. The open provenance model (OPM) is a community data model for provenance that is designed to facilitate the meaningful interchange of provenance information between systems. Underpinning OPM is a notion of directed graph, ...
Review of Methodologies for Pre- and Post-Silicon Analog Verification in Mixed-Signal SOCs KU Leuven
© 2019 EDAA. The integration of increasingly more complex and heterogeneous SOCs results in ever more complicated demands for the verification of the system and its underlying subsystems. Pre-silicon design validation as well as post-silicon test generation of the analog and mixed-signal (AMS) subsystems within SOCs proves extremely challenging as these subsystems do not share the formal description potential of their digital counterparts. ...
Verification of unloadable modules KU Leuven
Programs in unsafe languages, like C and C++, may dynamically load and unload modules. For example, some operating system kernels support dynamic loading and unloading of device drivers. This causes specific difficulties in the verification of such programs and modules; in particular, it must be verified that no functions or global variables from the module are used after the module is unloaded. We present the approach we used to add support ...
Towards modular verification of threaded concurrent executable code generated from DSL models KU Leuven
An important problem in Model Driven Engineering is maintaining the correctness of a specification under model transformations. We consider this issue for a framework that implements the transformation chain from the modeling language SLCO to Java. In particular, we verify the generic part of the last transformation step to Java code, involving change in granularity, focusing on the implementation of SLCO communication channels. To this end we ...
Modular Verification of Liveness Properties of the I/O Behavior of Imperative Programs KU Leuven
One way of verifying systems whose components interact by exchanging messages, such as distributed systems or certain types of concurrent systems, is by defining a protocol that governs the communication between the components and then verifying that each component’s input and output (I/O) actions comply with its role in the protocol.In this paper, we propose a separation logic-based approach for specifying and verifying liveness properties of ...
A scenario-based verification technique to assess the compatibility of collaborative business processes KU Leuven University of Antwerp
Successful E-Business is based on seamless collaborative business processes. Each partner in the collaboration specifies its own rules and interaction preconditions. The verification of the compatibility of collaborative business processes, based on local and global views, is a complex task, which is critical for the success of the cooperation. The verification of process compatibility should be a key element in the design of new business ...
Automatic verification of Java programs with dynamic frames KU Leuven
Framing in the presence of data abstraction is a challenging and important problem in the verification of object-oriented programs. The dynamic frames approach is a promising solution to this problem. However, the approach is formalized in the context of an idealized logical framework. In particular, it is not clear the solution is suitable for use within a program verifier for a Java-like language based on verification condition generation and ...
Cerise: Program Verification on a Capability Machine in the Presence of Untrusted Code KU Leuven
A capability machine is a type of CPU allowing fine-grained privilege separation using capabilities, machine words that represent certain kinds of authority. We present a mathematical model and accompanying proof methods that can be used for formal verification of functional correctness of programs running on a capability machine, even when they invoke and are invoked by unknown (and possibly malicious) code. We use a program logic called Cerise ...