Jump to content

KeY: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
added list of supported logics
KeYIT (talk | contribs)
No edit summary
Line 1: Line 1:
{{notability|date=July 2007}}
{{notability|date=July 2007}}
'''KeY''' is a formal software development tool that aims to integrate design, implementation,
'''KeY''' is a formal software development tool that aims to integrate design, implementation,
[[formal specification]], and [[formal verification]] of [[object-oriented]] software. It supports programs written in [[Java (programming language)|Java]] (and, to some extent, [[C (programming language)|C]]) and specifications written in [[JML]] or [[Object Constraint Language|OCL]]. At the core of the system is a [[Deductive reasoning|deductive]] verification component, which also can be used as a stand-alone prover. It employs a free variable [[sequent calculus]] for first-order [[dynamic logic (modal logic)|dynamic logic]] for Java.
[[formal specification]], and [[formal verification]] of [[object-oriented]] software. It supports programs written in [[Java (programming language)|Java]] (more precisely: in a superset of [[Java Card]]) and specifications written in [[JML]] or [[Object Constraint Language|OCL]]. At the core of the system is a deductive [[theorem prover]]. It employs a free variable [[sequent calculus]] for first-order [[dynamic logic (modal logic)|dynamic logic]] for Java.


KeY is jointly developed by the [[University of Karlsruhe]], [[Chalmers University of Technology]] in Gothenburg, and the [[University of Koblenz]].
KeY is jointly developed by the [[University of Karlsruhe]], [[Chalmers University of Technology]] in Gothenburg, and the [[University of Koblenz]].

Revision as of 19:16, 31 July 2007

KeY is a formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software. It supports programs written in Java (more precisely: in a superset of Java Card) and specifications written in JML or OCL. At the core of the system is a deductive theorem prover. It employs a free variable sequent calculus for first-order dynamic logic for Java.

KeY is jointly developed by the University of Karlsruhe, Chalmers University of Technology in Gothenburg, and the University of Koblenz.

Supported Logics

The KeY tool (resp. external maintained variants) support reasoning for several kinds of logics:

  • JavaCardDL (main logic supported by the core tool) (*)
  • Dynamic Logic for MisraC [1] (extension) (*)
  • Differential dynamic logic (dL) [2] (HyKeY [3], external) (*)
  • Logic for Abstract state machines [4] (ASMKeY, external)
  • A logic for JCSP programs [5]

(*) under active development/maintained

Sources

See also