FACTOID # 29: Qataris have lots and lots of gas.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "Key" also viewed:
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

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 Card. A formal specification is a mathematical description of software or hardware that may be used to develop an implementation. ... In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics. ... Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ... Java language redirects here. ... Java Card refers to a technology that allows small Java-based applications (applets) to be run securely on smart cards and similar devices. ... Wikipedia does not yet have an article with this exact name. ... The Object Constraint Language is a declarative language for describing rules that apply to UML models developed at IBM and now part of the UML standard. ... Automated theorem proving (currently the most important subfield of automated reasoning) is the proving of mathematical theorems by a computer program. ... In proof theory and mathematical logic, the sequent calculus is a widely known deduction system for first-order logic (and propositional logic as a special case of it). ... Dynamic logic is an extension of modal logic originally intended for reasoning about computer programs and later applied to more general complex behaviors arising in linguistics, philosophy, AI, and other fields. ...


The development of KeY has been started in autumn 1998 and is an ongoing effort. KeY is jointly developed by the University of Karlsruhe, Chalmers University of Technology in Gothenburg, and the University of Koblenz. It is licensed under the GPL. The Universität Karlsruhe (TH) (also called Fridericiana / University of Karlsruhe) recently merged with Forschungszentrum Karlsruhe to form the Karlsruhe Institute of Technology (KIT). ... Chalmers University of Technology or Chalmers tekniska högskola (CTH), often Chalmers, is a university in Gothenburg, Sweden, that focuses on research and education in technology, natural science and architecture. ... The University of Koblenz-Landau (German Universität Koblenz - Landau) is a university located in Koblenz and Landau, Germany. ... The GNU logo For other uses of GPL, see GPL (disambiguation). ...

Contents

Java Card DL

The theoretical foundation of KeY is a formal logic called Java Card DL. It is a version of dynamic logic tailored to Java Card programs. As such, it for example allows statements (formulas) like p → [j]q, which intuitively says that q must hold in all program states reachable by executing the Java Card program j in any state that satisfies p. Proofs of the validity of such formulas can then be performed by means of a sequent calculus and symbolic execution. Logic (from ancient Greek λόγος (logos), meaning reason) is the study of arguments. ... Dynamic logic is an extension of modal logic originally intended for reasoning about computer programs and later applied to more general complex behaviors arising in linguistics, philosophy, AI, and other fields. ... Symbolic mathematics, or symbolic math, relates to the use of computers to manipulate mathematical equations and expressions in symbolic form, as opposed to manipulating the approximations of specific numerical quantities represented by those symbols. ...


Other Supported Logics

Besides the core tool based on Java Card DL, there are several variants of KeY which support reasoning for other kinds of logics:

(*) under active development/maintained To meet Wikipedias quality standards, this article or section may require cleanup. ... Abstract State Machines (ASM), formerly known as Evolving Algebras, are a formal method for specification and verification. ... It is an implementation for Communicating Sequential Processes for Java™. External links JCSP Communicating Threads for Java: Real-Time Extension for Java ...


Variants of the KeY System

KeY for C

KeY for C is an adaption of the KeY System to MISRA C, a subset of the C programming language. To meet Wikipedias quality standards, this article or section may require cleanup. ... Wikibooks has a book on the topic of C Programming The C programming language (often, just C) is a general-purpose, procedural, imperative computer programming language developed in the early 1970s by Dennis Ritchie for use on the Unix operating system. ...


Symbolic Execution Debugger

The Symbolic Execution Debugger visualizes the control flow of a program as a symbolic execution tree that contains all feasible execution paths through the program up to a certain point. In computer science control flow (or alternatively, flow of control) refers to the order in which the individual statements, instructions or function calls of an imperative or functional program are executed or evaluated. ... Symbolic mathematics, or symbolic math, relates to the use of computers to manipulate mathematical equations and expressions in symbolic form, as opposed to manipulating the approximations of specific numerical quantities represented by those symbols. ...


The Symbolic Execution Debugger is provided as a plugin to the Eclipse development platform. Eclipse is an open-source software framework written primarily in Java. ...


KeY-Hoare

KeY-Hoare is built on top of KeY and features a Hoare calculus with state updates. State updates are a means of describing state transitions in a Kripke structure. Hoare logic (also known as Floyd–Hoare logic) is a formal system developed by the British computer scientist C. A. R. Hoare, and subsequently refined by Hoare and other researchers. ... A Kripke structure is a type of nondeterministic finite state machine used in model checking to represent the behaviour of a system. ...


KeYmaera

KeYmaera (previously called HyKeY) is a deductive verification tool for hybrid systems based on a calculus for the differential dynamic logic dL. It extends the KeY tool with Mathematica and corresponding algorithms and proof strategies such that it can be used for practical verification of hybrid systems. For other uses, see Mathematica (disambiguation). ... A hybrid system is a dynamic system that exhibits both continuous and discrete dynamic behavior — a system that can both flow (described by a differential equation) and jump (described by a difference equation). ...


KeYmaera has been developed at the University of Oldenburg. The Carl von Ossietzky University of Oldenburg is a university in Oldenburg, Germany. ...


KeY Test Case Generator

KeY is usable as a model-based testing tool that can generate unit tests for Java programs. The model from which test data and the test case are derived consists of a formal specification (provided in JML or OCL) and a symbolic execution tree of the implementation under test which is computed by the KeY system. Model-based testing is software testing in which test cases are derived in whole or in part from a model that describes some (usually functional) aspects of the system under test (SUT). ... In computer programming, a unit test is a method of testing the correctness of a particular module of source code. ... Wikipedia does not yet have an article with this exact name. ... The Object Constraint Language is a declarative language for describing rules that apply to UML models developed at IBM and now part of the UML standard. ...


Sources

Springer Science+Business Media or Springer (IPA: ) is a worldwide publishing company based in Germany which focuses on academic journals and books in the fields of science, technology, mathematics, and medicine. ... Springer Science+Business Media or Springer (IPA: ) is a worldwide publishing company based in Germany which focuses on academic journals and books in the fields of science, technology, mathematics, and medicine. ...

See also

Abstract State Machines (ASM), formerly known as Evolving Algebras, are a formal method for specification and verification. ... B is a tool-supported formal method based around AMN (Abstract Machine Notation), used in the development of computer software. ... BLAST is a software model checking tool for C programs. ... ESC/Java (and more recently ESC/Java2), the Extended Static Checker for Java, is a programming tool that attempts to find common run-time errors in Java programs by static analysis of the program text. ... Spec# is a programming language with specification language features that extends the capabilities of the C# programming language with Eiffel-like contracts, including object invariants, preconditions and post-conditions. ...

External links


  Results from FactBites:
 
Key (music) - Wikipedia, the free encyclopedia (1047 words)
In music theory, the key identifies the tonic triad, the chord, major or minor, which represents the final point of rest for a piece, or the focal point of a section.
A key may be major or minor; music in the Dorian, Phrygian, and so on are usually considered to be in a mode rather than a key.
The chords used within a key are generally drawn from the major or minor scale associated with the tonic triad, but may also include borrowed chords, altered chords, secondary dominants, and the like.
Key - Wikipedia, the free encyclopedia (287 words)
Key (lock), a device used to open a lock
Key (woreda), a district in the Southern Nations, Nationalities and Peoples' Region of Ethiopia.
Key frame, in animation, a frame made by an animator from which other frames are derived
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.