I apologies if my title is vague, I'm trying to apply CTL/LTL model-checking on some system written in java, however, I still don't understand how to reach a result using either of the approaches mentioned. Do I model my LTS/write specification and use a tool like SPIN to validate that or? I'm mainly looking for a point at a direction that will help me in making a start.

Again sorry but I made this thread after so much frustration searching for an explanation to my problem.

Thank you


1 Answer 1


I'm pretty sure that you need your system to be designed in Promela, rather than Java. You then input the system in Promela, and the specification in LTL (or CTL) to SPIN, which outputs a C code for a model checker for the specific instance.

  • $\begingroup$ Thanks for your answer! so I have to specify what properties of my system I'm checking and then I can move to Promela stage? also what about using SpinJa as an alternative? $\endgroup$
    – Meldar
    Commented Feb 21, 2013 at 13:44
  • $\begingroup$ Yes, that sounds about right (I'm a theoretician in formal verification, so I don't really know the practice of it). I only know of Spinja by name, I guess it's worth checking out, given that your program is in Java. $\endgroup$
    – Shaull
    Commented Feb 21, 2013 at 14:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.