Searcharxiv⌕ Search

arXiv subjects

Vadim Zaliva

Publications and source records attributed to Vadim Zaliva.

5 recordsLinked to original sources

HELIX: Verified compilation of cyber-physical control systems to LLVM IR

This paper presents the design of HELIX, an end-to-end verified code generation system with a focus on the intersection of high-performance and high-assurance numerical computing. The code generation can be fine-tuned to generate efficient code for a broad set of computer architectures while providing formal guarantees of the correctness of such generated code. Using a real-life example of a cyber-physical robot system, this paper demonstrates how, by using HELIX, one can start from a high-level mathematical formulation of the problem, apply a series of algebraic transformations that target intermediate languages, and generate an efficient imperative implementation. This is done while formally verifying semantic preservation from the original formulation down to LLVM IR. The method we used for high-performance code compilation is the algebraic transformation of vector and matrix computations into a dataflow optimised for parallel or vectorised processing on target hardware. The abstraction used to formalise and verify this technique is an operator language and accompanying semantics-preserving term rewriting. We use sparse vector abstraction to represent partial computations, enabling us to use algebraic reasoning to prove parallel decomposition properties. HELIX's verification infrastructure comprises multiple intermediate languages and verification approaches, all implemented in the Coq proof assistant. In particular, it uses verified term rewriting, translation validation, metaprogramming, verified compilation, layered monadic interpreters; it also supports application-specific uses of (verified) numerical analysis as we demonstrate via the running example.

cs.PL↗

Constructing an orthonormal set of eigenvectors for DFT matrix using Gramians and determinants

The problem of constructing an orthogonal set of eigenvectors for a DFT matrix is well studied. An elegant solution is mentioned by Matveev in his paper "Interwining relations between the Fourier transfom and discrete Fourier transform, the related functional identities and beyond". In this paper, we present a distilled form of his solution including some steps unexplained in his paper, along with correction of typos and errors using more consistent notation. Then we compare the computational complexity of his method with the more traditional method involving direct application of the Gram-Schmidt process. Finally, we present our implementation of Matveev's method as a Mathematica module.

math.NA↗

Applying static code analysis to firewall policies for the purpose of anomaly detection

Treating modern firewall policy languages as imperative, special purpose programming languages, in this article we will try to apply static code analysis techniques for the purpose of anomaly detection. We will first abstract a policy in common firewall policy language into an intermediate language, and then we will try to apply anomaly detection algorithms to it. The contributions made by this work are: 1. An analysis of various control flow instructions in popular firewall policy languages 2. Introduction of an intermediate firewall policy language, with emphasis on control flow constructs. 3. Application of \textit{Static Code Analysis} to detect anomalies in firewall policy, expressed in intermediate firewall policy language. 4. Sample implementation of \textit{Static Code Analysis} of firewall policies, expressed in our abstract language using Datalog language.

cs.PL↗

Platform-Independent Firewall Policy Representation

In this paper we will discuss the design of abstract firewall model along with platform-independent policy definition language. We will also discuss the main design challenges and solutions to these challenges, as well as examine several differences in policy semantics between vendors and how it could be mapped to our platform-independent language. We will also touch upon a processing model, describing the mechanism by which an abstract policy could be compiled into a concrete firewall policy syntax. We will discuss briefly some future research directions, such as policy optimization and validation

cs.CR↗

AccelKey Selection Method for Mobile Devices

Portable Electronic Devices usually utilize a small screen with limited viewing area and a keyboard with a limited number of keys. This makes it difficult to perform quick searches in data arrays containing more than dozen items such an address book or song list. In this article we present a new data selection method which allows the user to quickly select an entry from a list using 4-way navigation device such as joystick, trackball or 4-way key pad. This method allows for quick navigation using just one hand, without looking at the screen.

cs.HC↗