• Home
  • Search
  • Specification and inference of trace refinement relations
  • Cite Icon1
  • https://doi.org/10.1145/3360604Copy DOI Icon

Specification and inference of trace refinement relations

Show More
  • Abstract
  • Highlights & Summary
  • PDF
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

The modern software engineering process is evolutionary, with commits/patches begetting new versions of code, progressing steadily toward improved systems. In recent years, program analysis and verification tools have exploited version-based reasoning, where new code can be seen in terms of how it has changed from the previous version. When considering program versions, refinement seems a natural fit and, in recent decades, researchers have weakened classical notions of concrete refinement and program equivalence to capture similarities as well as differences between programs. For example, Benton, Yang and others have worked on state-based refinement relations . In this paper, we explore a form of weak refinement based on trace relations rather than state relations. The idea begins by partitioning traces of a program C 1 into trace classes, each identified via a restriction r 1 . For each class, we specify similar behavior in the other program C 2 via a separate restriction r 2 on C 2 . Still, these two trace classes may not yet be equivalent so we further permit a weakening via a binary relation A on traces, that allows one to, for instance disregard unimportant events, relate analogous atomic events, etc. We address several challenges that arise. First, we explore one way to specify trace refinement relations by instantiating the framework to Kleene Algebra with Tests (KAT) due to Kozen. We use KAT intersection for restriction, KAT hypotheses for A , KAT inclusion for refinement, and have proved compositionality. Next, we present an algorithm for automatically synthesizing refinement relations, based on a mixture of semantic program abstraction, KAT inclusion, a custom edit-distance algorithm on counterexamples, and case-analysis on nondeterministic branching. We have proved our algorithm to be sound. Finally, we implemented our algorithm as a tool called Knotical, on top of Interproc and Symkat. We demonstrate promising first steps in synthesizing trace refinement relations across a hand-crafted collection of 37 benchmarks that include changing fragments of array programs, models of systems code, and examples inspired by the thttpd and Merecat web servers.

Loading PDF

Similar Papers
  • Research Article
  • Citations3

Chaos Many-Body Engine v03: A new version of code C# for chaos analysis of relativistic many-body systems with reactions

  • Dec 31, 2012
  • Computer Physics Communications
  • I.V Grossu +6
  • Research Article
  • Citations3

Single particle calculations for a Woods–Saxon potential with triaxial deformations, and large Cartesian oscillator basis (TRIAXIAL 2014, Third version of the code Triaxial)

  • Aug 01, 2014
  • Computer Physics Communications
  • B Mohammed-Azizi +1
  • Book Chapter
  • Citations19

Confidentiality-Preserving Refinement is Compositional — Sometimes

  • Jan 01, 2002
  • Thomas Santen +2
  • Research Article
  • Citations51

SCELib3.0: The new revision of SCELib, the parallel computational library of molecular properties in the Single Center Approach

  • Jul 25, 2009
  • Computer Physics Communications
  • N Sanna +2
  • Research Article
  • Citations27

Tools for scalable parallel program analysis: Vampir NG, MARMOT, and DeWiz

  • Jan 01, 2009
  • International Journal of Computational Science and Engineering
  • Holger Brunst +3
  • Book Chapter

Thirteen Years of Automated Code Analysis at Microsoft

  • Jan 01, 2012
  • Wolfram Schulte
  • Book Chapter
  • Citations8

An Evolutionary Approach to Translate Operational Specifications into Declarative Specifications

  • Jan 01, 2016
  • Facundo Molina +6
  • Research Article
  • Citations67

Solution of the Skyrme–HF+BCS equation on a 3D mesh, II: A new version of the Ev8 code

  • Oct 15, 2014
  • Computer Physics Communications
  • W Ryssens +3
  • Book Chapter
  • Citations1

SMT Solvers: Foundations and Applications

  • Jan 01, 2016
  • BjØRner Nikolaj
  • Single Report

Radiological Safety Analysis Computer (RSAC) Program Version 7.0 Users? Manual

  • Mar 01, 2009
  • Dr Bradley J Schrader
  • Research Article
  • Citations12

Understanding Stigma: A Pooled Analysis of a National Program Aimed at Health Care Providers to Reduce Stigma towards Patients with a Mental Illness

  • Feb 15, 2017
  • Journal of Mental Health and Addiction Nursing
  • Stephanie Knaack +5
  • Conference Article
  • Citations13

Component design of retargetable program analysis tools that reuse intermediate representations

  • Jan 01, 2000
  • James Hayes +2
  • Book Chapter
  • Citations10

Agents and Roles: Refinement in Alternating-Time Temporal Logic

  • Jan 01, 2002
  • Mark Ryan +1
  • Research Article
  • Citations40

MSTor 2023: A new version of the computer code for multistructural torsional anharmonicity, now with automatic torsional identification using redundant internal coordinates

  • Mar 29, 2023
  • Computer Physics Communications
  • Wenqi Chen +4
  • Research Article

A logical approach to program analysis

  • Jan 01, 1991
  • Lisp and Symbolic Computation
  • Robert R Kessler +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.