KStruct: preserving consistency through C annotations

  • Authors:
  • Alexander Schmidt;Martin von Löwis;Andreas Polze

  • Affiliations:
  • Hasso Plattner Institute at University of Potsdam, Potsdam, Germany;Hasso Plattner Institute at University of Potsdam, Potsdam, Germany;Hasso Plattner Institute at University of Potsdam, Potsdam, Germany

  • Venue:
  • Proceedings of the Fifth Workshop on Programming Languages and Operating Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Debuggers and instrumentation tools have been proven valuable for understanding the inner workings of software systems. Although these tools are essential for various people, e.g., system administrators, developers, or teachers, they have one major drawback, especially in multi-threaded environments: They completely ignore data races. Within this paper, we present KStruct, a holistic approach for inspecting state information of a system while running. We therefore use a multi-level approach: First KStruct Access, our domain-specific language, can be used to model lock dependencies. Second, based on that model, we generate an access driver that dynamically attaches to the system under investigation and leverages that model to access state information. Our proposed approach can therefore improve quality in two dimensions: The code by making locking first-class primitives, and second the retrieved data is more reliable to be consistent.