A Survey of Language Virtual Machines and Approaches to Their Testing


A Survey of Language Virtual Machines and Approaches to Their Testing

Protsenko A.S. (ISP RAS, Moscow, Russia)

Abstract

Language Virtual Machines (VMs) are commonly used within the infrastructure of programming systems for high-level object-oriented languages. These languages are popular among developers and researchers due to their key features: cross-platform portability, automatic memory management (garbage collection), and an isolated program execution environment. This environment, combined with a bytecode verifier for loaded classes, guarantees a certain level of security for the executed program. Currently, there is a wide variety of both VM instruction set architectures and their implementations. This survey provides a list of such architectures and their most popular implementations. The paper illustrates the operational scheme of a typical VM. However, VM development is a complex process prone to errors. To ensure the quality of a VM implementation, the development process must necessarily include a testing phase. This review examines approaches aimed at testing VMs and provides a comparison of them. The possibility of applying the testing methods discussed in the survey for the functional testing of implementations of existing and emerging VM architectures is considered.

Keywords

language virtual machines; process virtual machines; virtual machines; instruction set architecture; ISA; virtual-ISA; testing; functional testing.

Edition

Proceedings of the Institute for System Programming, vol. 38, issue 3, part 4, 2026, pp. 37-58

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2026-38(3)-45

For citation

Protsenko A.S. A Survey of Language Virtual Machines and Approaches to Their Testing. Proceedings of the Institute for System Programming, vol. 38, issue 3, part 4, 2026, pp. 37-58 DOI: 10.15514/ISPRAS-2026-38(3)-45.

Full text of the paper in pdf (in Russian) Back to the contents of the volume