Showing 1–2 of 2 results for author: Naus, N
-
Creating Interactive Visualizations of TopHat Programs
Authors:
Mark Gerarts,
Marc de Hoog,
Nico Naus,
Tim Steenvoorden
Abstract:
Many companies and institutions have automated their business process in workflow management software. The novel programming paradigm Task-Oriented Programming (TOP) provides an abstraction for such software. The largest framework based on TOP, iTasks, has been used to develop real-world software.
Workflow software often includes critical systems. In such cases it is important to reason over the…
▽ More
Many companies and institutions have automated their business process in workflow management software. The novel programming paradigm Task-Oriented Programming (TOP) provides an abstraction for such software. The largest framework based on TOP, iTasks, has been used to develop real-world software.
Workflow software often includes critical systems. In such cases it is important to reason over the software to ascertain its correctness. The lack of a formal iTasks semantics makes it unsuitable for formal reasoning. To this end TopHat has been developed as a TOP language with a formal semantics. However, TopHat lacks a graphical user interface (GUI), making it harder to develop practical TopHat systems.
In this paper we present TopHat UI. By combining an existing server framework and user interface framework, we have developed a fully functioning proof of concept implementation in Haskell, on top of TopHat's semantics. We show that implementing a TOP framework is possible using a different host language than iTasks uses. None of TopHat's formal properties have been compromised, since the UI framework is completely separate from TopHat. We run several example programs and evaluate their generated GUI. Having such a system improves the quality and verifiability of TOP software in general.
△ Less
Submitted 29 August, 2022;
originally announced August 2022.
-
Reachability Logic for Low-Level Programs
Authors:
Nico Naus,
Freek Verbeek,
Marc Schoolderman,
Binoy Ravindran
Abstract:
Automatic exploit generation is a relatively new area of research. Work in this area aims to automate the manual and labor intensive task of finding exploits in software. In this paper we present a novel program logic to support automatic exploit generation. We develop a program logic called Reachability Logic, which formally defines the relation between reachability of an assertion and the precon…
▽ More
Automatic exploit generation is a relatively new area of research. Work in this area aims to automate the manual and labor intensive task of finding exploits in software. In this paper we present a novel program logic to support automatic exploit generation. We develop a program logic called Reachability Logic, which formally defines the relation between reachability of an assertion and the preconditions which allow them to occur. This relation is then used to calculate the search space of preconditions. We show that Reachability Logic is a powerful tool in automatically finding evidence that an assertion is reachable. We verify that the system works for small litmus tests, as well as real-world algorithms. An implementation has been developed, and the entire system is proven to be sound and complete in a theorem prover. This work represents an important step towards formally verified automatic exploit generation.
△ Less
Submitted 31 March, 2022;
originally announced April 2022.