• Home
  • Search
  • Model-Checking C Programs against JML-like Specification Language
  • https://doi.org/10.1109/apsec.2012.68Copy DOI Icon

Model-Checking C Programs against JML-like Specification Language

  • Dec 1, 2012
  • Masahiro Sakai +2 more
Show More
  • Abstract
  • Literature Map
  • References
  • Similar Papers
Abstract

Model checkers achieved a great success in verification of control-flow properties such as reach ability of error states, but few of them are capable of handling data structural properties such as ``the procedure preserves the sorted ness of linked lists''. On the other hand, specification languages like Java Modeling Language (JML) can express such property, and deductive verification tools like Spec# and Frama-C can prove properties expressed in such language. But these tools in general do not produce counter-examples when the proof attempts fails. This paper proposes a bounded model checker CForge and its specification language, aiming in the middle of these two approaches. The language has JML-like syntax extended with C-specific constructs and is designed to be suited for model checking. This allows writing data structural properties neatly using quantifiers, relational operations, etc., while enjoying the benefit of model checkers. As an experiment, we wrote specifications for ten programs, each of which contained one non-trivial bug such as a sorting failure, wrong manipulation of a linked list, etc. and checked them using CForge. CForge detected seven out of the ten bugs. The result shows that our language and tool are capable of specifying and checking complex properties.

Similar Papers
  • Conference Article
  • Citations4

On the Relationship between the Object Constraint Language (OCL) and the Java Modeling Language (JML)

  • Jan 01, 2006
  • Ali Hamie
  • Research Article
  • Citations14

JML Support for Primitive Arbitrary Precision Numeric Types: Definition and Semantics.

  • Jan 01, 2004
  • The Journal of Object Technology
  • Patrice Chalin
  • Dissertation
  • Citations1

Enhancing a behavioral interface specification language with temporal logic features

  • Apr 28, 2012
  • Faraz Hussain
  • Conference Article
  • Citations13

Preliminary design of a unified JML representation and software infrastructure

  • Jul 06, 2009
  • Robby +1
  • Research Article
  • Citations55

Formal methods for smart cards: an experience report

  • Nov 11, 2004
  • Science of Computer Programming
  • C.-B Breunesse +3
  • Conference Article
  • Citations16

On the Effectiveness of Contracts as Test Oracles in the Detection and Diagnosis of Race Conditions and Deadlocks in Concurrent Object-Oriented Software

  • Sep 01, 2011
  • Wladimir Araujo +2
  • Research Article
  • Citations12

Reusing a JML Specification Dedicated to Verification for Testing, and Vice-Versa: Case Studies

  • Jun 02, 2009
  • Journal of Automated Reasoning
  • Lydie Du Bousquet +4
  • Conference Article
  • Citations9

Multi-core and/or Symbolic Model Checking

  • Jan 19, 2018
  • Data Archiving and Networked Services (DANS)
  • Tom Van Dijk +2
  • Research Article
  • Citations2

Verification of the ROS NavFn planner using executable specification languages

  • Feb 14, 2023
  • Journal of Logical and Algebraic Methods in Programming
  • Enrique Martin-Martin +4
  • Conference Article
  • Citations9

Test case generation from formal models through abstraction refinement and model checking

  • Jul 09, 2007
  • Manoranjan Satpathy +1
  • Research Article
  • Citations28

Augmenting branching temporal logics with existential quantification over atomic propositions

  • Apr 01, 1999
  • Journal of Logic and Computation
  • O Kupferman
  • Conference Article
  • Citations11

Verification of JAVA CARD Applets Behavior with Respect to Transactions and Card Tears

  • Feb 05, 2007
  • C Marche +1
  • Book Chapter
  • Citations111

An Analysis of SAT-Based Model Checking Techniques in an Industrial Environment

  • Jan 01, 2005
  • Nina Amla +4
  • Research Article
  • Citations1

Direct Model Checking Matrix Algorithm

  • Nov 01, 2006
  • Journal of Computer Science and Technology
  • Zhi-Hong Tao +2
  • Research Article
  • Citations1

A VNF modeling approach for verification purposes

  • Aug 01, 2019
  • International Journal of Electrical and Computer Engineering (IJECE)
  • Guido Marchetto +3
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.