Method, Computer Program and Apparatus for Analysing Symbols in a Computer System

Information

  • Patent Application
  • 20070185703
  • Publication Number
    20070185703
  • Date Filed
    February 07, 2007
    17 years ago
  • Date Published
    August 09, 2007
    17 years ago
Abstract
A computer-implemented method of analysing symbols in a computer system, and a computer program and apparatus therefor are provided. The symbols conform to a specification for the symbols. The specification is codified into a set of computer-readable rules. The symbols are analysed using the computer-readable rules to obtains patterns of the symbols by: determining the path that is taken by the symbols through the rules that successfully terminates, and grouping the symbols according to said paths.
Description

Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings, in which:



FIG. 1 shows an example of a cluster obtained in accordance with an embodiment of the present invention;



FIG. 2 shows a cluster as portrayed by its annotated parse tree;



FIG. 3 shows a cluster as portrayed graphically by way of a parse map; and,



FIG. 4 shows another example of portrayal of clusters.


Claims
  • 1. A computer-implemented method of analysing symbols in a computer system, the symbols conforming to a specification for the symbols, the method comprising: codifying the specification into a set of computer-readable rules; and,analysing the symbols using the computer-readable rules to obtains patterns of the symbols by: determining the path that is taken by the symbols through the rules that successfully terminates, andgrouping the symbols according to said paths.
  • 2. A method according to claim 1, wherein the method is carried out on new symbols to determine whether the new symbols fit a pattern of symbols that is known or constitute a new pattern.
  • 3. A method according to claim 1, wherein the method is initially carried out on training examples of symbols.
  • 4. A method according to claim 1, wherein it is determined to be sufficient to take only a single said path that successfully terminates.
  • 5. A method according to claim 1, wherein: the specification is codified by defining a first order logic that describes the specification; and,the symbols are analysed using the first order logic to obtain patterns of the symbols by: determining the path that is taken by each symbol through the first order logic that successfully terminates, andgrouping the symbols according to said paths.
  • 6. A method according to claim 5, wherein the first order logic has clauses at least some of which are parameterised.
  • 7. A method according to claim 6, wherein at least some of the clauses have a head that is parameterised, the determining step in the analysing step being carried out by determining a path of clauses having a parameterised head through the first order logic that is taken by each symbol that successfully terminates.
  • 8. A method according to claim 5, wherein the first order logic is a stochastic logic program having at least some clauses that are instrumented, the determining step in the analysing step being carried out by determining a path of said instrumented clauses through the first order logic that is taken by each symbol that successfully terminates.
  • 9. A method according to claim 1, wherein: the specification is codified into a Java program; and,the symbols are analysed using the Java program to obtain patterns of the symbols by: determining the execution path that is taken by each symbol through the Java program that successfully terminates, andgrouping the symbols according to said execution paths.
  • 10. A method according to claim 1, wherein the symbols are messages of a computer language, said specification being the computer language, and wherein the codifying the specification into a set of computer-readable rules comprises defining computer-readable rules that describe the grammar of the computer language.
  • 11. A method according to claim 1, wherein the symbols are data.
  • 12. A method according to claim 1, comprising generalising the symbols by generalising to the paths.
  • 13. A computer program for analysing symbols in a computer system, the symbols conforming to a specification for the symbols, the computer program comprising program instructions for causing a computer to carry out a method of: codifying the specification into a set of computer-readable rules; and,analysing the symbols using the computer-readable rules to obtains patterns of the symbols by: determining the path that is taken by the symbols through the rules that successfully terminates, andgrouping the symbols according to said paths.
  • 14. A computer program according to claim 13, wherein the computer program is arranged so that the method is carried out on new symbols to determine whether the new symbols fit a pattern of symbols that is known or constitute a new pattern.
  • 15. A computer program according to claim 13, wherein the computer program is arranged so that the method is initially carried out on training examples of symbols.
  • 16. A computer program according to claim 13, wherein the computer program is arranged so that it is determined to be sufficient to take only a single said path that successfully terminates.
  • 17. A computer program according to claim 13, wherein the computer program is arranged so that: the specification is codified by defining a first order logic that describes the specification; and,the symbols are analysed using the first order logic to obtain patterns of the symbols by: determining the path that is taken by each symbol through the first order logic that successfully terminates, andgrouping the symbols according to said paths.
  • 18. A computer program according to claim 17, wherein the computer program is arranged so that the first order logic has clauses at least some of which are parameterised.
  • 19. A computer program according to claim 18, wherein the computer program is arranged so that at least some of the clauses have a head that is parameterised, the determining step in the analysing step being carried out by determining a path of clauses having a parameterised head through the first order logic that is taken by each symbol that successfully terminates.
  • 20. A computer program according to claim 17, wherein the computer program is arranged so that the first order logic is a stochastic logic program having at least some clauses that are instrumented, the determining step in the analysing step being carried out by determining a path of said instrumented clauses through the first order logic that is taken by each symbol that successfully terminates.
  • 21. A computer program according to claim 13, wherein the computer program is arranged so that: the specification is codified into a Java program; and,the symbols are analysed using the Java program to obtain patterns of the symbols by: determining the execution path that is taken by each symbol through the Java program that successfully terminates, andgrouping the symbols according to said execution paths.
  • 22. A computer program according to claim 13, wherein the symbols are messages of a computer language, said specification being the computer language, and wherein the computer program is arranged so that the codifying the specification into a set of computer-readable rules comprises defining computer-readable rules that describe the grammar of the computer language.
  • 23. A computer program according to claim 13, wherein the symbols are data.
  • 24. A computer program according to claim 13, wherein the computer program is arranged so that the symbols are generalised by generalising to the paths.
  • 25. A computer programmed to carry out a method according to claim 1.
Provisional Applications (1)
Number Date Country
60771281 Feb 2006 US