IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0760366
(2004-01-21)
|
등록번호 |
US-7363614
(2008-04-22)
|
우선권정보 |
JP-2003-011970(2003-01-21) |
발명자
/ 주소 |
- Kageyama,Naohiro
- Hirose,Zentaro
- Kawauchi,Michiyuki
- Fukuma,Takeshi
|
출원인 / 주소 |
- Hitachi, Ltd.
- Hitachi Information Technology Co., Ltd.
|
대리인 / 주소 |
Antonelli, Terry, Stout & Kraus, LLP.
|
인용정보 |
피인용 횟수 :
8 인용 특허 :
24 |
초록
▼
Architecturally complicated computers require functionally complicated compiler. For such a compiler, the present invention provides an automatic compiler test program generation method capable of reducing the man-hour required to prepare a test program and testing many aspects of the compiler. By a
Architecturally complicated computers require functionally complicated compiler. For such a compiler, the present invention provides an automatic compiler test program generation method capable of reducing the man-hour required to prepare a test program and testing many aspects of the compiler. By a random number-used method, a plurality of program cells are selected from a set of program cells each of which may form an element of a test program. The selected program cells are combined into a test program.
대표청구항
▼
What is claimed is: 1. An automatic compiler test program generation method, comprising the steps of: selecting a plurality of sub-procedural descriptions by a random number-used method from a set of sub-procedural descriptions, each of which may form an element of a compiler test program; and comb
What is claimed is: 1. An automatic compiler test program generation method, comprising the steps of: selecting a plurality of sub-procedural descriptions by a random number-used method from a set of sub-procedural descriptions, each of which may form an element of a compiler test program; and combining the selected sub-procedural descriptions in accordance with the selected order to generate a compiler test program, wherein the sub-procedural description includes as a type of basic sub-pocedural description that lists executable statements in the order of execution, a control-sub-procedural description that describes how to repeat a procedure, a control sub-procedural description that describes how to select a procedure, and a function sub-procedural description that describes statements to call a function; and wherein the sub-procedural description includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result. 2. An automatic compiler test program generation method according to claim 1, wherein each sub-procedural description is assigned a value which indicates the probability of the sub-procedural description being selected and the value is reflected in the random number-used selection of sub-procedural descriptions. 3. An automatic compiler test program generation method according to claim 1, wherein variables included in the selected plural sub-procedural descriptions are made shared by the selected sub-procedural descriptions when the selected sub-procedural descriptions are combined. 4. An automatic compiler test program generation method, comprising the steps of: selecting a plurality of program cells by a random number-used method from a set of program cells, each of which may form an element of a test program for a compiler after being compiled by the compiler; and combining the selected program cells in accordance with the selected order to generate a test program, wherein the program cell includes as a type of a basic cell that lists executable statements in the order of execution, a control cell that describes how to repeat a procedure, a control cell that describes how to select a procedure, and a function cell that describes statements to call a function; and wherein the program cell includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result. 5. An automatic compiler test program generation method according to claim 4, wherein the selected program cells are registered with a table in the order of selection and the registered cells are given the following combining process in the order of registration: (1) if the cell preceding the current program cell is said basic cell or said function cell, the current cell is concatenated to the preceding cell; and (2) if the cell preceding the current program cell is said control cell, the current program cell is nested into the preceding cell. 6. An automatic compiler test program generation method according to claim 4, wherein the variables included in the selected plural program cells are made sharable among the selected program cells when the selected program cells are combined by the combining process. 7. A compiler test system comprising: test program generation means for generating a test program; testing means for taking in the generated test program, compiling the test program by using a test target compiler and outputting an execution result; expected value generating means for taking in the generated test program, compiling the test program by using a proven compiler and outputting an expected value; and result comparison means for taking in the execution result and the expected value for comparison with each other and storing the comparison result in a storage unit as a test result, wherein the test program generation means selects a plurality of sub-procedural descriptions by a random number-used method from a set of sub-procedural descriptions, each of which may form an element of a test program for a compiler, and combines the selected sub-procedural descriptions to generate the test program; wherein the sub-procedural description includes as a type of a basic sub-procedural description that lists executable statements in the order of execution, a control sub-procedural description that describes how to repeat a procedure, a control sub-procedural description that describes how to select a procedure, and a function sub-procedural description that describes statements to call a function; wherein the sub-procedural description includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result; and wherein the statements for the stand-alone execution are made ineffective when compiling the test program. 8. A compiler test method comprising the steps of: generating a test program; taking in the generated test program, compiling the test program by using a test target compiler and outputting an execution result; taking in the generated test program, compiling the test program by using a proven compiler and outputting an expected value; taking in the execution result and the expected value for comparison with each other; and storing the comparison result in a storage unit as a test result, wherein the step of generating the test program comprises the sub-steps of: selecting a plurality of sub-procedural descriptions by a random number-used method from a set of sub-procedural descriptions, each of which may form an element of a test program for a compiler; and combining the selected sub-procedural description to generate a test program; wherein the sub-procedural description includes as a type of a basic sub-procedural description that lists executable statements in the order of execution, a control sub-procedural description that describes how to repeat a procedure, a control sub-procedural description that describes how to select a procedure, and a function sub-procedural description that describes statements to call a function; wherein the sub-procedural description includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result; and wherein the statements for the stand-alone execution are made ineffective when compiling the test program. 9. A program product for allowing a computer to execute a functional verification process for a compiler, said functional verification process comprising the steps of: selecting a plurality of sub-procedural descriptions by a random number-used method from a set of sub-procedural descriptions, each of which may form an element of a test program for a compiler; combining the selected sub-procedural descriptions in accordance with the selected order to generate a test program; taking in the generated test program, compiling the test program by using a test target compiler and outputting an execution result; taking in the generated test program, compiling the test program by using a proven compiler and outputting an expected value; taking in the execution result and the expected value for comparison with each other; and storing the comparison result in a storage unit as a test result, wherein the sub-procedural description includes as a type of a basic sub-procedural description that lists executable statements in the order of execution, a control sub-procedural description that describes how to repeat a procedure, a control sub-procedural description that describes how to select a procedure, and a function sub-procedural description that describes statements to call a function; wherein the sub-procedural description includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result; and wherein the statements for the stand-alone execution are made ineffective when compiling the test program. 10. An automatic compiler test program generation method, comprising the steps of: selecting a plurality of sub-procedural descriptions by a random number-used method from a set of sub-procedural descriptions, each of which may form an element of a compiler test program; and combining the selected sub-procedural descriptions in accordance with the selected order to generate a compiler test program, wherein the sub-procedural description includes as a type a basic sub-procedural description that lists executable statements in the order of execution, a control sub-procedural description that describes how to repeat a procedure, a control sub-procedural description that describes how to select a procedure, and a function sub-procedural description that describes statements to call a function; wherein the sub-procedural description includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result; and wherein the combining step combines the sub-procedural descriptions in such a manner as: if the selected sub-procedural description preceding the current sub-procedural description is the basic sub-procedural description or the function sub-procedural description, the current sub-procedural description is concatenated to the preceding sub-procedural description; and if the selected sub-procedural description preceding the current sub-procedural description is the control sub-procedural description, the current sub-procedural description is nested into the preceding sub-procedural description. 11. An automatic compiler test program generation method according to claim 10, wherein each sub-procedural description is assigned a value which indicates the probability of the sub-procedural description being selected and the value is reflected in the random number-used selection of sub-procedural descriptions. 12. An automatic compiler test program generation method according to claim 10, wherein variables included in the selected plural sub-procedural descriptions are made shared by the selected sub-procedural descriptions when the selected sub-procedural descriptions are combined. 13. An automatic compiler test program generation method, comprising the steps of: selecting a plurality of program cells by a random number-used method from a set of program cells, each of which may form an element of a test program for a compiler after being compiled by the compiler; and combining the selected program cells in accordance with the selected order to generate a test program, wherein the program cell includes as a type a basic cell that lists executable statements in the order of execution, a control cell that describes how to repeat a procedure, a control cell that describes how to select a procedure, and a function cell that describes statements to call a function; wherein the program cell includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result; and wherein the combining step combines the program cells in such a manner as: if the selected program cell preceding the current program cell is the basic cell or the function cell, the current program cell is concatenated to the preceding program cell; and if the selected program cell preceding the current program cell is the control cell, the current program cell is nested into the preceding program cell. 14. An automatic compiler test program generation method according to claim 13, wherein the variables included in the selected plural program cells are made sharable among the selected program cells when the selected program cells are combined by the combining process. 15. A compiler test system comprising: test program generation means for generating a test program; testing means for taking in the generated test program, compiling the test program by using a test target compiler and outputting an execution result; expected value generating means for taking in the generated test program, compiling the test program by using a proven compiler and outputting an expected value; and result comparison means for taking in the execution result and the expected value for comparison with each other and storing the comparison result in a storage unit as a test result, wherein the test program generation means selects a plurality of sub-procedural descriptions by a random number-used method from a set of sub-procedural descriptions each of which may form an element of a test program for a compiler, and combines the selected sub-procedural descriptions to generate the test program; wherein the sub-procedural description includes as a type a basic sub-procedural description that lists executable statements in the order of execution, a control sub-procedural description that describes how to repeat a procedure, a control sub-procedural description that describes how to select a procedure, and a function sub-procedural description that describes statements to call a function; wherein the sub-procedural description includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result; wherein the statements for the stand-alone execution are made ineffective when compiling the test program; and wherein the combining step combines the sub-procedural descriptions in such a manner as: if the selected sub-procedural description preceding the current sub-procedural description is the basic sub-procedural description or the function sub-procedural description, the current sub-procedural description is concatenated to the preceding sub-procedural description; and if the selected sub-procedural description preceding the current sub-procedural description is the control sub-procedural description, the current sub-procedural description is nested into the preceding sub-procedural description. 16. A compiler test method comprising the steps of: generating a test program; taking in the generated test program, compiling the test program by using a test target compiler and outputting an execution result; taking in the generated test program, compiling the test program by using a proven compiler and outputting an expected value; taking in the execution result and the expected value for comparison with each other; and storing the comparison result in a storage unit as a test result, wherein the step of generating the test program comprises the sub-steps of: selecting a plurality of sub-procedural descriptions by a random number-used method from a set of sub-procedural descriptions each of which may form an element of a test program for a compiler; and combining the selected sub-procedural description to generate a test program; wherein the sub-procedural description includes as a type a basic sub-procedural description that lists executable statements in the order of execution, a control sub-procedural description that describes how to repeat a procedure, a control sub-procedural description that describes how to select a procedure, and a function sub-procedural description that describes statements to call a function; wherein the sub-procedural description includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result; wherein the statements for the stand-alone execution are made ineffective when compiling the test program; and wherein the combining step combines the sub-procedural descriptions in such a manner as: if the selected sub-procedural description preceding the current sub-procedural description is the basic sub-procedural description or the function sub-procedural description, the current sub-procedural description is concatenated to the preceding sub-procedural description; and if the selected sub-procedural description preceding the current sub-procedural description is the control sub-procedural description, the current sub-procedural description is nested into the preceding sub-procedural description. 17. A program product for allowing a computer to execute a functional verification process for a compiler, said functional verification process comprising the steps of: selecting a plurality of sub-procedural descriptions by a random number-used method from a set of sub-procedural descriptions, each of which may form an element of a test program for a compiler; combining the selected sub-procedural descriptions in accordance with the selected order to generate a test program; taking in the generated test program, compiling the test program by using a test target compiler and outputting an execution result; taking in the generated test program, compiling the test program by using a proven compiler and outputting an expected value; taking in the execution result and the expected value for comparison with each other; and storing the comparison result in a storage unit as a test result, wherein the sub-procedural description includes as a type a basic sub-procedural description that lists executable statements in the order of execution, a control sub-procedural description that describes how to repeat a procedure, a control sub-procedural description that describes how to select a procedure, and a function sub-procedural description that describes statements to call a function; wherein the sub-procedural description includes statements necessary for a stand-alone execution, a definition to define and initialize variables as well as to define constants and macros, and statements to display and store an execution result; wherein the statements for the stand-alone execution are made ineffective when compiling the test program; and wherein the combining step combines the sub-procedural descriptions in such a manner as: if the selected sub-procedural description preceding the current sub-procedural description is the basic sub-procedural description or the function sub-procedural description, the current sub-procedural description is concatenated to the preceding sub-procedural description; and if the selected sub-procedural description preceding the current sub-procedural description is the control sub-procedural description, the current sub-procedural description is nested into the preceding sub-procedural description.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.