SYSTEM FOR DETERMINING WHETHER SCREEN DISPLAYED BY PROGRAM SATISFIES SPECIFICATION

Information

  • Patent Application
  • 20070233737
  • Publication Number
    20070233737
  • Date Filed
    April 03, 2007
    17 years ago
  • Date Published
    October 04, 2007
    17 years ago
Abstract
It is determined whether a plurality of screens to be sequentially displayed by a process of a program satisfies a specification without executing this program. A system of the present invention stores a first schema prescribing a specification of a first screen, a second schema prescribing a specification of a second screen, and an event switching the display by program from the first screen to the second screen. First, a partial program executed in response to an event generated during displaying the screen satisfying the first schema is extracted from a program on the basis of the first schema and the event. Next, an intermediate program for calculating a set of screens being displayed in response to an event generated during displaying screens in a set of screens satisfying the first schema from this set is generated on the basis of the partial program. Next, it is determined that these screens satisfy a specification on condition that the first screen satisfies the first schema and a set of screens obtained by applying the intermediate program to the first schema satisfies the second schema.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and features and advantages of the present invention will become more apparent from the following description of the presently preferred exemplary embodiments of the invention taken in conjunction with the accompanying drawings, in which:



FIG. 1 is a view showing an entire configuration of an information-processing system;



FIG. 2 is a view exemplary showing data stored on a document database;



FIG. 3 is a view showing a functional configuration of a satisfaction determining system;



FIG. 4 is a view exemplary showing a process for determining whether each screen satisfies a specification;



FIG. 5 is a conceptual diagram showing a determination by a satisfaction determining system;



FIG. 6 is a view showing the first example of a specification stored on a specification storing component;



FIG. 7 is a view showing the first example of a partial program;



FIG. 8 is a view showing the first example of an intermediate program;



FIG. 9 is a view exemplary showing a tree transducer used for a process for transforming a partial program to an intermediate program;



FIG. 10 is a view showing the second example of a specification stored on a specification storing component;



FIG. 11 is a view showing the second example of a partial program;



FIG. 12 is a view showing the second example of an intermediate program;



FIG. 13 is a view exemplary showing a tree transducer used for a process for transforming a partial program to an intermediate program;



FIG. 14 is a view exemplary showing a tree transducer used for a process for transforming a partial program to an intermediate program; and



FIG. 15 is a view exemplary showing a hardware configuration of an information-processing apparatus functioning as a satisfaction determining system.


