Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Generating a transition system for use with model checking

Active Publication Date: 2009-12-10
GECKO HLDG PTY LTD +2
View PDF51 Cites 48 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0017]It is an advantage of the invention that the problem of labelling a transition system can be transformed into the XML domain so that detailed information about the data can be extracted using queries in a format that can be run in the XML domain which are well known. At the same time the transformation to the XML domain does not prevent the use of efficient model checking technologies.
[0018]The data may be source code. Static analysis of the source code may:
[0019]identify the presence or absence of a class of software bugs in the source code;
[0023]The method may be performed as the source code is being written or during compile time.
[0024]Querying the XML representation of the data comprises running a query on the XML representation of the data and the query may check for static properties of the source code, for example, location of variable and function declarations, comparisons between variables and numbers, initialisations of variables or data structures, modifications of variables or data structures and uses of various program elements such as variables, data structures, functions or numbers. Other static properties include function calls (in general or for specific functions that may deal, for example, with memory management) and control-flow statements (for example, if, switch, return, or all loop statements).
[0025]The method may comprise the initial step of generating an abstract syntax tree representation of the source code, and the steps of generating the transition system and generating the XML representation of the data may be based on the abstract syntax tree representation of the data.

Problems solved by technology

At the same time the transformation to the XML domain does not prevent the use of efficient model checking technologies.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Generating a transition system for use with model checking
  • Generating a transition system for use with model checking
  • Generating a transition system for use with model checking

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0049]An example of using the invention to detect static software bugs in source code using model checking will now be described with reference to the flowchart of FIG. 1. We note that while this flow chart has been depicted as a flow of sequential steps, in fact some steps can be performed in parallel. For example, steps 22 and steps 24 of FIG. 1 can be performed in parallel.

[0050]Take the source code of the sample program shown in FIG. 2. This sample program is automatically converted 20 to an abstract syntax tree (AST) shown in FIG. 3. An AST is a labelled tree, where the nodes are labelled by operators of a program, and where the leaf nodes represent its operands (i.e., variables or constants). The AST is an intermediate structure generated when parsing (i.e., reading in) a program and it is a natural precursor to the control flow graph (CFG). Every node in the AST has a unique identifier called a node ID (not shown).

[0051]Next, we automatically generate 22 a CFG as shown in FIG...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

The invention concerns model program analysis of software code using model checking. Initially, a transition system (22) and an extensible markup language (XML) (24) representation of the data is generated. Next, labels (26) for the transition system are generated by querying the XML representation of the data using (markup) query language. The labels and the structure of the transition system are then used as input to model checking techniques to analyse the software code (28). It is an advantage of the invention that the problem of labelling a transition system can be transformed into the XML domain so that detailed information about the software code can be extracted using queries in a format that can be run in the XML domain which are well known. At the same time the transformation to the XML domain does not prevent the use of efficient model checking technologies.

Description

TECHNICAL FIELD[0001]The invention concerns generating a transition system for use with model checking of data. In particular, but not limited to, the data may be software code and model checking may form part of program analysis, such as static program analysis. The invention also concerns software installed on a computer system to perform the method of the invention.BACKGROUND ART[0002]Software product development is very much driven by two objectives: short time-to-market and low development costs. However, the current best practice of software development is still expensive, time consuming, and creates unnecessary expenses which often occur in later stages of product development or even after product deployment.[0003]One of the reasons are errors or flaws in the software's source code, such as software bugs, which are both expensive and time consuming to detect. Finding such software bugs, or in turn giving an insurance of their absence, is therefore of great importance in softw...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F11/36G06F17/30
CPCY10S707/99933G06F11/3608G06F11/34G06F11/36G06F11/3684
Inventor HUUCK, RALFFEHNKER, ANSGARJAYET, PATRICKRAUCH, FELIX
Owner GECKO HLDG PTY LTD
Features
  • Generate Ideas
  • Intellectual Property
  • Life Sciences
  • Materials
  • Tech Scout
Why Patsnap Eureka
  • Unparalleled Data Quality
  • Higher Quality Content
  • 60% Fewer Hallucinations
Social media
Patsnap Eureka Blog
Learn More