z-logo
open-access-imgOpen Access
Kex: A Platform For Analysis Of JVM Programs
Author(s) -
Azat Abdullin,
Vladimir Itsykson
Publication year - 2022
Publication title -
informacionno-upravlâûŝie sistemy
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.202
H-Index - 6
eISSN - 2541-8610
pISSN - 1684-8853
DOI - 10.31799/1684-8853-2022-1-30-43
Subject(s) - computer science , bytecode , programming language , program transformation , program analysis , static analysis , control flow graph , representation (politics) , software engineering , java , politics , political science , law
Over the last years program analysis methods were widely used for software quality assurance. Different types of program analysis require various levels of program representation, analysis methods, etc. Platforms that provide utilities to implement different types of analysis on their basis become very important because they allow one to simplify the process of development. Purpose: Development of a platform for analysis of JVM programs. Results: In this paper we present Kex, a platform for building program analysis tools for JVM bytecode. Kex provides three abstraction levels. First is Kfg, which is an SSA-based control flow graph representation for bytecode-level analysis and transformation. Second is a symbolic program representation called Predicate State, which consists of first order logic predicates that represent instructions of the original program, constraints, etc. The final level is SMT integration layer for constraint solving. It currently provides an interface for interacting with three SMT solvers. Practical relevance: We have evaluated our platform by considering two prototypes. First prototype is an automatic test generation tool that has participated in SBST 2021 tool competition. Second prototype is a tool for detection of automatic library integration errors. Both prototypes have proved that Kex can be used to implement competitive and powerful program analysis tools.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here