Claims
  • 1. A system that determines whether a plurality of screens to be sequentially displayed by an application program satisfies a prepared specification, the system comprising: a specification storing component that stores first schema information prescribing a specification to be satisfied by a first screen, second schema information prescribing a specification to be satisfied by a second screen, and an event making the display by the application program be changed from the first screen into the second screen;an extracting component that extracts a partial program from the application program, which is executed in response to the occurrence of event during displaying any screen satisfying the first schema information, on the basis of the first schema information and the event;a generating component that generates, from a set of screens satisfying the first schema information, an intermediate program for calculating a set of screens to be displayed on condition that the event occurs during displaying screens in this satisfied set on the basis of the partial program; anda determining component that determines that the plurality of screens satisfies the prepared specification on condition that the first screen satisfies the first schema information and a set of screens obtained by applying the intermediate program to the first schema information satisfies the second schema information.
  • 2. The system as claimed in claim 1, wherein the extracting component determines which branch destination is executed and extracts a sequence of instructions on the branch destination to be executed according to the determination along with the partial program, on the basis of a state of the screen prescribed in the first schema information and the event, for each conditional branch instruction included in the application program.
  • 3. The system as claimed in claim 1, wherein the generating component performs SSA (Static Single Assignment) transformation on the partial program to uniquely prescribe the assignment to each variable in the partial program and generates a plurality of instructions having the same result as a result obtained by executing the partial program as the intermediate program.
  • 4. The system as claimed in claim 3, wherein each of the plurality of screens is data with a tree structure including other beginning tag and ending tag between a beginning tag and an ending tag, the extracting component selects data between certain beginning tag and ending tag from the first screen and extracts a tree operation instruction sequence for modifying the selected data along with the partial program, andthe generating component transforms the tree operation instruction sequence to an instruction sequence for generating copy data obtained by copying this data between the beginning and ending tags from the first screen, modifying the copy data, and replacing data to be copied in the first screen by the modified copy data.
  • 5. The system as claimed in claim 4, wherein each of the plurality of screens is a Web page described in HTML (Hyper Text Markup Language),the application program is a modifying program that is described in JavaScript and modifies the display on this Web page,the extracting component extracts an instruction for extracting a document object from a HTML document and an instruction for modifying the extracted document object from the modifying program as the tree operation instruction sequence, andthe generating component transforms the tree operation instruction sequence to an instruction sequence for generating the copy data by copying the document object extracted from the HTML document, modifying the copy data, and replacing the document object extracted from the HTML document by the modified copy data.
  • 6. The system as claimed in claim 1, wherein the specification storing component stores a plurality of schema information prescribing specifications to be satisfied by the plurality of screens and events making the display be changed from each of the plurality of screens into each of the other screens,the extracting component extracts, for each of the plurality of screens, a partial program to be executed in response to the occurrence of event during displaying this screen on the basis of schema information corresponding to this screen and an event capable of being generated during displaying this screen,the generating component that generates, for each of the plurality of schema information and from a set of screens satisfying this schema information, an intermediate program for calculating a set of screens to be displayed on condition that the event occurs during displaying screens in this satisfied set on the basis of the partial program to be executed during displaying this screen, andthe determining component determines that the plurality of screens satisfies the prepared specification on condition that the first screen of an initial screen satisfies the first schema information and a set of screens obtained by applying the intermediate program to each of the schema information satisfies schema information prescribing a specification of a screen to be displayed next to the screen satisfying this schema information.
  • 7. A method for determining whether a plurality of screens to be sequentially displayed by an application program satisfies a prepared specification by means of an information-processing apparatus, the information-processing apparatus comprising a specification storing component that stores first schema information prescribing a specification to be satisfied by a first screen, second schema information prescribing a specification to be satisfied by a second screen, and an event making the display by the application program be changed fromthe first screen into the second screen, andthe method comprising:extracting a partial program from the application program, which is executed in response to the occurrence of event during displaying any screen satisfying the first schema information, on the basis of the first schema information and the event;generating, from a set of screens satisfying the first schema information, an intermediate program for calculating a set of screens to be displayed on condition that the event occurs during displaying screens in this satisfied set on the basis of the partial program; anddetermining that the plurality of screens satisfies the prepared specification on condition that the first screen satisfies the first schema information and a set of screens obtained by applying the intermediate program to the first schema information satisfies the second schema information.
  • 8. The method as claimed in claim 7, wherein the extracting determines which branch destination is executed and extracts a sequence of instructions on the branch destination to be executed according to the determination along with the partial program, on the basis of a state of the screen prescribed in the first schema information and the event, for each conditional branch instruction included in the application program.
  • 9. The method as claimed in claim 7, wherein the generating performs SSA (Static Single Assignment) transformation on the partial program to uniquely prescribe the assignment to each variable in the partial program and generates a plurality of instructions having the same result as a result obtained by executing the partial program as the intermediate program.
  • 10. The method as claimed in claim 9, wherein each of the plurality of screens is data with a tree structure including other beginning tag and ending tag between a beginning tag and an ending tag,the extracting selects data between certain beginning tag and ending tag from the first screen and extracts a tree operation instruction sequence for modifying the selected data along with the partial program, andthe generating transforms the tree operation instruction sequence to an instruction sequence for generating copy data obtained by copying this data between the beginning and ending tags from the first screen, modifying the copy data, and replacing data to be copied in the first screen by the modified copy data.
  • 11. The method as claimed in claim 10, wherein each of the plurality of screens is a Web page described in HTML (Hyper Text Markup Language),the application program is a modifying program that is described in JavaScript and modifies the display on this Web page,the extracting extracts an instruction for extracting a document object from a HTML document and an instruction for modifying the extracted document object from the modifying program as the tree operation instruction sequence, andthe generating transforms the tree operation instruction sequence to an instruction sequence for generating the copy data by copying the document object extracted from the HTML document, modifying the copy data, and replacing the document object extracted from the HTML document by the modified copy data.
  • 12. The method as claimed in claim 7, wherein the specification storing component stores a plurality of schema information prescribing specifications to be satisfied by the plurality of screens and events making the display be changed from each of the plurality of screens into each of the other screens,the extracting extracts, for each of the plurality of screens, a partial program to be executed in response to the occurrence of event during displaying this screen on the basis of schema information corresponding to this screen and an event capable of being generated during displaying this screen,the generating generates, for each of the plurality of schema information and from a set of screens satisfying this schema information, an intermediate program for calculating a set of screens to be displayed on condition that the event occurs during displaying screens in this satisfied set on the basis of the partial program to be executed during displaying this screen, andthe determining determines that the plurality of screens satisfies the prepared specification on condition that the first screen of an initial screen satisfies the first schema information and a set of screens obtained by applying the intermediate program to each of the schema information satisfies schema information prescribing a specification of a screen to be displayed next to the screen satisfying this schema information.
  • 13. A program making an information-processing apparatus function as a system that determines whether a plurality of screens to be sequentially displayed by an application program satisfies a prepared specification, the program making the information-processing apparatus function as: a specification storing component that stores first schema information prescribing a specification to be satisfied by a first screen, second schema information prescribing a specification to be satisfied by a second screen, and an event making the display by the application program be changed from the first screen into the second screen;an extracting component that extracts a partial program from the application program, which is executed in response to the occurrence of event during displaying any screen satisfying the first schema information, on the basis of the first schema information and the event;a generating component that generates, from a set of screens satisfying the first schema information, an intermediate program for calculating a set of screens to be displayed on condition that the event occurs during displaying screens in this satisfied set on the basis of the partial program; anda determining component that determines that the plurality of screens satisfies the prepared specification on condition that the first screen satisfies the first schema information and a set of screens obtained by applying the intermediate program to the first schema information satisfies the second schema information.
  • 14. The program as claimed in claim 13, wherein the extracting component determines which branch destination is executed and extracts a sequence of instructions on the branch destination to be executed according to the determination along with the partial program, on the basis of a state of the screen prescribed in the first schema information and the event, for each conditional branch instruction included in the application program.
  • 15. The program as claimed in claim 13, wherein the generating component performs SSA (Static Single Assignment) transformation on the partial program to uniquely prescribe the assignment to each variable in the partial program and generates a plurality of instructions having the same result as a result obtained by executing the partial program as the intermediate program.
  • 16. The program as claimed in claim 15, wherein each of the plurality of screens is data with a tree structure including other beginning tag and ending tag between a beginning tag and an ending tag,the extracting component selects data between certain beginning tag and ending tag from the first screen and extracts a tree operation instruction sequence for modifying the selected data along with the partial program, andthe generating component transforms the tree operation instruction sequence to an instruction sequence for generating copy data obtained by copying this data between the beginning and ending tags from the first screen, modifying the copy data, and replacing data to be copied in the first screen by the modified copy data.
  • 17. The program as claimed in claim 16, wherein each of the plurality of screens is a Web page described in HTML (Hyper Text Markup Language),the application program is a modifying program that is described in JavaScript and modifies the display on this Web page,the extracting component extracts an instruction for extracting a document object from a HTML document and an instruction for modifying the extracted document object from the modifying program as the tree operation instruction sequence, andthe generating component transforms the tree operation instruction sequence to an instruction sequence for generating the copy data by copying the document object extracted from the HTML document, modifying the copy data, and replacing the document object extracted from the HTML document by the modified copy data.
  • 18. The program as claimed in claim 13, wherein the specification storing component stores a plurality of schema information prescribing specifications to be satisfied by the plurality of screens and events making the display be changed from each of the plurality of screens into each of the other screens,the extracting component extracts, for each of the plurality of screens, a partial program to be executed in response to the occurrence of event during displaying this screen on the basis of schema information corresponding to this screen and an event capable of being generated during displaying this screen,the generating component that generates, for each of the plurality of schema information and from a set of screens satisfying this schema information, an intermediate program for calculating a set of screens to be displayed on condition that the event occurs during displaying screens in this satisfied set on the basis of the partial program to be executed during displaying this screen, andthe determining component determines that the plurality of screens satisfies the prepared specification on condition that the first screen of an initial screen satisfies the first schema information and a set of screens obtained by applying the intermediate program to each of the schema information satisfies schema information prescribing a specification of a screen to be displayed next to the screen satisfying this schema information.
Priority Claims (1)
Number Date Country Kind
2006-101584 Apr 2006 JP national