• Home
  • Search
  • The Clara framework for hybrid typestate analysis
  • Open Access IconOpen Access
  • Cite Icon27
  • https://doi.org/10.1007/s10009-010-0183-5Copy DOI Icon

The Clara framework for hybrid typestate analysis

  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

A typestate property describes which operations are available on an object or a group of inter-related objects, depending on this object’s or group’s internal state, the typestate. Researchers in the field of static analysis have devised static program analyses to prove the absence of typestate-property violations on all possible executions of a given program under test. Researchers in runtime verification, on the other hand, have developed powerful monitoring approaches that guarantee to capture property violations on actual executions. Although static analysis can greatly benefit runtime monitoring, up until now, most static analyses are incompatible with most monitoring tools. We present Clara, a novel framework that makes these approaches compatible. With Clara, researchers in static analysis can easily implement powerful typestate analyses. Runtime-verification researchers, on the other hand, can use Clara to specialize AspectJ-based runtime monitors to a particular target program. To make aspects compatible to Clara, the monitoring tool annotates them with so-called dependency state machines. Clara uses the static analyses to automatically convert an annotated monitoring aspect into a residual runtime monitor that is triggered by fewer program locations. If the static analysis succeeds on all locations, this proves that the program fulfills the stated typestate properties, making runtime monitoring entirely obsolete. If not, the residual runtime monitor is at least optimized. We instantiated Clara with three static typestate analyses and applied these analyses to monitoring aspects generated from tracematches. In two-thirds of the cases in our experiments, the static analysis succeeds on all locations, proving that the program fulfills the stated properties, and completely obviating the need for runtime monitoring. In the remaining cases, the runtime monitor is often significantly optimized.

Similar Papers
  • Conference Article
  • Citations91

Finding programming errors earlier by evaluating runtime monitors ahead-of-time

  • Nov 09, 2008
  • Eric Bodden +2
  • Conference Article
  • Citations61

Residual dynamic typestate analysis exploiting static analysis

  • Nov 05, 2007
  • Matthew B Dwyer +1
  • Research Article
  • Citations12

Some trade-offs in reducing the overhead of assertion run-time checks via static analysis

  • Dec 28, 2017
  • Science of Computer Programming
  • Nataliia Stulova +2
  • Research Article

An Approach About Monitoring Generic Properties on C Programs Using Aspect-Oriented Programming with ACC (AspeCtC)

  • Jun 08, 2016
  • Pikeroen Olivier
  • PDF
  • Research Article
  • Citations1

Review of Static Analyzer Service Models

  • Jan 01, 2021
  • Proceedings of the Institute for System Programming of the RAS
  • Maxim Aleksandrovich Menshikov
  • Conference Article
  • Citations247

Taming reflection

  • May 21, 2011
  • Eric Bodden +4
  • Research Article
  • Citations1

A practical algorithm for learning disjunctive abstraction heuristics in static program analysis

  • Mar 08, 2021
  • Information and Software Technology
  • Donghoon Jeon +2
  • Research Article

Hybrid Malware Analysis for Threat Intelligence: Unveiling Akira Ransomware

  • Jul 21, 2025
  • International Journal of Computational and Experimental Science and Engineering
  • Jeenyta Mahendrabhai Desai +1
  • Conference Article
  • Citations41

Assuring application-level correctness against soft errors

  • Nov 01, 2011
  • Jason Cong +1
  • Research Article
  • Citations11

Efficient static analysis with path pruning using coverage data

  • May 17, 2005
  • ACM SIGSOFT Software Engineering Notes
  • V Vipindeep +1
  • Research Article
  • Citations26

Static analysis of multi-staged programs via unstaging translation

  • Jan 26, 2011
  • ACM SIGPLAN Notices
  • Wontae Choi +3
  • Research Article
  • Citations4

Formal Verification, Engineering and Business Value

  • Dec 29, 2012
  • Electronic Proceedings in Theoretical Computer Science
  • Ralf Huuck
  • Book Chapter
  • Citations3

Behavioural Verification in Embedded Software, from Model to Source Code

  • Jan 01, 2013
  • Anthony Fernandes Pires +3
  • Research Article

Intelligent Malware Analysis for User-Centric Using Deep Learning Models

  • Mar 18, 2026
  • INTERANTIONAL JOURNAL OF SCIENTIFIC RESEARCH IN ENGINEERING AND MANAGEMENT
  • Dr Md Adam Baba +4
  • Conference Article
  • Citations18

Run-Time Verification and Validation for Safety-Critical Flight Control Systems

  • Jun 15, 2008
  • John Schierman +7
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.