WO2007072652A1 - Program processing pattern automatic analysis processing device - Google Patents

Program processing pattern automatic analysis processing device Download PDF

Info

Publication number
WO2007072652A1
WO2007072652A1 PCT/JP2006/323434 JP2006323434W WO2007072652A1 WO 2007072652 A1 WO2007072652 A1 WO 2007072652A1 JP 2006323434 W JP2006323434 W JP 2006323434W WO 2007072652 A1 WO2007072652 A1 WO 2007072652A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
program
pattern
branch
procedure
Prior art date
Application number
PCT/JP2006/323434
Other languages
French (fr)
Japanese (ja)
Inventor
Syunichi Niihara
Original Assignee
Syunichi Niihara
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Syunichi Niihara filed Critical Syunichi Niihara
Priority to JP2007526095A priority Critical patent/JPWO2007072652A1/en
Publication of WO2007072652A1 publication Critical patent/WO2007072652A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding

Definitions

  • the present invention relates to a program processing pattern automatic analysis processing apparatus, a program processing pattern automatic analysis processing method, and a program processing pattern automatic analysis processing program that automatically analyze a processing procedure described in a source program code.
  • Program processing pattern automatic analysis processing device and program processing pattern automatic that automatically analyze the processing procedure for each branch condition described in the source program code including the branch processing (hereinafter referred to as processing pattern! /)
  • the present invention relates to an analysis processing method and a program processing pattern automatic analysis processing program. Background art
  • a programmer When creating a source program, a programmer creates a document describing a function-based processing pattern based on a program design document, and creates a processing procedure for the source program according to the function-based processing pattern. After confirming that the source program has been received, the source program is converted into a format that can be executed by a computer.
  • a programmer creates a test result verification document by hand that can compare input data and output results for each processing pattern, and the unit test computer on which the program runs After creating the environment, create test data according to the verification document.
  • the quality of the program is confirmed by having the computer execute the program and comparing the execution results with the contents of the verification document.
  • coverage information with the total number of executed instructions as the numerator and the branch instruction used in the source program can be easily calculated using the total number of instructions used in the source program as the denominator. Coverage information with the total number of branch instructions executed as the denominator and the total number of branch instructions executed as the numerator is used. However, since all of these coverage information is not related to the program step-based processing pattern, it is used as a guideline and is just a matter of fact!
  • function-based processing pattern documents are converted into system changes (hereinafter referred to as SE).
  • SE system changes
  • Is created by handwriting and a test result verification document that can compare the input data and the output result based on the function-based processing pattern of the entire connected and running program is created.
  • test data is created according to the verification document. In the test, the quality of the system is confirmed by executing the program by a computer and comparing the execution result with the contents of the verification document.
  • Patent Document 1 As a technique for supporting such program development, for example, Patent Document 1 is proposed.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 5-20038
  • Patent Document 1 discloses a program development support system having a development support tool such as a plurality of specification editors.
  • this program development support is a system that guides program development by continuously starting development support tools corresponding to the development procedure according to computer program development procedures registered in advance.
  • this program development system it is possible to standardize the program development procedure, to achieve uniform and uniform results, and to improve the quality and productivity of the program. .
  • a programmer creates a function-based processing pattern document (for example, a flowchart) based on a program design document, and visually checks the processing procedure of the source program. Forces It is difficult to visually check complex program codes by processing pattern, and there is a problem that mistakes are likely to occur.
  • a function-based processing pattern document for example, a flowchart
  • the present invention has been made in view of the above circumstances, and is a source program product.
  • System step-based processing patterns are automatically analyzed to provide the total number of processing patterns that serve as the denominator of the original coverage information.
  • An object of the present invention is to provide a program processing pattern automatic analysis processing apparatus, a program processing pattern automatic analysis processing method, and a program processing pattern automatic analysis processing program.
  • the present invention automatically analyzes program step-based processing patterns of linked programs in a test, provides the total number of linked processing patterns that serve as the denominator of the original coverage information, and program development.
  • a program processing pattern automatic analysis processing apparatus that achieves the above-described object and is useful for the present invention is a program processing pattern automatic analysis processing apparatus that automatically analyzes a processing procedure described in a source program code, Interpreting the complicated branching clauses included in the input source program as independent branching clauses, analyzing the branching conditions by setting the processing procedure of the independent branching clauses, processing the branching conditions as true and false
  • a branch condition analysis processing means for creating a management table indicating an analysis result obtained by analyzing each processing procedure for the above processing, and a management table storage means for storing the management table created by the branch condition analysis processing means. It is characterized by providing.
  • Analyzing the branch condition by setting the processing procedure of the independent branch clause, and analyzing the processing procedure for each of the processing for which the branch condition is true and false As a management table, it is possible to easily and reliably analyze a source program that includes a complicated branch clause.
  • the program processing pattern automatic analysis processing apparatus extracts the processing procedure for the processing in which the leading power branching condition of the management table is true and sets this as the first processing pattern.
  • the last processing power of the first processing pattern is traced back, the processing procedure is extracted according to the true processing for the processing after the first branching condition is false, and the processing is performed as the second processing pattern.
  • the processing procedure analysis processing unit for each processing pattern extracts all processing patterns by repeatedly performing such processing for processing for which all branch conditions are true and processing for false, and performs processing for each processing pattern described above.
  • a procedure table can be created.
  • the program processing pattern automatic analysis processing apparatus edits the processing procedure table for each processing pattern, creates a document in which the processing procedures are arranged for each processing pattern, and Z or a computer Process-by-process processing that receives the trace information of programs executed in the environment and compares them with the above-mentioned processing pattern table by processing pattern, and calculates coverage information by processing step-based processing pattern Procedure table editing processing means is provided.
  • the program processing pattern automatic analysis processing apparatus analyzes a connection processing procedure for each processing pattern based on a plurality of processing procedure tables for each processing pattern created in units of source programs. And a processing pattern connection processing procedure analysis processing means for creating a processing procedure table for generating a connection processing procedure table indicating a connection processing pattern in which a plurality of processing procedure table patterns are connected. . Then, the program processing pattern automatic analysis processing apparatus according to the present invention edits the above-described processing pattern-by-processing pattern connection processing procedure table, creates a document in which processing procedures are arranged according to connection processing patterns, and in Z or a computer environment.
  • the program processing pattern automatic analysis processing method that achieves the above-described object is a program processing pattern automatic analysis processing method that automatically analyzes a processing procedure described in a source program code. Therefore, the computer regards the complicated branch clauses included in the input source program as independent branch clauses, analyzes the branch conditions by setting the processing procedure of the independent branch clauses, and the branch conditions are determined.
  • the program processing pattern automatic analysis processing program for achieving the above-described object is a computer-executable program processing pattern automatic analysis processing for automatically analyzing a processing procedure described in a source program code.
  • a branch condition analysis means for creating a management table indicating an analysis result obtained by analyzing each processing procedure, and the management table created by the branch condition analysis means are stored in a predetermined memory. It is characterized by functioning as a management table storage means stored in the means.
  • the complicated branch clauses included in the source program are regarded as independent branch clauses, respectively.
  • the branch condition is analyzed by setting the processing procedure of the independent branch clause, and the analysis result of analyzing the processing procedure for each of the processing for which the branch condition is true and false is created as a management table. Therefore, even a source program that includes various branch clauses can be easily and reliably analyzed.
  • the quality of the program and the system can be measured quantitatively, so that the quality of the program and the system is greatly improved and stable operation is realized. It becomes possible to do. Further, in the present invention, manual work for programmers and SEs is reduced, so that work efficiency can be greatly improved.
  • FIG. 1 is a block diagram for explaining the configuration of a program processing pattern automatic analysis processing apparatus shown as an embodiment of the present invention.
  • FIG. 2 is a block diagram for explaining a functional configuration of the program processing pattern automatic analysis processing apparatus.
  • FIG. 3 is a flowchart for explaining a series of processes when the processing procedure of the source program is automatically analyzed in the program processing pattern automatic analysis processing apparatus.
  • FIG. 4 is a flowchart for explaining a series of processing when program code normalization processing is performed in the program processing pattern automatic analysis processing device.
  • FIG. 5 is a diagram for explaining a specific example of a regular clause format of a branch clause.
  • FIG.6 A specific example of the pre-conversion source program after conversion and the post-conversion source program after conversion when the read command statement is an IF statement is explained in the program code normal processing.
  • FIG. 7 When the read command statement is a conditional branch instruction other than the IF statement, the source code before conversion and the source program after conversion after normal It is a figure for demonstrating a specific example.
  • FIG. 8 is a diagram for explaining a specific example of a text line number correspondence table.
  • FIG. 9 is a diagram for explaining a concrete example of a complicated branching node.
  • FIG. 10 is a flowchart for explaining a series of processing when branch condition analysis processing is performed in the program processing pattern automatic analysis processing device.
  • FIG. 11 is a diagram for explaining a specific example of a management table.
  • FIG. 12 is a diagram for describing a specific example of a management table and a processing procedure table by processing pattern.
  • FIG. 13 is a flowchart for explaining a series of processing when performing processing pattern-specific processing procedure table editing processing in the program processing pattern automatic analysis processing device.
  • FIG. 14 is a diagram for explaining a specific example of a document in which processing procedures are arranged according to processing patterns.
  • FIG. 15 is a diagram for explaining a specific example of a unit test verification document.
  • FIG. 16 is a diagram for explaining a specific example of trace information of a program executed in a computer environment.
  • FIG. 17 is a diagram for explaining a specific example of coverage information.
  • FIG. 18 is a diagram for explaining a process pattern-by-process pattern connection process procedure analysis process, and a diagram for explaining a state of assigning each pattern in a process procedure table by a plurality of process patterns.
  • FIG. 19 is a diagram for explaining a specific example of a connection processing procedure table by processing pattern.
  • FIG. 20 is a diagram for explaining a specific example of a document in which processing procedures are arranged according to connection processing patterns.
  • This embodiment is a program processing pattern automatic analysis processing apparatus that automatically analyzes a processing procedure described in a source program code.
  • this program processing pattern automatic analysis processing device is described in source program code including branch processing.
  • the processing procedure for each branch condition (hereinafter referred to as the processing pattern) can be automatically analyzed.
  • the program processing pattern automatic analysis processing apparatus 10 is a computer such as a personal computer or workstation operated by a user who performs analysis processing such as a programmer or system engineer (hereinafter referred to as SE).
  • SE system engineer
  • a central processing unit (CPU) 11 that centrally controls each part, a read-only ROM (Read Only Memory) 12 that stores various information including various programs, and a RAM (Random) that functions as a work area (Access Memory) 13, a storage unit 14 that stores various information in a readable and Zable manner, a communication unit 15 that communicates by connecting to an external network, and a predetermined operation device (not shown) as a user interface.
  • An input operation control unit 16 that performs processing and control of input operations via a display, and a display unit 17 that displays various information. Prepare.
  • the CPU 11 executes various programs including a program processing pattern automatic analysis processing program stored in the storage unit 14 and the like, and comprehensively controls each unit.
  • the ROM 12 stores various information including various programs.
  • the information stored in ROM12 is read under the control of CPU11.
  • the RAM 13 functions as a work area when the CPU 11 executes various programs. Under the control of the CPU 11, the RAM 13 temporarily stores and stores various information generated during the process. Read various information.
  • the storage unit 14 stores various programs including a program processing pattern automatic analysis processing program and a source program to be analyzed, and various information including various image data and audio data. Information stored in the storage unit 14 is read out under the control of the CPU 11. As the storage unit 14, for example, a hard disk or a nonvolatile memory can be used. The storage unit 14 also includes a drive device that reads and / or writes various types of information on a storage medium such as a flexible disk or a memory card that is removable from the main body.
  • the communication unit 15 is, for example, an analog line, a so-called Ethernet (registered trademark) equivalent LAN (Local Area Network), ISDN (Integrated Services Digital Network), ADSL (Asymmetric Digital Subscriber Line), ⁇ MA FTTH (Fiber To The Home) and other network lines, IEEE (Institute of Electrical and Electronic Engineers) 8 02.11 compliant wireless LAN or!, wireless such as Bluetooth (registered trademark)
  • Ethernet registered trademark
  • LAN Local Area Network
  • ISDN Integrated Services Digital Network
  • ADSL Asymmetric Digital Subscriber Line
  • ⁇ MA FTTH Fiber To The Home
  • IEEE Institute of Electrical and Electronic Engineers 8 02.11 compliant wireless LAN or!
  • wireless such as Bluetooth
  • W-CDMA Wide Band-Code Division Multiple Access
  • FOMA registered trademark
  • CD MA-2000 High Data Rate
  • the input operation control unit 16 performs an input operation via a predetermined operation device (not shown) as a user interface such as a keyboard, a mouse, a keynod, an infrared remote controller, a stick key, or a push button. Receives control signals indicating operation details and supplies them to CPU 11.
  • a predetermined operation device not shown
  • a user interface such as a keyboard, a mouse, a keynod, an infrared remote controller, a stick key, or a push button.
  • the display unit 17 is, for example, a liquid crystal display (LCD), a plasma display panel (PDP), an organic electroluminescent display, or a CRT (Cathode Ray Tube). ), And displays various image data and other various information under the control of the CPU 11. For example, when the CPU 11 starts a program processing pattern automatic analysis processing program, the display unit 17 displays the screen.
  • LCD liquid crystal display
  • PDP plasma display panel
  • organic electroluminescent display organic electroluminescent display
  • CRT Cathode Ray Tube
  • the program processing pattern automatic analysis processing apparatus 10 having such units is functionally configured as shown in Fig. 2 by executing the program processing pattern automatic analysis processing program under the control of the CPU 11. It is said. That is, the program processing pattern automatic analysis processing apparatus 10 includes a source program input unit 21 that inputs the source program PR1, and a program code normalization processing unit that normalizes the source program PR1 input through the source program input unit 21. 22 and a branch condition analysis processing unit 23 for analyzing a branch condition based on the normalized source program PR2 normalized by the program code normalization processing unit 22 and the branch condition analysis processing unit 23.
  • an output unit 28 for outputting the result of editing by the processing unit 27.
  • the source program input unit 21 inputs the source program PR1 stored in the storage unit 14 or the like or the source program PR1 input from an external force, and supplies it to the program code normalization processing unit 22 line by line.
  • the program code normalization processing unit 22 normalizes the source program PR1 input via the source program input unit 21 according to a procedure described later, and creates a normalized source program PR2.
  • the created normalized source program PR2 is stored in the RAM 13 or the storage unit 14 so as to be readable.
  • the branch condition analysis processing unit 23 analyzes the branch condition included in the post-regular source program PR2 normalized by the program code normalization processing unit 22, and creates a management table TBI indicating the analysis result To do.
  • the created management table TBI is stored in the RAM 13 or the storage unit 14 so as to be readable.
  • the processing procedure analysis processing unit 24 for each processing pattern analyzes a processing procedure for each processing pattern based on the management table TBI created by the branch condition analysis processing unit 23, and indicates a processing pattern indicating the analysis result. Create another processing procedure table TB2.
  • the created processing procedure table TB2 for each processing pattern is gcfe so that it can be read out to the RAM 13 or the storage unit 14 or the like.
  • the processing pattern-specific processing procedure table editing processing unit 25 edits the processing pattern-specific processing procedure table TB2 created by the processing pattern-specific processing procedure analysis processing unit 24, and supports the creation of a source program and unit testing. And coverage information To do. These created documents and coverage information are supplied to the output unit 28.
  • the processing pattern-specific concatenation processing procedure analysis unit 26 analyzes the processing pattern-specific concatenation processing procedure and creates a processing pattern-specific concatenation processing procedure table TB3. .
  • the created processing pattern connection processing procedure table TB3 is readable and stored in the RAM 13, the storage unit 14, or the like.
  • connection processing procedure table editing processing unit 27 for each processing pattern edits the connection processing procedure table TB3 for each processing pattern created by the connection processing procedure analysis processing unit 26 for each processing pattern, and performs combination tests, comprehensive tests, etc. Create documentation and coverage information to support testing. These created documents and coverage information are supplied to the output unit 28.
  • the output unit 28 includes a document and coverage information as the editing result by the processing pattern-specific processing procedure table editing processing unit 25, and a document and coverage information as an editing result by the processing pattern-specific processing procedure table editing processing unit 27. Coverage information is output and displayed on the display unit 17 or is output by a printing device or the like via the communication unit 15.
  • the program processing pattern automatic analysis processing apparatus 10 executes the program processing pattern automatic analysis processing program under the control of the CPU 11, thereby performing a source program according to a series of procedures as shown in FIG. Automatically analyze PR1 procedures.
  • the program processing pattern automatic analysis processing apparatus 10 reads only one line from the source program PR1 via the source program input unit 21 in step S1, and reads in step S3.
  • program code normalization processing by the program code normalization processing unit 22 is performed on one line of the command statement.
  • program code normalization processing refers to the various conditional branch instructions included in the source program PR1, such as the power IF statement, SWITCH statement, FOR statement, WHILE statement and V, which will be described in detail later. It is a process to unify.
  • the program processing pattern automatic analysis processing apparatus 10 performs such program code normalization processing each time the source program PR1 is read line by line. Then, in step S2, the program processing pattern automatic analysis processing device 10 executes the source program PR1. If it is determined that all the lines have been read, in step S4, branch condition analysis processing by the branch condition analysis processing unit 23 is performed based on the source program PR2 after normalization! For the “true” and “false” processes, a management table TBI is created that shows the analysis results of each processing procedure.
  • the branch condition analysis process is a process of setting a processing procedure for the independent branch clauses, which will be described in detail later, and each of the complicated branch clauses is regarded as an independent branch clause.
  • step S5 the program processing pattern automatic analysis processing apparatus 10 performs processing pattern-specific processing procedure analysis processing by the processing pattern-specific processing procedure analysis processing unit 24 based on the management table TBI. Create a processing procedure table TB2 for each processing pattern.
  • the processing procedure analysis processing for each processing pattern will also be described in detail later.
  • step S6 the program processing pattern automatic analysis processing apparatus 10 edits the processing procedure table TB2 by processing pattern by the processing procedure table editing processing unit 25 by processing pattern, and creates a source program. Documents and coverage information that support unit tests are created.
  • the processing pattern table editing process for each processing pattern will also be described in detail later.
  • the program processing pattern automatic analysis processing apparatus 10 determines whether or not there is another source program in step S7. Here, if there is another source program, the program processing pattern automatic analysis processing apparatus 10 repeats the processing from step S1, while if there is no other source program, in step S8, the processing pattern is automatically processed. Based on the separate process procedure table TB2, the process pattern linked process procedure analysis process by the process pattern linked process procedure analysis processing unit 26 is performed, and the process pattern linked process procedure table TB3 is created. The processing pattern analysis processing for each processing pattern will also be described in detail later.
  • step S9 the program processing pattern automatic analysis processing apparatus 10 edits the processing pattern connection processing procedure table TB3 by the processing pattern connection processing procedure table editing processing unit 27 to support the test. Create documents and coverage information, and complete a series of processes including testing. Consolidation processing procedure table by processing pattern The editing process will also be described in detail later.
  • the program processing pattern automatic analysis processing apparatus 10 can automatically analyze the processing procedure of the source program PR1 according to such a series of procedures.
  • the program code normalization processing unit 22 performs program code normalization processing according to a series of procedures as shown in FIG. In the following, for the sake of convenience of explanation, it is assumed that normalization processing integrated with the IF statement format is performed.
  • the program code normalization processing unit 22 performs the processing of step S1 and step S2 in FIG. 3 and reads only one line from the source program PR1, and as shown in FIG. Then, it is determined whether the read one-line instruction statement is a conditional branch instruction and an IF statement.
  • the program code normalization processing unit 22 determines that the read command statement is an IF statement, in step S12, for the abbreviated form of the IF statement, the normalization format of the branch clause is used. Convert to. At this time, the program code normality processing unit 22 sets a conversion line number for each converted line in order to make correspondence between the original sentence and the converted instruction sentence. Note that the program code normalization processing unit 22 takes action by attaching a branch number or the like when the original text line is divided into a plurality of lines. Specifically, the normalization form of the branch clause is, for example, as shown in Fig.
  • the program code normality processing unit 22 for example, as shown on the left side of FIG. 6, when the start code and end code of the true and false processes are omitted, as shown on the right side of the figure, And convert to a format with a fake processing start code and end code, and set a converted line number in each converted line so that the correspondence with the line number of the original text is strong.
  • the program code normality processing unit 22 determines that the read instruction statement is a conditional branch instruction other than the IF statement, the IF statement is normalized in step S13.
  • the conversion to the branch clause format is performed, and by setting the conversion line number for each converted line, the correspondence between the original sentence and the converted instruction sentence is obtained.
  • program code normalization processing For example, in the case of a FOR statement as shown in FIG. 7, the part 22 converts it into an IF statement format such as “argument 1, label, if (argument 2), ⁇ , argument 3, goto label, ⁇ ”.
  • a template is created in advance, and conversion is performed by fitting the template.
  • the program code normality processing unit 22 can easily convert other conditional branch instructions by using templates in the same manner.
  • the program code normalization processing unit 22 performs the processing of step S12 or step S13 and completes the conversion.
  • step S14 the program code normalization processing unit 22 adds the line numbers 001 to force to the converted command statement.
  • the post-conversion source line number is added, and the source program PR2 after normalization is created.
  • the program code normalization processing unit 22 uses each line number, as shown in FIG. 8, for example, in order to use the correspondence relationship between the line number of the original text, the converted line number, and the converted line number in subsequent processing.
  • a text line number correspondence table TB4 showing the correspondence relationship is created and stored in the RAM 13 or the storage unit 14 so as to be readable.
  • the program code normalization processing unit 22 performs such processing each time the source program PR1 is read line by line, and if it is determined in step S2 that all lines of the source program PR1 have been read. To end the series of program code normalization processing.
  • the program code normality processing unit 22 can perform the program code normality processing according to such a series of procedures.
  • the branch condition analysis process treats a complicated intricate branch clause as an independent branch clause when there is a branch clause in the branch clause. This is a process of analyzing the branch condition by setting the processing procedure of the branch clause.
  • the branch condition analysis processing unit 23 performs such a branch condition analysis process according to a series of procedures as shown in FIG.
  • the branch condition analysis processing unit 23 reads one line from the source program PR2 after normal input in step S21, and then reads the one line instruction read in step S24. Judge whether the sentence is a conditional branch instruction or not. At this time, the branching condition analysis processing unit 23 reads the processing pattern-specific connection processing procedure creation process described later. If the included post-regular source program PR2 is different from the previous processing target, the management table TBI and processing pattern-specific processing procedure table T B2 are unique to each post-normalization source program. In S23, a unique program ID (PGM ID) is set in the management table TBI and the processing pattern table TB2 by processing pattern, and the process proceeds to step S24.
  • PGM ID unique program ID
  • step S25 the branch condition analysis processing unit 23 processes the conditional branch instruction in step S25, and performs the processing from step S21. repeat.
  • step S26 the read instruction statement is the start code and the immediately preceding instruction is Judges whether the power is a conditional branch instruction.
  • the branch condition analysis processing unit 23 determines that the read instruction statement is a start code and the immediately preceding instruction is a conditional branch instruction because the branch condition is always “true” immediately after the conditional branch instruction.
  • step S27 the branch condition “true” process is started, and the process from step S21 is repeated.
  • the branch condition analysis processing unit 23 determines that the read instruction statement is not a start code and the immediately preceding instruction is not a conditional branch instruction, the instruction statement is a false processing start code in step S28. Judge whether it is power or not.
  • the branch condition analysis processing unit 23 determines that the read instruction is a false processing start code, the branch condition analysis processing unit 23 starts processing of the branch condition “false” in step S29. Repeat the process.
  • step S30 whether or not the instruction statement is an end code. Determine.
  • branch condition analysis processing unit 23 determines that the read instruction statement is an end code, the branch condition analysis processing unit 23 performs the end code processing in step S31 and repeats the processing from step S21 while the instruction statement ends. If it is determined that it is not a code, other code processing is performed in step S32, and the processing from step S21 is repeated.
  • the branch condition analysis processing unit 23 performs such processing of step S21 to step S32 each time the normalized source program PR2 is read line by line.
  • step S22 the branch condition analysis processing unit 23 reads all lines of the normalized source program PR2.
  • a management table TBI is created by performing processing procedure setting processing in step S33, and the series of branch condition analysis processing is completed.
  • step S25 details of each processing of step S25, step S27, step S29, step S31, step S32, and step S33 will be described using a specific example of the management table TBI shown in FIG.
  • the branch condition analysis processing unit 23 sets an identifiable identifier for each branch clause.
  • the identifier shall be an identifier that takes into account that there are multiple identical depths.
  • the branch condition analysis processing unit 23 sets the identifier of the conditional branch instruction immediately before the line as the identifier of the true process start code. .
  • the branch condition analysis processing unit 23 identifies the true process end code identifier immediately before the line as the false process start code identification. Set as a child.
  • step S31 the end code processing in step S31 will be described.
  • the branch condition analysis processing unit 23 sets the identifier as an identifier of the end code if the line immediately preceding the line is another code or a start code. . Further, if the line immediately before the relevant line is an end code, the branch condition analysis processing unit 23 goes back until an identifier different from the identifier appears, and sets the different identifier as the identifier of the end code. At this time, if the different identifier is an end code, the branch condition analysis processing unit 23 repeatedly sets the identifier until a different identifier appears. Here, the branch condition analysis processing unit 23 determines whether or not the end code is the end code of the process for the true process.
  • the branch condition analysis processing unit 23 goes back to the row having the same identifier for the power, and when the start code that appears first is the start code of the true process, the end code is the end code of the true process. Judge that there is. In addition, the branch condition analysis processing unit 23 goes back the row with the same identifier as the corresponding power, and if the first start code that appears is the start code of the false process, the end code is the end code of the false process. It is determined that
  • step S32 Next, other code processing in step S32 will be described.
  • the branch condition analysis processing unit 23 when the line is another code, the line immediately preceding the line is another code, a true process start code, or a false process start code. Then, the identifier is set as the identifier of the other code. In addition, if the line immediately before the relevant line is a false end code, the branch condition analysis processing unit 23 goes back until an identifier different from the identifier appears, and uses the different identifier as an identifier of the other code. Set. However, the branch condition analysis processing unit 23 repeatedly sets the same process when the different identifier is also a false process end code.
  • the branch condition analysis processing unit 23 When the line is a conditional branch instruction, the branch condition analysis processing unit 23 first determines the line number of the true processing start code having the same identifier as the conditional branch instruction, Set to the next process line number of the true process, and then set the line number of the false process start code having the same identifier as the conditional branch instruction to the next process line of the false process of the conditional branch instruction. Set to a number. Further, when the line is a true processing start code, the branch condition analysis processing unit 23 sets the line number of the line with the same identifier that appears first after the line as the next process line number.
  • the branch condition analysis processing unit 23 sets the line number of the line with the same identifier that appears first after the line as the next process line number. Furthermore, when the line is another code, the branch condition analysis processing unit 23 sets the line number of the line with the same identifier that appears first after the line as the next process line number. Further, when the line is a true process end code, the branch condition analysis processing unit 23 sets the line number of the false process end code having the same identifier as the next process line number. Then, the branch condition analysis processing unit 23 sets the line number of the immediately following line as the next process line number when the line is a false processing end code.
  • the branch condition analysis processing unit 23 can perform the branch condition analysis processing according to the series of procedures as described above. Next, processing procedure analysis processing for each processing pattern will be described.
  • the processing procedure analysis processing unit 24 by processing pattern resets the processing procedure set by the branch condition analysis processing unit 23 as a series of continuous processes including no branching!
  • description will be made using specific examples of the management table TBI and the processing procedure table TB2 for each processing pattern shown in FIG.
  • the processing procedure analysis unit for each processing pattern 24 sets the row extracted according to the next processing row number from the top row force of the management table in the processing procedure table for each processing pattern.
  • the processing procedure for each processing pattern 24 proceeds to the end of the processing procedure table for each processing pattern according to the next processing line number of the true processing. Register as the second processing pattern.
  • the processing procedure analysis processing unit 24 by processing pattern goes back to the last power of the first processing pattern and searches for the first conditional branch instruction that appears, and the next processing line number of the processing in which the conditional branch instruction is false. Proceed according to At this time, similarly to the first processing pattern, the processing procedure analysis processing unit 24 for each processing pattern determines the processing pattern according to the next processing line number of the true processing when the line is a conditional branching instruction. Go to the end of the processing procedure table and register this as the second processing pattern. The processing procedure analysis processing unit 24 for each pattern repeats the same method thereafter, and processes the next processing line number of the true processing and the next processing line number of the false processing of all the conditional branch instructions. This processing pattern can be extracted.
  • the processing pattern-by-processing pattern analysis procedure analysis unit 24 can perform processing pattern-by-processing pattern analysis processing according to such a series of procedures.
  • the processing pattern-specific processing procedure table editing processing unit 25 performs processing pattern-specific processing procedure table editing processing in order to solve the problems in conventional source program creation and unit testing.
  • the processing procedure document for each processing pattern is edited in step S51 and the coverage information for each processing pattern is edited in step S52.
  • the processing pattern-specific processing procedure table editing processing unit 25 performs processing pattern-specific processing procedures as step S51. Based on the table TB2, for example, as shown in Fig. 14, a document in which processing steps are arranged by processing pattern is automatically created.
  • the processing procedure document for each processing pattern has processing procedures arranged for each processing pattern, and can be easily collated with a processing pattern document created by a programmer (for example, the flow chart shown in FIG. 15). This is obvious when compared with the comparison with the conventional source program code shown in Fig. 9.
  • the conditional branch line is clear, test data can be easily devised and created by the conditions and the processes before and after. Furthermore, in the program processing pattern automatic analysis processing device 10, the test status can be confirmed by a list-format document in which only conditional branch lines are extracted from the processing procedure.
  • the program processing pattern automatic analysis processing apparatus 10 can create a verification document and a delivery document by arranging the processing procedures for each processing pattern and by making the test result into a format that can be entered by handwriting. As a result, the program processing pattern automatic analysis processing apparatus 10 can minimize human error at the time of creating the source program and greatly reduce the labor of the programmer who works on the document creation.
  • the processing pattern-specific processing procedure table editing processing unit 25 performs a program executed in a computer environment as shown in FIG. 16, for example, as editing of coverage information by processing pattern in step S52 in FIG.
  • the program development support tool receives the trace information of the source, and checks the line number of the source program included in the trace information against the line number of the processing procedure table TB2 for each processing pattern to understand which processing pattern has been executed. .
  • the processing procedure table-by-process pattern table editing processing unit 25 uses the total number of program step-based processing patterns indicating the original program quality as a denominator, as shown in FIG. 17, for example. Quantitative quality information with the total number of treatment patterns as a molecule can be obtained.
  • the processing pattern-specific processing procedure table editing processing unit 25 can perform processing pattern-specific processing procedure table editing processing according to such a series of procedures.
  • the processing pattern-specific concatenation processing procedure analysis processing unit 26 selects a destination corresponding to PGM'I D xxxxxxxx among a plurality of processing pattern-specific processing procedure tables TB2 created in units of source programs. By assigning each pattern in the subsequent table corresponding to PGM 'ID yyyyyy to each pattern in the previous table, as shown in Fig. 19, the concatenation of the pattern in the previous table and the subsequent table is connected. Create a processing sequence table TB3 for each processing pattern indicating the processing pattern.
  • the algorithm for concatenation is as follows.
  • connection processing procedure analysis processing unit 26 for each processing pattern extracts the first processing pattern up to the first program power and the last program, and uses this as the first connection processing pattern as the connection processing table for each processing pattern TB3. Register with. Subsequently, the connection processing procedure analysis processing unit 26 by processing pattern replaces the processing pattern of the last program of the first connection processing pattern with the second processing pattern, and registers this as the second connection processing pattern. . The connection processing procedure analysis processing unit 26 by processing pattern repeats such processing until all the processing patterns of the last program have been processed, and registers them as connection processing patterns.
  • connection processing procedure analysis processing unit 26 by processing pattern replaces the processing pattern of the program that goes back one step from the last program of the first connection processing pattern with the second processing pattern, and performs the above processing for the last program. The same processing is repeated, and each is registered as a concatenation processing pattern.
  • the connection processing procedure analysis processing unit 26 by processing pattern repeats the same processing sequentially, such as processing for the processing pattern of the third program from the end. It is possible to create a concatenation processing pattern by going back and processing all the processing patterns of the first program.
  • the processing pattern-specific connection processing procedure analysis processing unit 26 can perform the processing pattern-specific connection processing procedure analysis processing in this way.
  • connection processing procedure table for each processing pattern 27 is connected based on the connection processing table for each processing pattern TB3, for example, as shown in FIG. Documents and covers that list processing procedures by processing pattern Create ledge information.
  • the processing procedure documents for each of the concatenation processing patterns are arranged according to the concatenation processing pattern. Therefore, accurate and useful information is provided for various documents created by the SE. Can be provided, and human error can be reduced.
  • the processing pattern connection processing table table editing processing unit 27 receives the trace information of the program executed in the computer environment by the program development support tool, and by the line number of the source program included in the trace information and the processing pattern.
  • Concatenation processing procedure table Check the TB3 line number and check which concatenation processing pattern has been executed.
  • the processing pattern-specific concatenation processing procedure table editing processing unit 27 uses the total number of program step-based concatenation processing patterns indicating the original system quality as the denominator, and the total number of program step-based concatenation processing patterns that have been tested. Quantitative quality information with the numerator can be obtained.
  • processing pattern-specific connection processing procedure table editing processing unit 27 can perform the processing pattern-specific connection processing procedure table editing processing.
  • the program processing pattern automatic analysis processing device 10 shown as the embodiment of the present invention regards the complicated branch clauses included in the input source program as independent branch clauses.
  • the processing pattern can be extracted by setting the processing procedure of the independent branching clause and analyzing a series of processing procedures that do not include branching.
  • the program processing pattern automatic analysis processing apparatus 10 can significantly reduce human error in program development and provide quantitative quality information indicating the original program quality.
  • the program processing pattern automatic analysis processing apparatus 10 can similarly extract linked processing patterns for a plurality of linked program groups as a system, human error in system development is reduced. It is possible to provide quantitative quality information indicating the quality of the system.
  • the present invention is not limited to the above-described embodiment.
  • the source program to be analyzed is described in the C language.
  • the present invention is not limited to a programming language such as Fortran or COBOL.
  • the grammar system for conditional branching is the same, so it can be easily applied. can do.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A program processing pattern automatic analysis processing device (10) includes a branch condition analysis processing unit (23) which handles each of tangled branches contained in an inputted source program PR1 as an independent branch and sets a processing procedure of the independent branch for analyzing the branching condition. The branch condition analysis processing unit (23) creates a management table TB1 indicating the analysis result of analyzing the processing procedure for each of the processes performed when the branching condition is true and false. The processing procedure described in the source program code is automatically analyzed. Thus, the program processing pattern automatic analysis processing device (10) reduces a man-caused mistake and improves the work efficiency in the program development and the system development as well as provides measurement means of quantitative quality so as to support improvement of quality of a program and a system.

Description

明 細 書  Specification
プログラム処理パターン自動解析処理装置  Program processing pattern automatic analysis processor
技術分野  Technical field
[0001] 本発明は、ソースプログラムコードに記述された処理手順を自動的に解析するプロ グラム処理パターン自動解析処理装置及びプログラム処理パターン自動解析処理 方法、並びにプログラム処理パターン自動解析処理プログラムに関し、特に、分岐処 理を含むソースプログラムコードに記述された分岐条件別の処理手順 (以下、処理パ ターンと!/、う。)を自動的に解析するプログラム処理パターン自動解析処理装置及び プログラム処理パターン自動解析処理方法、並びにプログラム処理パターン自動解 析処理プログラムに関する。 背景技術  The present invention relates to a program processing pattern automatic analysis processing apparatus, a program processing pattern automatic analysis processing method, and a program processing pattern automatic analysis processing program that automatically analyze a processing procedure described in a source program code. Program processing pattern automatic analysis processing device and program processing pattern automatic that automatically analyze the processing procedure for each branch condition described in the source program code including the branch processing (hereinafter referred to as processing pattern! /) The present invention relates to an analysis processing method and a program processing pattern automatic analysis processing program. Background art
[0002] 従来から、プログラム開発は、 a)プログラム設計書に基づくソースプログラムの作成 、 b)単体テスト、 c)複数の連結して稼働するプログラムを組み合わせて行う組み合わ せテストや総合テスト等のテストの順に行われている。  [0002] Conventionally, program development has been performed for a) creation of a source program based on a program design document, b) unit test, c) combination test or combination test that is performed by combining a plurality of linked and operating programs. It is done in order.
[0003] a)ソースプログラムの作成においては、プログラマがプログラム設計書に基づいて、 機能ベースの処理パターンを記述したドキュメントを手書きで作成し、機能ベースの 処理パターン通りにソースプログラムの処理手順が作成されて ヽることを確認する作 業を行った後、当該ソースプログラムをコンピュータによって実行可能な形式への変 換を行っている。  [0003] a) When creating a source program, a programmer creates a document describing a function-based processing pattern based on a program design document, and creates a processing procedure for the source program according to the function-based processing pattern. After confirming that the source program has been received, the source program is converted into a format that can be executed by a computer.
[0004] また、 b)単体テストにおいては、処理パターン毎に入力データと出力結果とを対比 することができるテスト結果の検証用ドキュメントをプログラマが手書きで作成し、プロ グラムが稼働する単体テスト用のコンピュータ環境を構築した上で、検証用ドキュメン トにしたがったテストデータの作成を行う。そして、単体テストにおいては、コンビユー タによってプログラムを実行させ、実行結果と検証用ドキュメントの内容とを照合する ことにより、プログラムの品質を確認している。  [0004] In addition, in b) unit testing, a programmer creates a test result verification document by hand that can compare input data and output results for each processing pattern, and the unit test computer on which the program runs After creating the environment, create test data according to the verification document. In unit tests, the quality of the program is confirmed by having the computer execute the program and comparing the execution results with the contents of the verification document.
[0005] なお、単体テストにおいては、本来全てのプログラムステップベースの処理パターン に対して検証し、カバレッジ (網羅率)情報として品質の尺度としなければならな 、が 、その作業は膨大であるため、簡易的に、ソースプログラムで使用されている命令の 総数を分母とし実行された命令の総数を分子とするカバレッジ情報や、ソースプログ ラムで使用されている分岐命令の総数を分母とし実行された分岐命令の総数を分子 とするカバレッジ情報が使用されている。しかしながら、これらのカバレッジ情報は、い ずれもプログラムステップベースの処理パターンとは関連性が薄いため、 目安として 代用されて 、るにすぎな!、のが現状である。 [0005] In unit testing, all program step-based processing patterns should be verified and used as a measure of quality as coverage (coverage rate) information. Since the work is enormous, coverage information with the total number of executed instructions as the numerator and the branch instruction used in the source program can be easily calculated using the total number of instructions used in the source program as the denominator. Coverage information with the total number of branch instructions executed as the denominator and the total number of branch instructions executed as the numerator is used. However, since all of these coverage information is not related to the program step-based processing pattern, it is used as a guideline and is just a matter of fact!
[0006] さらに、 c)組み合わせテストや総合テスト等のテストにぉ ヽては、基本設計書やシス テム設計書に基づ 、て、機能ベースの処理パターンのドキュメントをシステムェンジ ユア(以下、 SEという。)が手書きで作成するとともに、複数の連結して稼働するプロ グラム全体の機能ベースの処理パターンに基づいた入力データと出力結果とを対比 することができるテスト結果の検証用ドキュメントを作成し、プログラムが稼働するテス ト用のコンピュータ環境を構築した上で、検証用ドキュメントにしたがったテストデータ の作成を行う。そして、テストにおいては、コンピュータによってプログラムを実行させ 、実行結果と検証用ドキュメントの内容とを照合することにより、システムの品質を確 認している。  [0006] Furthermore, c) for combination tests and comprehensive tests, etc., based on the basic design document and system design document, function-based processing pattern documents are converted into system changes (hereinafter referred to as SE). Is created by handwriting, and a test result verification document that can compare the input data and the output result based on the function-based processing pattern of the entire connected and running program is created. After creating a test computer environment that runs the program, test data is created according to the verification document. In the test, the quality of the system is confirmed by executing the program by a computer and comparing the execution result with the contents of the verification document.
[0007] また、テストにお 、ては、本来全ての連結されたプログラムステップベースの処理パ ターンに対して検証し、カバレッジ情報として品質の尺度としなければならないが、そ の作業は膨大であるため、簡易的に、機能ベースの処理パターンがカバレッジ情報 として多く使用されている。し力しながら、これは、連結されたプログラムステップベー スの処理パターンとは関連性が薄いため、テスト実行時にバグの収束状況に合わせ た調整、例えばバグが収束して 、なければ機能を詳細に落として機能ベースの処理 ノ ターン数を増加させることによってテスト数を増やして品質を上げるといった調整を する等、 目安として代用されているのが現状である。  [0007] In addition, for testing, it is essential to verify all connected program step-based processing patterns and use it as a measure of quality as coverage information, but the work is enormous. Therefore, function-based processing patterns are often used as coverage information for simplicity. However, this is not closely related to the linked program step-based processing pattern, so adjustments according to the convergence status of the bug at the time of test execution, for example, if the bug has converged, the function is detailed. It is currently used as a guide, for example, by adjusting the number of tests to increase the number of tests by increasing the number of function-based processing patterns.
[0008] なお、このようなプログラム開発を支援するための技術としては、例えば特許文献 1 等が提案されている。 [0008] As a technique for supporting such program development, for example, Patent Document 1 is proposed.
[0009] 特許文献 1 :特開平 5— 20038号公報 Patent Document 1: Japanese Patent Application Laid-Open No. 5-20038
[0010] 具体的には、この特許文献 1には、複数の仕様書エディタ等の開発支援ツールを 有するプログラム開発支援システムが開示されている。特に、このプログラム開発支 援システムは、予め登録したコンピュータプログラム開発手順にしたがって、開発手 順に対応する開発支援ツールを連続的に起動してプログラム開発を誘導するもので ある。これにより、このプログラム開発システムにおいては、プログラム開発の手順の 標準化を図り、成果物の均一化及び均質ィ匕を図ることができ、プログラムの品質や生 産性を向上させることができるとして 、る。 [0010] Specifically, Patent Document 1 discloses a program development support system having a development support tool such as a plurality of specification editors. In particular, this program development support The support system is a system that guides program development by continuously starting development support tools corresponding to the development procedure according to computer program development procedures registered in advance. As a result, in this program development system, it is possible to standardize the program development procedure, to achieve uniform and uniform results, and to improve the quality and productivity of the program. .
[0011] ところで、上述した a)ソースプログラムの作成においては、プログラマは、プログラム 設計書に基づいて機能ベースの処理パターンのドキュメント(例えばフローチャート) を作成し、ソースプログラムの処理手順を目視で確認している力 複雑なプログラムコ ードを処理パターン別に目視で確認することは困難であり、ミスが発生しやすいという 問題があった。 By the way, in the above-mentioned a) source program creation, a programmer creates a function-based processing pattern document (for example, a flowchart) based on a program design document, and visually checks the processing procedure of the source program. Forces It is difficult to visually check complex program codes by processing pattern, and there is a problem that mistakes are likely to occur.
[0012] また、上述した b)単体テストにおいては、プログラマが機能ベースの処理パターン 毎に入力データと期待される実行結果とを対比した検証用ドキュメントを手書きで作 成しているが、ドキュメント作成に多大な労力がかかり、また、プログラムが複雑になる とミスが発生しやすいという問題があった。さらに、単体テストにおいては、本来全て のプログラムステップベースの処理パターンに対して検証し、カバレッジ情報として品 質の尺度としなければならないが、その作業は膨大であるため、上述した簡易的な方 法がとられている。したがって、単体テストにおいては、プログラムの品質を定量的に 計測することができな 、と 、う問題があった。  [0012] In addition, in the above-mentioned b) unit test, the programmer creates a verification document by hand comparing the input data and the expected execution result for each function-based processing pattern. There was a problem that a great deal of labor was required and mistakes were likely to occur when the program was complicated. Furthermore, in unit testing, all program step-based processing patterns should be verified and used as a measure of quality as coverage information. However, since the work is enormous, the simple method described above is used. It has been taken. Therefore, the unit test has a problem that the quality of the program cannot be measured quantitatively.
[0013] さらに、上述した c)テストにおいては、本来全ての連結されたプログラムステップべ ースの処理パターンに対して検証し、カバレッジ情報として品質の尺度としなければ ならないが、その作業は膨大であるため、上述した簡易的な方法がとられているため 、システムの品質を定量的に計測することができないという問題があった。  [0013] Further, in the above-mentioned c) test, it is necessary to verify all the connected program step-based processing patterns and use it as a measure of quality as coverage information, but the work is enormous. For this reason, there is a problem that the quality of the system cannot be measured quantitatively because the simple method described above is employed.
[0014] このように、システム開発は、プログラマや SEの手作業に起因する人為的なミスを 誘発することがあった。また、プログラムやシステムの品質を正確に表す定量的な計 測手段を有しないため、システムが常に不安定であり、突然予期しない大きな障害が 発生したり、社会的重大事故を招来したりするケースもあった。  [0014] As described above, system development sometimes induces human error caused by manual work of programmers and SEs. In addition, because there is no quantitative measurement method that accurately represents the quality of programs and systems, the system is always unstable, suddenly causing unexpected unexpected failures, or causing serious social accidents. There was also.
発明の開示  Disclosure of the invention
[0015] 本発明は、このような実情に鑑みてなされたものであり、ソースプログラムのプロダラ ムステップベースの処理パターンを自動的に解析し、本来のカバレッジ情報の分母と なる処理パターンの総数を提供し、さらに、プログラム開発支援ツールと連携して当 該カバレッジ情報の分子となる実行された処理パターンの総数を提供することにより 、プログラムの品質を正確に表す定量的な計測手段を提供し、あわせて人為的なミス を最小限に抑え、ドキュメント作成に力かる労力を大幅に低減することができるプログ ラム処理パターン自動解析処理装置及びプログラム処理パターン自動解析処理方 法、並びにプログラム処理パターン自動解析処理プログラムを提供することを目的と する。また、本発明は、テストにおける連結したプログラム群のプログラムステップべ ースの処理パターンを自動的に解析し、本来のカバレッジ情報の分母となる連結処 理パターンの総数を提供し、さらに、プログラム開発支援ツールと連携して当該カバ レツジ情報の分子となる実行された連結処理パターンの総数を提供することにより、 システムの品質を正確に表す定量的な計測手段を提供し、あわせて人為的なミスを 最小限に抑え、ドキュメント作成に力かる労力を大幅に低減することができるプロダラ ム処理パターン自動解析処理装置及びプログラム処理パターン自動解析処理方法 、並びにプログラム処理パターン自動解析処理プログラムを提供することを目的とす る。 [0015] The present invention has been made in view of the above circumstances, and is a source program product. System step-based processing patterns are automatically analyzed to provide the total number of processing patterns that serve as the denominator of the original coverage information. By providing the total number of processing patterns, it provides a quantitative measurement method that accurately represents the quality of the program, and at the same time, minimizes human error and greatly reduces the labor required for document creation. An object of the present invention is to provide a program processing pattern automatic analysis processing apparatus, a program processing pattern automatic analysis processing method, and a program processing pattern automatic analysis processing program. In addition, the present invention automatically analyzes program step-based processing patterns of linked programs in a test, provides the total number of linked processing patterns that serve as the denominator of the original coverage information, and program development. By providing the total number of connected processing patterns that will be the numerator of the coverage information in cooperation with the support tool, it provides a quantitative measurement means that accurately represents the quality of the system, and at the same time causes human error. To provide a program processing pattern automatic analysis processing apparatus, a program processing pattern automatic analysis processing method, and a program processing pattern automatic analysis processing program that can significantly reduce the labor required for document creation. Purpose.
[0016] 上述した目的を達成する本発明に力かるプログラム処理パターン自動解析処理装 置は、ソースプログラムコードに記述された処理手順を自動的に解析するプログラム 処理パターン自動解析処理装置であって、入力されたソースプログラムに含まれる入 り組んだ分岐節をそれぞれ独立した分岐節として捉え、当該独立した分岐節の処理 手順を設定することによって分岐条件を解析し、分岐条件が真の処理及び偽の処理 についてのそれぞれの処理手順を解析した解析結果を示す管理テーブルを作成す る分岐条件解析処理手段と、上記分岐条件解析処理手段によって作成された上記 管理テーブルを記憶する管理テーブル記憶手段とを備えることを特徴としている。  [0016] A program processing pattern automatic analysis processing apparatus that achieves the above-described object and is useful for the present invention is a program processing pattern automatic analysis processing apparatus that automatically analyzes a processing procedure described in a source program code, Interpreting the complicated branching clauses included in the input source program as independent branching clauses, analyzing the branching conditions by setting the processing procedure of the independent branching clauses, processing the branching conditions as true and false A branch condition analysis processing means for creating a management table indicating an analysis result obtained by analyzing each processing procedure for the above processing, and a management table storage means for storing the management table created by the branch condition analysis processing means. It is characterized by providing.
[0017] このような本発明に力かるプログラム処理パターン自動解析処理装置においては、 ソースプログラムに含まれる入り組んだ分岐節をそれぞれ独立した分岐節として捉え [0017] In such a program processing pattern automatic analysis processing apparatus that is effective in the present invention, the complicated branch clauses included in the source program are regarded as independent branch clauses.
、当該独立した分岐節の処理手順を設定することによって分岐条件を解析し、分岐 条件が真の処理及び偽の処理についてのそれぞれの処理手順を解析した解析結果 を管理テーブルとして作成することから、複雑な分岐節が含まれて ヽるソースプロダラ ムであっても容易に且つ確実に解析を行うことができる。 Analyzing the branch condition by setting the processing procedure of the independent branch clause, and analyzing the processing procedure for each of the processing for which the branch condition is true and false As a management table, it is possible to easily and reliably analyze a source program that includes a complicated branch clause.
[0018] また、本発明に力かるプログラム処理パターン自動解析処理装置は、上記管理テ 一ブルの先頭行力 分岐条件が真の処理についての処理手順を抽出してこれを 1 番目の処理パターンとし、上記 1番目の処理パターンの最後の行力 遡り、最初に現 れる分岐条件が偽の処理以降について真の処理にしたがって処理手順を抽出して これを 2番目の処理パターンとするような処理を繰り返し、全ての処理パターンを抽出 する処理パターン別処理手順解析処置手段と、上記処理パターン別処理手順解析 処理手段による解析によって作成された処理パターン別処理手順テーブルを記憶 する処理パターン別処理手順テーブル記憶手段とを備える。上記処理パターン別処 理手順解析処理手段は、全ての分岐条件が真の処理及び偽の処理に対してこのよ うな処理を繰り返し行うことにより、全ての処理パターンを抽出し、上記処理パターン 別処理手順テーブルを作成することができる。  [0018] Further, the program processing pattern automatic analysis processing apparatus according to the present invention extracts the processing procedure for the processing in which the leading power branching condition of the management table is true and sets this as the first processing pattern. The last processing power of the first processing pattern is traced back, the processing procedure is extracted according to the true processing for the processing after the first branching condition is false, and the processing is performed as the second processing pattern. Processing pattern analysis procedure for each processing pattern that repeatedly extracts all processing patterns, and a processing procedure table for each processing pattern that stores a processing procedure table for each processing pattern created by analysis by the above processing pattern analysis processing procedure. Means. The processing procedure analysis processing unit for each processing pattern extracts all processing patterns by repeatedly performing such processing for processing for which all branch conditions are true and processing for false, and performs processing for each processing pattern described above. A procedure table can be created.
[0019] さらに、本発明に力かるプログラム処理パターン自動解析処理装置は、上記処理パ ターン別処理手順テーブルを編集し、処理パターン別に処理手順を並べたドキュメ ントを作成する、及び Z又は、コンピュータ環境にて実行されたプログラムのトレース 情報をプログラム開発支援ツール力 受け取り、上記処理パターン別処理手順テー ブルとの照合を行 、、プログラムステップベースの処理パターン別のカバレッジ情報 を算出する処理パターン別処理手順テーブル編集処理手段を備える。  [0019] Further, the program processing pattern automatic analysis processing apparatus according to the present invention edits the processing procedure table for each processing pattern, creates a document in which the processing procedures are arranged for each processing pattern, and Z or a computer Process-by-process processing that receives the trace information of programs executed in the environment and compares them with the above-mentioned processing pattern table by processing pattern, and calculates coverage information by processing step-based processing pattern Procedure table editing processing means is provided.
[0020] これにより、本発明に力かるプログラム処理パターン自動解析処理装置においては 、ソースプログラムの作成及び単体テストの際の人為的なミスを最小限に抑え、ドキュ メント作成に力かる労力を大幅に低減することができるとともに、プログラムの品質を 大幅に向上させることができる。  [0020] With this, in the program processing pattern automatic analysis processing apparatus that works according to the present invention, human error during the creation of the source program and the unit test is minimized, and the labor required for creating the document is greatly reduced. It can be reduced and the quality of the program can be greatly improved.
[0021] さらにまた、本発明に力かるプログラム処理パターン自動解析処理装置は、ソース プログラム単位で作成された複数の上記処理パターン別処理手順テーブルに基づ いて、処理パターン別の連結処理手順を解析し、複数の上記処理パターン別処理 手順テーブルのパターンを連結した連結処理パターンを示す処理パターン別連結 処理手順テーブルを作成する処理パターン別連結処理手順解析処理手段を備える 。そして、本発明にかかるプログラム処理パターン自動解析処理装置は、上記処理 パターン別連結処理手順テーブルを編集し、連結処理パターン別に処理手順を並 ベたドキュメントを作成する、及び Z又は、コンピュータ環境にて実行されたプロダラ ムのトレース情報をプログラム開発支援ツール力 受け取り、上記処理パターン別連 結処理手順テーブルとの照合を行 、、プログラムステップベースの連結処理パター ン別のカバレッジ情報を算出する処理パターン別連結処理手順テーブル編集処理 手段を備える。 Furthermore, the program processing pattern automatic analysis processing apparatus according to the present invention analyzes a connection processing procedure for each processing pattern based on a plurality of processing procedure tables for each processing pattern created in units of source programs. And a processing pattern connection processing procedure analysis processing means for creating a processing procedure table for generating a connection processing procedure table indicating a connection processing pattern in which a plurality of processing procedure table patterns are connected. . Then, the program processing pattern automatic analysis processing apparatus according to the present invention edits the above-described processing pattern-by-processing pattern connection processing procedure table, creates a document in which processing procedures are arranged according to connection processing patterns, and in Z or a computer environment. Receiving the trace information of the executed program by the program development support tool, collating it with the above-mentioned processing pattern connection processing procedure table, and calculating the coverage information for each program step-based connection processing pattern by processing pattern Concatenation processing procedure table editing processing means is provided.
[0022] これにより、本発明に力かるプログラム処理パターン自動解析処理装置においては 、テストの際に SEが手書きで作成する各種ドキュメントに正確且つ有用な情報を提 供することができ、人為的なミスを低減するとともに、システムの品質を大幅に向上さ せることができる。  [0022] With this, in the program processing pattern automatic analysis processing apparatus according to the present invention, it is possible to provide accurate and useful information to various documents handwritten by the SE at the time of the test. System quality can be greatly improved.
[0023] また、上述した目的を達成する本発明に力かるプログラム処理パターン自動解析処 理方法は、ソースプログラムコードに記述された処理手順を自動的に解析するプログ ラム処理パターン自動解析処理方法であって、コンピュータが、入力されたソースプ ログラムに含まれる入り組んだ分岐節をそれぞれ独立した分岐節として捉え、当該独 立した分岐節の処理手順を設定することによって分岐条件を解析し、分岐条件が真 の処理及び偽の処理についてのそれぞれの処理手順を解析した解析結果を示す管 理テーブルを作成する分岐条件解析処理工程と、上記コンピュータが、上記分岐条 件解析処理工程にて作成された上記管理テーブルを所定の記憶手段に記憶させる 管理テーブル記憶工程とを備えることを特徴としている。  [0023] Further, the program processing pattern automatic analysis processing method according to the present invention that achieves the above-described object is a program processing pattern automatic analysis processing method that automatically analyzes a processing procedure described in a source program code. Therefore, the computer regards the complicated branch clauses included in the input source program as independent branch clauses, analyzes the branch conditions by setting the processing procedure of the independent branch clauses, and the branch conditions are determined. A branch condition analysis processing step for creating a management table indicating an analysis result obtained by analyzing each processing procedure for the true processing and the false processing, and the above computer created in the branch condition analysis processing step. A management table storing step of storing the management table in a predetermined storage means.
[0024] さらに、上述した目的を達成する本発明にかかるプログラム処理パターン自動解析 処理プログラムは、ソースプログラムコードに記述された処理手順を自動的に解析す るコンピュータ実行可能なプログラム処理パターン自動解析処理プログラムであって 、上記コンピュータを、入力されたソースプログラムに含まれる入り組んだ分岐節をそ れぞれ独立した分岐節として捉え、当該独立した分岐節の処理手順を設定すること によって分岐条件を解析し、分岐条件が真の処理及び偽の処理につ!ヽてのそれぞ れの処理手順を解析した解析結果を示す管理テーブルを作成する分岐条件解析手 段、及び、上記分岐条件解析手段にて作成された上記管理テーブルを所定の記憶 手段に記憶させる管理テーブル記憶手段として機能させることを特徴としている。 [0024] Further, the program processing pattern automatic analysis processing program according to the present invention for achieving the above-described object is a computer-executable program processing pattern automatic analysis processing for automatically analyzing a processing procedure described in a source program code. A program that analyzes the branch condition by treating the above-mentioned computer as an independent branch clause in each of the complicated branch clauses included in the input source program and setting the processing procedure of the independent branch clause. The branch condition is true and false! A branch condition analysis means for creating a management table indicating an analysis result obtained by analyzing each processing procedure, and the management table created by the branch condition analysis means are stored in a predetermined memory. It is characterized by functioning as a management table storage means stored in the means.
[0025] このような本発明に力かるプログラム処理パターン自動解析処理方法及びプロダラ ム処理パターン自動解析処理プログラムにおいては、ソースプログラムに含まれる入 り組んだ分岐節をそれぞれ独立した分岐節として捉え、当該独立した分岐節の処理 手順を設定することによって分岐条件を解析し、分岐条件が真の処理及び偽の処理 についてのそれぞれの処理手順を解析した解析結果を管理テーブルとして作成する ことから、複雑な分岐節が含まれて 、るソースプログラムであっても容易に且つ確実 に解析を行うことができる。  [0025] In such a program processing pattern automatic analysis processing method and a program processing pattern automatic analysis processing program that are effective in the present invention, the complicated branch clauses included in the source program are regarded as independent branch clauses, respectively. The branch condition is analyzed by setting the processing procedure of the independent branch clause, and the analysis result of analyzing the processing procedure for each of the processing for which the branch condition is true and false is created as a management table. Therefore, even a source program that includes various branch clauses can be easily and reliably analyzed.
[0026] 以上のような本発明にお 、ては、プログラム及びシステムの品質を定量的に計測す ることが可能となるため、プログラム及びシステムの品質を大幅に向上させ、安定稼 働を実現することが可能となる。また、本発明においては、プログラマや SEの手作業 が軽減されることから、作業効率の大幅な向上を図ることが可能となる。  [0026] According to the present invention as described above, the quality of the program and the system can be measured quantitatively, so that the quality of the program and the system is greatly improved and stable operation is realized. It becomes possible to do. Further, in the present invention, manual work for programmers and SEs is reduced, so that work efficiency can be greatly improved.
図面の簡単な説明  Brief Description of Drawings
[0027] [図 1]本発明の実施の形態として示すプログラム処理パターン自動解析処理装置の 構成を説明するブロック図である。  FIG. 1 is a block diagram for explaining the configuration of a program processing pattern automatic analysis processing apparatus shown as an embodiment of the present invention.
[図 2]同プログラム処理パターン自動解析処理装置の機能的な構成を説明するプロ ック図である。  FIG. 2 is a block diagram for explaining a functional configuration of the program processing pattern automatic analysis processing apparatus.
[図 3]同プログラム処理パターン自動解析処理装置において、ソースプログラムの処 理手順を自動的に解析する際の一連の処理を説明するフローチャートである。  FIG. 3 is a flowchart for explaining a series of processes when the processing procedure of the source program is automatically analyzed in the program processing pattern automatic analysis processing apparatus.
[図 4]同プログラム処理パターン自動解析処理装置において、プログラムコード正規 化処理を行う際の一連の処理を説明するフローチャートである。  FIG. 4 is a flowchart for explaining a series of processing when program code normalization processing is performed in the program processing pattern automatic analysis processing device.
[図 5]分岐節の正規ィ匕形式の具体例について説明するための図である。  FIG. 5 is a diagram for explaining a specific example of a regular clause format of a branch clause.
[図 6]プログラムコード正規ィ匕処理にぉ 、て、読み込んだ命令文が IF文である場合に おける変換前のソースプログラムと変換後の正規ィ匕後ソースプログラムとの具体例に ついて説明するための図である。  [Fig.6] A specific example of the pre-conversion source program after conversion and the post-conversion source program after conversion when the read command statement is an IF statement is explained in the program code normal processing. FIG.
[図 7]プログラムコード正規ィ匕処理にぉ 、て、読み込んだ命令文が IF文以外の他の 条件分岐命令である場合における変換前のソースプログラムと変換後の正規ィ匕後ソ ースプログラムとの具体例について説明するための図である。 [図 8]原文行番号対応テーブルの具体例について説明するための図である。 [Fig.7] When the read command statement is a conditional branch instruction other than the IF statement, the source code before conversion and the source program after conversion after normal It is a figure for demonstrating a specific example. FIG. 8 is a diagram for explaining a specific example of a text line number correspondence table.
[図 9]複雑に入り組んだ分岐節の具体例について説明するための図である。  FIG. 9 is a diagram for explaining a concrete example of a complicated branching node.
[図 10]同プログラム処理パターン自動解析処理装置において、分岐条件解析処理を 行う際の一連の処理を説明するフローチャートである。  FIG. 10 is a flowchart for explaining a series of processing when branch condition analysis processing is performed in the program processing pattern automatic analysis processing device.
[図 11]管理テーブルの具体例について説明するための図である。  FIG. 11 is a diagram for explaining a specific example of a management table.
[図 12]管理テーブル及び処理パターン別処理手順テーブルの具体例について説明 するための図である。  FIG. 12 is a diagram for describing a specific example of a management table and a processing procedure table by processing pattern.
[図 13]同プログラム処理パターン自動解析処理装置において、処理パターン別処理 手順テーブル編集処理を行う際の一連の処理を説明するフローチャートである。  FIG. 13 is a flowchart for explaining a series of processing when performing processing pattern-specific processing procedure table editing processing in the program processing pattern automatic analysis processing device.
[図 14]処理パターン別に処理手順を並べたドキュメントの具体例について説明する ための図である。  FIG. 14 is a diagram for explaining a specific example of a document in which processing procedures are arranged according to processing patterns.
[図 15]単体テストの検証用ドキュメントの具体例について説明するための図である。  FIG. 15 is a diagram for explaining a specific example of a unit test verification document.
[図 16]コンピュータ環境にて実行されたプログラムのトレース情報の具体例について 説明するための図である。  FIG. 16 is a diagram for explaining a specific example of trace information of a program executed in a computer environment.
[図 17]カバレッジ情報の具体例について説明するための図である。  FIG. 17 is a diagram for explaining a specific example of coverage information.
[図 18]処理パターン別連結処理手順解析処理について説明するための図であり、複 数の処理パターン別処理手順テーブルの各パターンを割り付ける様子を説明するた めの図である。  FIG. 18 is a diagram for explaining a process pattern-by-process pattern connection process procedure analysis process, and a diagram for explaining a state of assigning each pattern in a process procedure table by a plurality of process patterns.
[図 19]処理パターン別連結処理手順テーブルの具体例について説明するための図 である。  FIG. 19 is a diagram for explaining a specific example of a connection processing procedure table by processing pattern.
[図 20]連結処理パターン別に処理手順を並べたドキュメントの具体例について説明 するための図である。  FIG. 20 is a diagram for explaining a specific example of a document in which processing procedures are arranged according to connection processing patterns.
発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION
[0028] 以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に 説明する。 Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings.
[0029] この実施の形態は、ソースプログラムコードに記述された処理手順を自動的に解析 するプログラム処理パターン自動解析処理装置である。特に、このプログラム処理パ ターン自動解析処理装置は、分岐処理を含むソースプログラムコードに記述された 分岐条件別の処理手順 (以下、処理パターンという。)を自動的に解析することができ るものである。 This embodiment is a program processing pattern automatic analysis processing apparatus that automatically analyzes a processing procedure described in a source program code. In particular, this program processing pattern automatic analysis processing device is described in source program code including branch processing. The processing procedure for each branch condition (hereinafter referred to as the processing pattern) can be automatically analyzed.
[0030] なお、以下では、説明の便宜上、解析対象としてのソースプログラムが C言語で記 述されて!/、るものとして説明する。  [0030] In the following description, for convenience of explanation, it is assumed that the source program to be analyzed is written in C language!
[0031] 図 1に示すように、プログラム処理パターン自動解析処理装置 10は、プログラマや システムエンジニア(以下、 SEという。)等の解析処理を行うユーザによって操作され るパーソナルコンピュータやワークステーション等のコンピュータとして構成され、各 部を統括的に制御する CPU (Central Processing Unit) 11と、各種プログラムを含む 各種情報を格納する読み取り専用の ROM (Read Only Memory) 12と、ワークエリア として機能する RAM (Random Access Memory) 13と、各種情報を読み出し及び Z 又は書き込み可能に記憶する記憶部 14と、外部のネットワーク網に接続して通信を 行う通信部 15と、ユーザインターフェースとしての図示しない所定の操作デバイスを 介した入力操作の処理及び制御を行う入力操作制御部 16と、各種情報を表示する 表示部 17とを備える。  As shown in FIG. 1, the program processing pattern automatic analysis processing apparatus 10 is a computer such as a personal computer or workstation operated by a user who performs analysis processing such as a programmer or system engineer (hereinafter referred to as SE). A central processing unit (CPU) 11 that centrally controls each part, a read-only ROM (Read Only Memory) 12 that stores various information including various programs, and a RAM (Random) that functions as a work area (Access Memory) 13, a storage unit 14 that stores various information in a readable and Zable manner, a communication unit 15 that communicates by connecting to an external network, and a predetermined operation device (not shown) as a user interface. An input operation control unit 16 that performs processing and control of input operations via a display, and a display unit 17 that displays various information. Prepare.
[0032] CPU11は、記憶部 14等に格納されているプログラム処理パターン自動解析処理 プログラムを含む各種プログラムを実行し、各部を統括的に制御する。  [0032] The CPU 11 executes various programs including a program processing pattern automatic analysis processing program stored in the storage unit 14 and the like, and comprehensively controls each unit.
[0033] ROM12は、各種プログラムをはじめとする各種情報を格納している。この ROM12 に格納されている情報は、 CPU11の制御のもとに読み出される。  The ROM 12 stores various information including various programs. The information stored in ROM12 is read under the control of CPU11.
[0034] RAM13は、 CPU11が各種プログラムを実行する際のワークエリアとして機能し、 CPU11の制御のもとに、処理過程で生成された各種情報を一時記憶するとともに、 記憶して!/、る各種情報を読み出す。  [0034] The RAM 13 functions as a work area when the CPU 11 executes various programs. Under the control of the CPU 11, the RAM 13 temporarily stores and stores various information generated during the process. Read various information.
[0035] 記憶部 14は、プログラム処理パターン自動解析処理プログラム及び解析対象のソ ースプログラムを含む各種プログラムや、各種画像データや音声データをはじめとす る各種情報を記憶している。この記憶部 14に記憶されている情報は、 CPU11の制 御のもとに読み出される。なお、この記憶部 14としては、例えば、ハードディスクゃ不 揮発性メモリ等を用いることができる。また、記憶部 14には、本体に対して着脱可能 とされるフレキシブルディスクやメモリカード等の記憶媒体に対して、各種情報の読み 出し及び/又は書き込みを行うドライブ装置も含まれる。 [0036] 通信部 15は、例えば、アナログ回線、いわゆるイーサネット(登録商標)等力 構成 される LAN (Local Area Network)、 ISDN (Integrated Services Digital Network)、 A DSL (Asymmetric Digital Subscriber Line)、若しく ίま FTTH (Fiber To The Home) 等の各種ネットワーク回線、 IEEE (Institute of Electrical and Electronic Engineers) 8 02. 11に準拠した無線 LAN若しくは!、わゆるブルートゥース(Bluetooth (登録商標) )等の各種無線通信方式、又は!、わゆる FOMA (登録商標)等の W— CDMA (Wide band-Code Division Multiple Access)方式若しくは HDR (High Data Rate)等の CD MA— 2000方式といった、各種方式に基づくネットワークに接続するためのインター フェースであり、 CPU11の制御のもとに、外部との通信を行う。 [0035] The storage unit 14 stores various programs including a program processing pattern automatic analysis processing program and a source program to be analyzed, and various information including various image data and audio data. Information stored in the storage unit 14 is read out under the control of the CPU 11. As the storage unit 14, for example, a hard disk or a nonvolatile memory can be used. The storage unit 14 also includes a drive device that reads and / or writes various types of information on a storage medium such as a flexible disk or a memory card that is removable from the main body. [0036] The communication unit 15 is, for example, an analog line, a so-called Ethernet (registered trademark) equivalent LAN (Local Area Network), ISDN (Integrated Services Digital Network), ADSL (Asymmetric Digital Subscriber Line), ίMA FTTH (Fiber To The Home) and other network lines, IEEE (Institute of Electrical and Electronic Engineers) 8 02.11 compliant wireless LAN or!, wireless such as Bluetooth (registered trademark) For communication systems or networks based on various systems such as W-CDMA (Wide Band-Code Division Multiple Access) system such as FOMA (registered trademark) or CD MA-2000 system such as HDR (High Data Rate). It is an interface for connection, and communicates with the outside under the control of CPU11.
[0037] 入力操作制御部 16は、例えば、キーボード、マウス、キーノッド、赤外線リモートコ ントローラ、スティックキー、又はプッシュボタンといった、ユーザインターフェースとし ての図示しな 1、所定の操作デバイスを介した入力操作を受け付け、操作内容を示す 制御信号を CPU 11に対して供給する。  [0037] The input operation control unit 16 performs an input operation via a predetermined operation device (not shown) as a user interface such as a keyboard, a mouse, a keynod, an infrared remote controller, a stick key, or a push button. Receives control signals indicating operation details and supplies them to CPU 11.
[0038] 表示部 17は、例えば、液晶ディスプレイ(Liquid Crystal Display; LCD)、プラズマ · ディスプレイ.パネル(Plasma Display Panel ; PDP)、有機エレクト口ルミネッセンス(Or ganic ElectroLuminescent)ディスプレイ、又は CRT (Cathode Ray Tube)といった、各 種表示デバイスであり、 CPU11の制御のもとに、各種画像データや、その他の各種 情報を表示する。例えば、表示部 17は、 CPU11によってプログラム処理パターン自 動解析処理プログラムが起動されると、その画面を表示する。  [0038] The display unit 17 is, for example, a liquid crystal display (LCD), a plasma display panel (PDP), an organic electroluminescent display, or a CRT (Cathode Ray Tube). ), And displays various image data and other various information under the control of the CPU 11. For example, when the CPU 11 starts a program processing pattern automatic analysis processing program, the display unit 17 displays the screen.
[0039] このような各部を備えるプログラム処理パターン自動解析処理装置 10は、 CPU11 の制御のもとにプログラム処理パターン自動解析処理プログラムを実行することにより 、機能的には図 2に示すような構成とされる。すなわち、プログラム処理パターン自動 解析処理装置 10は、ソースプログラム PR1を入力するソースプログラム入力部 21と、 このソースプログラム入力部 21を介して入力されたソースプログラム PR1を正規化す るプログラムコード正規化処理部 22と、このプログラムコード正規ィ匕処理部 22によつ て正規化された正規化後ソースプログラム PR2に基づいて分岐条件を解析する分岐 条件解析処理部 23と、この分岐条件解析処理部 23による解析によって作成された 管理テーブル TBIに基づ 、て処理パターン別の処理手順を解析する処理パターン 別処理手順解析処理部 24と、この処理パターン別処理手順解析処理部 24による解 祈によって作成された処理パターン別処理手順テーブル TB2を編集する処理パタ ーン別処理手順テーブル編集処理部 25と、処理パターン別処理手順テーブル TB2 に基づいて処理パターン別の連結処理手順を解析する処理パターン別連結処理手 順解析処理部 26と、この処理パターン別連結処理手順解析処理部 26による解析に よって作成された処理パターン別連結処理手順テーブル TB3を編集する処理パタ ーン別連結処理手順テーブル編集処理部 27と、処理パターン別処理手順テーブル 編集処理部 25による編集結果及び処理パターン別連結処理手順テーブル編集処 理部 27による編集結果を出力する出力部 28とを備える。 [0039] The program processing pattern automatic analysis processing apparatus 10 having such units is functionally configured as shown in Fig. 2 by executing the program processing pattern automatic analysis processing program under the control of the CPU 11. It is said. That is, the program processing pattern automatic analysis processing apparatus 10 includes a source program input unit 21 that inputs the source program PR1, and a program code normalization processing unit that normalizes the source program PR1 input through the source program input unit 21. 22 and a branch condition analysis processing unit 23 for analyzing a branch condition based on the normalized source program PR2 normalized by the program code normalization processing unit 22 and the branch condition analysis processing unit 23. Processing pattern that analyzes the processing procedure for each processing pattern based on the management table TBI created by analysis Another processing procedure analysis processing section 24, a processing pattern processing procedure table editing processing section 25 for editing the processing procedure table TB2 by processing pattern created by praying by the processing procedure analysis processing section 24 by processing pattern, It is created by the analysis by the processing pattern connection processing procedure analysis processing unit 26 that analyzes the connection processing procedure by processing pattern based on the processing procedure table TB2 by processing pattern and this processing pattern connection processing procedure analysis processing unit 26 by processing pattern. Linked processing procedure table for each processing pattern TB3 Editing processing table for each processing pattern editing processing unit 27 and processing pattern table processing processing table editing processing unit for each processing pattern 25 And an output unit 28 for outputting the result of editing by the processing unit 27.
[0040] ソースプログラム入力部 21は、記憶部 14等に記憶されているソースプログラム PR1 や外部力 入力されたソースプログラム PR1を入力し、 1行ずつプログラムコード正規 化処理部 22に供給する。  [0040] The source program input unit 21 inputs the source program PR1 stored in the storage unit 14 or the like or the source program PR1 input from an external force, and supplies it to the program code normalization processing unit 22 line by line.
[0041] プログラムコード正規ィ匕処理部 22は、ソースプログラム入力部 21を介して入力され たソースプログラム PR1を後述する手順にしたがって正規ィ匕し、正規化後ソースプロ グラム PR2を作成する。この作成された正規化後ソースプログラム PR2は、 RAM 13 や記憶部 14等に読み出し可能に記憶される。  [0041] The program code normalization processing unit 22 normalizes the source program PR1 input via the source program input unit 21 according to a procedure described later, and creates a normalized source program PR2. The created normalized source program PR2 is stored in the RAM 13 or the storage unit 14 so as to be readable.
[0042] 分岐条件解析処理部 23は、プログラムコード正規化処理部 22によって正規化され た正規ィ匕後ソースプログラム PR2に含まれる分岐条件を解析し、その解析結果を示 す管理テーブル TBIを作成する。この作成された管理テーブル TBIは、 RAM 13や 記憶部 14等に読み出し可能に記憶される。  [0042] The branch condition analysis processing unit 23 analyzes the branch condition included in the post-regular source program PR2 normalized by the program code normalization processing unit 22, and creates a management table TBI indicating the analysis result To do. The created management table TBI is stored in the RAM 13 or the storage unit 14 so as to be readable.
[0043] 処理パターン別処理手順解析処理部 24は、分岐条件解析処理部 23によって作成 された管理テーブル TBIに基づ 、て処理パターン別の処理手順を解析し、その解 析結果を示す処理パターン別処理手順テーブル TB2を作成する。この作成された 処理パターン別処理手順テーブル TB2は、 RAM13や記憶部 14等に読み出し可能 に gc feされる。  [0043] The processing procedure analysis processing unit 24 for each processing pattern analyzes a processing procedure for each processing pattern based on the management table TBI created by the branch condition analysis processing unit 23, and indicates a processing pattern indicating the analysis result. Create another processing procedure table TB2. The created processing procedure table TB2 for each processing pattern is gcfe so that it can be read out to the RAM 13 or the storage unit 14 or the like.
[0044] 処理パターン別処理手順テーブル編集処理部 25は、処理パターン別処理手順解 析処理部 24によって作成された処理パターン別処理手順テーブル TB2を編集し、ソ ースプログラムの作成及び単体テストを支援するドキュメントやカバレッジ情報を作成 する。これら作成されたドキュメントやカバレッジ情報は、出力部 28に供給される。 [0044] The processing pattern-specific processing procedure table editing processing unit 25 edits the processing pattern-specific processing procedure table TB2 created by the processing pattern-specific processing procedure analysis processing unit 24, and supports the creation of a source program and unit testing. And coverage information To do. These created documents and coverage information are supplied to the output unit 28.
[0045] 処理パターン別連結処理手順解析処理部 26は、処理パターン別処理手順テープ ル TB2に基づ 、て処理パターン別の連結処理手順を解析し、処理パターン別連結 処理手順テーブル TB3を作成する。この作成された処理パターン別連結処理手順 テーブル TB3は、 RAM 13や記憶部 14等に読み出し可能に記憶される。 [0045] Based on the processing pattern-specific processing procedure table TB2, the processing pattern-specific concatenation processing procedure analysis unit 26 analyzes the processing pattern-specific concatenation processing procedure and creates a processing pattern-specific concatenation processing procedure table TB3. . The created processing pattern connection processing procedure table TB3 is readable and stored in the RAM 13, the storage unit 14, or the like.
[0046] 処理パターン別連結処理手順テーブル編集処理部 27は、処理パターン別連結処 理手順解析処理部 26によって作成された処理パターン別連結処理手順テーブル T B3を編集し、組み合わせテストや総合テスト等のテストを支援するドキュメントやカバ レツジ情報を作成する。これら作成されたドキュメントやカバレッジ情報は、出力部 28 に供給される。 [0046] The connection processing procedure table editing processing unit 27 for each processing pattern edits the connection processing procedure table TB3 for each processing pattern created by the connection processing procedure analysis processing unit 26 for each processing pattern, and performs combination tests, comprehensive tests, etc. Create documentation and coverage information to support testing. These created documents and coverage information are supplied to the output unit 28.
[0047] 出力部 28は、処理パターン別処理手順テーブル編集処理部 25による編集結果と してのドキュメントやカバレッジ情報、及び処理パターン別連結処理手順テーブル編 集処理部 27による編集結果としてのドキュメントやカバレッジ情報を、表示部 17に出 力して表示させたり、通信部 15を介して印刷装置等によって出力させたりする。  [0047] The output unit 28 includes a document and coverage information as the editing result by the processing pattern-specific processing procedure table editing processing unit 25, and a document and coverage information as an editing result by the processing pattern-specific processing procedure table editing processing unit 27. Coverage information is output and displayed on the display unit 17 or is output by a printing device or the like via the communication unit 15.
[0048] このようなプログラム処理パターン自動解析処理装置 10は、 CPU11の制御のもと にプログラム処理パターン自動解析処理プログラムを実行することにより、図 3に示す ような一連の手順にしたがって、ソースプログラム PR1の処理手順を自動的に解析す る。  [0048] The program processing pattern automatic analysis processing apparatus 10 as described above executes the program processing pattern automatic analysis processing program under the control of the CPU 11, thereby performing a source program according to a series of procedures as shown in FIG. Automatically analyze PR1 procedures.
[0049] まず、プログラム処理パターン自動解析処理装置 10は、同図に示すように、ステツ プ S1において、ソースプログラム入力部 21を介してソースプログラム PR1から 1行だ け読み込み、ステップ S3において、読み込んだ 1行の命令文に対して、プログラムコ ード正規化処理部 22によるプログラムコード正規化処理を施す。ここで、プログラムコ ード正規化処理とは、後に詳述する力 IF文、 SWITCH文、 FOR文、 WHILE文と V、つたソースプログラム PR1に含まれる様々な条件分岐命令を、例えば IF文形式に 統一する処理である。  [0049] First, as shown in the figure, the program processing pattern automatic analysis processing apparatus 10 reads only one line from the source program PR1 via the source program input unit 21 in step S1, and reads in step S3. However, program code normalization processing by the program code normalization processing unit 22 is performed on one line of the command statement. Here, program code normalization processing refers to the various conditional branch instructions included in the source program PR1, such as the power IF statement, SWITCH statement, FOR statement, WHILE statement and V, which will be described in detail later. It is a process to unify.
[0050] プログラム処理パターン自動解析処理装置 10は、ソースプログラム PR1を 1行ずつ 読み込む度に、このようなプログラムコード正規ィ匕処理を行う。そして、プログラム処 理パターン自動解析処理装置 10は、ステップ S2において、ソースプログラム PR1の 全ての行の読み込みが終了したと判定した場合には、ステップ S4において、正規ィ匕 後ソースプログラム PR2に基づいて、分岐条件解析処理部 23による分岐条件解析 処理を行!、、分岐条件が"真"の処理及び"偽"の処理につ!、てのそれぞれの処理手 順を解析した解析結果を示す管理テーブル TBIを作成する。ここで、分岐条件解析 処理とは、後に詳述するが、複雑に入り組んだ分岐節をそれぞれ独立した分岐節と して捉え、当該独立した分岐節の処理手順を設定する処理である。 [0050] The program processing pattern automatic analysis processing apparatus 10 performs such program code normalization processing each time the source program PR1 is read line by line. Then, in step S2, the program processing pattern automatic analysis processing device 10 executes the source program PR1. If it is determined that all the lines have been read, in step S4, branch condition analysis processing by the branch condition analysis processing unit 23 is performed based on the source program PR2 after normalization! For the “true” and “false” processes, a management table TBI is created that shows the analysis results of each processing procedure. Here, the branch condition analysis process is a process of setting a processing procedure for the independent branch clauses, which will be described in detail later, and each of the complicated branch clauses is regarded as an independent branch clause.
[0051] 続いて、プログラム処理パターン自動解析処理装置 10は、ステップ S5において、 管理テーブル TBIに基づ 、て、処理パターン別処理手順解析処理部 24による処理 パターン別処理手順解析処理を行 ヽ、処理パターン別処理手順テーブル TB2を作 成する。この処理パターン別処理手順解析処理についても、後に詳述するものとする [0051] Subsequently, in step S5, the program processing pattern automatic analysis processing apparatus 10 performs processing pattern-specific processing procedure analysis processing by the processing pattern-specific processing procedure analysis processing unit 24 based on the management table TBI. Create a processing procedure table TB2 for each processing pattern. The processing procedure analysis processing for each processing pattern will also be described in detail later.
[0052] 続いて、プログラム処理パターン自動解析処理装置 10は、ステップ S6において、 処理パターン別処理手順テーブル編集処理部 25による処理パターン別処理手順テ 一ブル TB2の編集を行 ヽ、ソースプログラムの作成及び単体テストを支援するドキュ メントやカバレッジ情報を作成する。この処理パターン別処理手順テーブル編集処理 についても、後に詳述するものとする。 [0052] Subsequently, in step S6, the program processing pattern automatic analysis processing apparatus 10 edits the processing procedure table TB2 by processing pattern by the processing procedure table editing processing unit 25 by processing pattern, and creates a source program. Documents and coverage information that support unit tests are created. The processing pattern table editing process for each processing pattern will also be described in detail later.
[0053] プログラム処理パターン自動解析処理装置 10は、このようにして単体テストを行うと 、ステップ S7において、他のソースプログラムがあるか否かを判定する。ここで、プロ グラム処理パターン自動解析処理装置 10は、他のソースプログラムがある場合には 、ステップ S1からの処理を繰り返す一方で、他のソースプログラムがない場合には、 ステップ S8において、処理パターン別処理手順テーブル TB2に基づいて、処理パタ ーン別連結処理手順解析処理部 26による処理パターン別連結処理手順解析処理 を行い、処理パターン別連結処理手順テーブル TB3を作成する。この処理パターン 別連結処理手順解析処理についても、後に詳述するものとする。  [0053] When performing the unit test in this manner, the program processing pattern automatic analysis processing apparatus 10 determines whether or not there is another source program in step S7. Here, if there is another source program, the program processing pattern automatic analysis processing apparatus 10 repeats the processing from step S1, while if there is no other source program, in step S8, the processing pattern is automatically processed. Based on the separate process procedure table TB2, the process pattern linked process procedure analysis process by the process pattern linked process procedure analysis processing unit 26 is performed, and the process pattern linked process procedure table TB3 is created. The processing pattern analysis processing for each processing pattern will also be described in detail later.
[0054] そして、プログラム処理パターン自動解析処理装置 10は、ステップ S9において、処 理パターン別連結処理手順テーブル編集処理部 27による処理パターン別連結処理 手順テーブル TB3の編集を行 、、テストを支援するドキュメントやカバレッジ情報を作 成し、テストを含む一連の処理を終了する。処理パターン別連結処理手順テーブル 編集処理についても、後に詳述するものとする。 [0054] Then, in step S9, the program processing pattern automatic analysis processing apparatus 10 edits the processing pattern connection processing procedure table TB3 by the processing pattern connection processing procedure table editing processing unit 27 to support the test. Create documents and coverage information, and complete a series of processes including testing. Consolidation processing procedure table by processing pattern The editing process will also be described in detail later.
[0055] プログラム処理パターン自動解析処理装置 10は、このような一連の手順にしたがつ て、ソースプログラム PR1の処理手順を自動的に解析することができる。 [0055] The program processing pattern automatic analysis processing apparatus 10 can automatically analyze the processing procedure of the source program PR1 according to such a series of procedures.
[0056] 以下、上述した各処理について具体的に説明する。 [0056] Hereinafter, each process described above will be specifically described.
[0057] まず、プログラムコード正規ィ匕処理について説明する。 First, the program code normality process will be described.
[0058] プログラムコード正規ィ匕処理部 22は、図 4に示すような一連の手順にしたがって、 プログラムコード正規化処理を行う。なお、以下では、説明の便宜上、 IF文形式に統 一する正規化処理を行うものとする。  The program code normalization processing unit 22 performs program code normalization processing according to a series of procedures as shown in FIG. In the following, for the sake of convenience of explanation, it is assumed that normalization processing integrated with the IF statement format is performed.
[0059] すなわち、プログラムコード正規化処理部 22は、図 3中ステップ S1及びステップ S2 の処理を行い、ソースプログラム PR1から 1行だけ読み込むと、図 4に示すように、ス テツプ SI 1にお 、て、読み込んだ 1行の命令文が条件分岐命令であり且つ IF文であ るカゝ否かを判定する。  [0059] That is, the program code normalization processing unit 22 performs the processing of step S1 and step S2 in FIG. 3 and reads only one line from the source program PR1, and as shown in FIG. Then, it is determined whether the read one-line instruction statement is a conditional branch instruction and an IF statement.
[0060] ここで、プログラムコード正規ィ匕処理部 22は、読み込んだ命令文が IF文であると判 定した場合には、ステップ S12において、 IF文の省略形については分岐節の正規化 形式への変換を行う。このとき、プログラムコード正規ィ匕処理部 22は、原文と変換後 の命令文との対応を図るため、変換後の各行に変換行番号を設定する。なお、プロ グラムコード正規化処理部 22は、原文の行が複数に分割される場合には、枝番等を 付したりすることによって対応をとる。具体的には、分岐節の正規化形式とは、例えば 図 5に示すように、先頭の分岐条件の命令文を分岐点とし、真の処理の開始コード及 び終了コードと偽の処理の開始コード及び終了コードとで明確に閉じられた形式であ る。したがって、プログラムコード正規ィ匕処理部 22は、例えば図 6左側に示すように、 真及び偽の処理の開始コードや終了コードが省略された場合には、同図右側に示 すように、真及び偽の処理の開始コードや終了コードを付した形式に変換し、変換後 の各行に、原文の行番号との対応関係がわ力るような変換行番号を設定する。  [0060] Here, when the program code normalization processing unit 22 determines that the read command statement is an IF statement, in step S12, for the abbreviated form of the IF statement, the normalization format of the branch clause is used. Convert to. At this time, the program code normality processing unit 22 sets a conversion line number for each converted line in order to make correspondence between the original sentence and the converted instruction sentence. Note that the program code normalization processing unit 22 takes action by attaching a branch number or the like when the original text line is divided into a plurality of lines. Specifically, the normalization form of the branch clause is, for example, as shown in Fig. 5, with the instruction statement of the first branch condition as the branch point, and the start code and end code of the true process and the start of the false process The code and exit code are clearly closed. Therefore, the program code normality processing unit 22, for example, as shown on the left side of FIG. 6, when the start code and end code of the true and false processes are omitted, as shown on the right side of the figure, And convert to a format with a fake processing start code and end code, and set a converted line number in each converted line so that the correspondence with the line number of the original text is strong.
[0061] 一方、プログラムコード正規ィ匕処理部 22は、読み込んだ命令文が IF文以外の他の 条件分岐命令であると判定した場合には、ステップ S 13において、 IF文の正規化さ れた分岐節形式への変換を行 ヽ、変換後の各行に変換行番号を設定することによつ て原文と変換後の命令文との対応をとる。具体的には、プログラムコード正規化処理 部 22は、例えば図 7に示すような FOR文の場合には、 "引数 1、ラベル、 if (引数 2)、 {、引数 3、 gotoラベル、 } "といったように、 IF文形式に変換するためのテンプレートを 予め作成しておき、そのテンプレートに対する当てはめを行うことによって変換を行う 。なお、プログラムコード正規ィ匕処理部 22は、他の条件分岐命令についても同様に テンプレートを用いることにより、容易に変換を行うことができる。 [0061] On the other hand, if the program code normality processing unit 22 determines that the read instruction statement is a conditional branch instruction other than the IF statement, the IF statement is normalized in step S13. The conversion to the branch clause format is performed, and by setting the conversion line number for each converted line, the correspondence between the original sentence and the converted instruction sentence is obtained. Specifically, program code normalization processing For example, in the case of a FOR statement as shown in FIG. 7, the part 22 converts it into an IF statement format such as “argument 1, label, if (argument 2), {, argument 3, goto label,}”. A template is created in advance, and conversion is performed by fitting the template. The program code normality processing unit 22 can easily convert other conditional branch instructions by using templates in the same manner.
[0062] プログラムコード正規化処理部 22は、このようなステップ S 12又はステップ S 13の処 理を行い、全ての変換を終了すると、ステップ S14において、変換後の命令文に行 番号 001〜力もなる変換後行番号を改めて付し、正規ィ匕後ソースプログラム PR2を 作成する。また、プログラムコード正規化処理部 22は、原文の行番号、変換行番号、 及び変換後行番号の対応関係を後の処理にて利用するために、例えば図 8に示す ように、これら各行番号の対応関係を示す原文行番号対応テーブル TB4を作成して RAM 13や記憶部 14等に読み出し可能に記憶する。  [0062] The program code normalization processing unit 22 performs the processing of step S12 or step S13 and completes the conversion. In step S14, the program code normalization processing unit 22 adds the line numbers 001 to force to the converted command statement. The post-conversion source line number is added, and the source program PR2 after normalization is created. Also, the program code normalization processing unit 22 uses each line number, as shown in FIG. 8, for example, in order to use the correspondence relationship between the line number of the original text, the converted line number, and the converted line number in subsequent processing. A text line number correspondence table TB4 showing the correspondence relationship is created and stored in the RAM 13 or the storage unit 14 so as to be readable.
[0063] プログラムコード正規化処理部 22は、ソースプログラム PR1を 1行ずつ読み込む度 に、このような処理を行い、ステップ S2において、ソースプログラム PR1の全ての行の 読み込みが終了したと判定した場合には、一連のプログラムコード正規化処理を終 了する。  [0063] The program code normalization processing unit 22 performs such processing each time the source program PR1 is read line by line, and if it is determined in step S2 that all lines of the source program PR1 have been read. To end the series of program code normalization processing.
[0064] プログラムコード正規ィ匕処理部 22は、このような一連の手順にしたがって、プロダラ ムコード正規ィ匕処理を行うことができる。  [0064] The program code normality processing unit 22 can perform the program code normality processing according to such a series of procedures.
[0065] つぎに、分岐条件解析処理について説明する。  Next, the branch condition analysis process will be described.
[0066] 分岐条件解析処理とは、例えば図 9に示すように、分岐節の中に分岐節が存在す る場合等、複雑に入り組んだ分岐節をそれぞれ独立した分岐節として捉え、当該独 立した分岐節の処理手順を設定することによって分岐条件を解析する処理である。 分岐条件解析処理部 23は、図 10に示すような一連の手順にしたがって、このような 分岐条件解析処理を行う。  [0066] For example, as shown in Fig. 9, the branch condition analysis process treats a complicated intricate branch clause as an independent branch clause when there is a branch clause in the branch clause. This is a process of analyzing the branch condition by setting the processing procedure of the branch clause. The branch condition analysis processing unit 23 performs such a branch condition analysis process according to a series of procedures as shown in FIG.
[0067] すなわち、分岐条件解析処理部 23は、同図に示すように、ステップ S21において、 正規ィ匕後ソースプログラム PR2から 1行だけ読み込むと、ステップ S24において、読 み込んだ 1行の命令文が条件分岐命令である力否かを判定する。このとき、分岐条 件解析処理部 23は、後述する処理パターン別連結処理手順作成処理のため、読み 込んだ正規ィ匕後ソースプログラム PR2が前の処理対象と異なる場合には、正規化後 ソースプログラム毎に、管理テーブル TBI及び処理パターン別処理手順テーブル T B2が固有なものとなるように、ステップ S23において、これら管理テーブル TBI及び 処理パターン別処理手順テーブル TB2に固有のプログラム ID (PGM ID)を設定し た上で、ステップ S 24へと処理を移行する。 [0067] That is, as shown in the figure, the branch condition analysis processing unit 23 reads one line from the source program PR2 after normal input in step S21, and then reads the one line instruction read in step S24. Judge whether the sentence is a conditional branch instruction or not. At this time, the branching condition analysis processing unit 23 reads the processing pattern-specific connection processing procedure creation process described later. If the included post-regular source program PR2 is different from the previous processing target, the management table TBI and processing pattern-specific processing procedure table T B2 are unique to each post-normalization source program. In S23, a unique program ID (PGM ID) is set in the management table TBI and the processing pattern table TB2 by processing pattern, and the process proceeds to step S24.
[0068] ここで、分岐条件解析処理部 23は、読み込んだ命令文が条件分岐命令であると判 定した場合には、ステップ S25において、その条件分岐命令の処理を行い、ステップ S21からの処理を繰り返す。一方、分岐条件解析処理部 23は、読み込んだ命令文 が条件分岐命令でないと判定した場合には、ステップ S 26へと処理を移行し、読み 込んだ命令文が開始コードであり直前の命令が条件分岐命令である力否かを判定 する。分岐条件解析処理部 23は、条件分岐命令の直後は必ず分岐条件が"真"の 処理となることから、読み込んだ命令文が開始コードであり直前の命令が条件分岐命 令であると判定した場合には、ステップ S27において、分岐条件"真"の処理を開始し 、ステップ S21からの処理を繰り返す。また、分岐条件解析処理部 23は、読み込ん だ命令文が開始コードでなく直前の命令が条件分岐命令でないと判定した場合には 、ステップ S28において、当該命令文が偽の処理の開始コードである力否かを判定 する。そして、分岐条件解析処理部 23は、読み込んだ命令文が偽の処理の開始コ ードであると判定した場合には、ステップ S29において、分岐条件"偽"の処理を開始 し、ステップ S21からの処理を繰り返す。さらに、分岐条件解析処理部 23は、読み込 んだ命令文が偽の処理の開始コードでな 、と判定した場合には、ステップ S30にお いて、当該命令文が終了コードである力否かを判定する。分岐条件解析処理部 23 は、読み込んだ命令文が終了コードであると判定した場合には、ステップ S31におい て、終了コード処理を行い、ステップ S21からの処理を繰り返す一方で、当該命令文 が終了コードでないと判定した場合には、ステップ S32において、その他のコード処 理を行い、ステップ S21からの処理を繰り返す。  [0068] Here, if the branch condition analysis processing unit 23 determines that the read instruction statement is a conditional branch instruction, the branch condition analysis processing unit 23 processes the conditional branch instruction in step S25, and performs the processing from step S21. repeat. On the other hand, if the branch condition analysis processing unit 23 determines that the read instruction statement is not a conditional branch instruction, the branch condition analysis processing unit 23 proceeds to step S26, where the read instruction statement is the start code and the immediately preceding instruction is Judges whether the power is a conditional branch instruction. The branch condition analysis processing unit 23 determines that the read instruction statement is a start code and the immediately preceding instruction is a conditional branch instruction because the branch condition is always “true” immediately after the conditional branch instruction. In this case, in step S27, the branch condition “true” process is started, and the process from step S21 is repeated. If the branch condition analysis processing unit 23 determines that the read instruction statement is not a start code and the immediately preceding instruction is not a conditional branch instruction, the instruction statement is a false processing start code in step S28. Judge whether it is power or not. When the branch condition analysis processing unit 23 determines that the read instruction is a false processing start code, the branch condition analysis processing unit 23 starts processing of the branch condition “false” in step S29. Repeat the process. Furthermore, if the branch condition analysis processing unit 23 determines that the read instruction statement is not a false processing start code, in step S30, whether or not the instruction statement is an end code. Determine. If the branch condition analysis processing unit 23 determines that the read instruction statement is an end code, the branch condition analysis processing unit 23 performs the end code processing in step S31 and repeats the processing from step S21 while the instruction statement ends. If it is determined that it is not a code, other code processing is performed in step S32, and the processing from step S21 is repeated.
[0069] 分岐条件解析処理部 23は、正規化後ソースプログラム PR2を 1行ずつ読み込む度 に、このようなステップ S21乃至ステップ S32の処理を行う。そして、分岐条件解析処 理部 23は、ステップ S22において、正規化後ソースプログラム PR2の全ての行の読 み込みが終了した場合には、ステップ S33において、処理手順の設定処理を行うこと によって管理テーブル TBIを作成し、一連の分岐条件解析処理を終了する。 [0069] The branch condition analysis processing unit 23 performs such processing of step S21 to step S32 each time the normalized source program PR2 is read line by line. In step S22, the branch condition analysis processing unit 23 reads all lines of the normalized source program PR2. When the insertion is completed, a management table TBI is created by performing processing procedure setting processing in step S33, and the series of branch condition analysis processing is completed.
[0070] ここで、ステップ S25、ステップ S27、ステップ S29、ステップ S31、ステップ S32、及 びステップ S33の各処理の詳細について、図 11に示す管理テーブル TBIの具体例 を用いて説明する。 [0070] Here, details of each processing of step S25, step S27, step S29, step S31, step S32, and step S33 will be described using a specific example of the management table TBI shown in FIG.
[0071] まず、ステップ S25における条件分岐命令処理について説明する。  First, the conditional branch instruction process in step S25 will be described.
[0072] 分岐条件解析処理部 23は、当該行が条件分岐命令である場合には、分岐節毎に 識別可能な識別子を設定する。なお、識別子は、分岐節がネスト構造の場合には、 同一の深みが複数あることを考慮した識別子とする。  [0072] When the line is a conditional branch instruction, the branch condition analysis processing unit 23 sets an identifiable identifier for each branch clause. When the branching clause has a nested structure, the identifier shall be an identifier that takes into account that there are multiple identical depths.
[0073] つぎに、ステップ S27における分岐条件"真〃の開始処理について説明する。 Next, the branch condition “authenticity start processing in step S27 will be described.
[0074] 分岐条件解析処理部 23は、当該行が真の処理の開始コードである場合には、当 該行の直前の条件分岐命令の識別子を当該真の処理の開始コードの識別子として 設定する。 [0074] When the line is a true process start code, the branch condition analysis processing unit 23 sets the identifier of the conditional branch instruction immediately before the line as the identifier of the true process start code. .
[0075] つぎに、ステップ S29における分岐条件"偽〃の開始処理について説明する。  Next, the branch condition “false fake start processing in step S29 will be described.
[0076] 分岐条件解析処理部 23は、当該行が偽の処理の開始コードである場合には、当 該行の直前の真の処理の終了コードの識別子を当該偽の処理の開始コードの識別 子として設定する。 [0076] When the line is a false process start code, the branch condition analysis processing unit 23 identifies the true process end code identifier immediately before the line as the false process start code identification. Set as a child.
[0077] つぎに、ステップ S31における終了コード処理について説明する。  [0077] Next, the end code processing in step S31 will be described.
[0078] 分岐条件解析処理部 23は、当該行が終了コードである場合に、当該行の直前の 行がその他のコード若しくは開始コードであるならば、その識別子を当該終了コード の識別子として設定する。また、分岐条件解析処理部 23は、当該行の直前の行が終 了コードであるならば、その識別子と異なる識別子が現れるまで遡り、その異なる識 別子を当該終了コードの識別子として設定する。このとき、分岐条件解析処理部 23 は、その異なる識別子が終了コードである場合には、さらに異なる識別子が現れるま で繰り返し設定する。ここで、分岐条件解析処理部 23は、当該終了コードが真の処 理の終了コードであるカ 為の処理の終了コードであるかを判定する。そして、分岐条 件解析処理部 23は、当該行力 同一識別子の行を遡り、最初に現れる開始コードが 真の処理の開始コードである場合には、当該終了コードは真の処理の終了コードで あると判定する。また、分岐条件解析処理部 23は、当該行力も同一識別子の行を遡 り、最初に現れる開始コードが偽の処理の開始コードである場合には、当該終了コー ドは偽の処理の終了コードであると判定する。 [0078] When the line is an end code, the branch condition analysis processing unit 23 sets the identifier as an identifier of the end code if the line immediately preceding the line is another code or a start code. . Further, if the line immediately before the relevant line is an end code, the branch condition analysis processing unit 23 goes back until an identifier different from the identifier appears, and sets the different identifier as the identifier of the end code. At this time, if the different identifier is an end code, the branch condition analysis processing unit 23 repeatedly sets the identifier until a different identifier appears. Here, the branch condition analysis processing unit 23 determines whether or not the end code is the end code of the process for the true process. Then, the branch condition analysis processing unit 23 goes back to the row having the same identifier for the power, and when the start code that appears first is the start code of the true process, the end code is the end code of the true process. Judge that there is. In addition, the branch condition analysis processing unit 23 goes back the row with the same identifier as the corresponding power, and if the first start code that appears is the start code of the false process, the end code is the end code of the false process. It is determined that
[0079] つぎに、ステップ S32におけるその他のコード処理について説明する。 Next, other code processing in step S32 will be described.
[0080] 分岐条件解析処理部 23は、当該行がその他のコードである場合に、当該行の直 前の行がその他のコード、真の処理の開始コード若しくは偽の処理の開始コードであ るならば、その識別子を当該その他のコードの識別子として設定する。また、分岐条 件解析処理部 23は、当該行の直前の行が偽の終了コードであるならば、その識別 子と異なる識別子が現れるまで遡り、その異なる識別子を当該その他のコードの識別 子として設定する。ただし、分岐条件解析処理部 23は、その異なる識別子がやはり 偽の処理の終了コードである場合には、同一の処理を繰り返し設定する。 [0080] In the branch condition analysis processing unit 23, when the line is another code, the line immediately preceding the line is another code, a true process start code, or a false process start code. Then, the identifier is set as the identifier of the other code. In addition, if the line immediately before the relevant line is a false end code, the branch condition analysis processing unit 23 goes back until an identifier different from the identifier appears, and uses the different identifier as an identifier of the other code. Set. However, the branch condition analysis processing unit 23 repeatedly sets the same process when the different identifier is also a false process end code.
[0081] つぎに、ステップ S33における処理手順設定処理について説明する。 Next, the processing procedure setting process in step S33 will be described.
[0082] 分岐条件解析処理部 23は、当該行が条件分岐命令である場合には、まず当該条 件分岐命令と同一の識別子を有する真の処理の開始コードの行番号を、条件分岐 命令の真の処理の次処理行番号に設定し、続いて、当該条件分岐命令と同一の識 別子を有する偽の処理の開始コードの行番号を、条件分岐命令の偽の処理の次処 理行番号に設定する。また、分岐条件解析処理部 23は、当該行が真の処理の開始 コードである場合には、当該行以降に最初に現れる同一識別子の行の行番号を次 処理行番号に設定する。さらに、分岐条件解析処理部 23は、当該行が偽の処理の 開始コードである場合には、当該行以降に最初に現れる同一識別子の行の行番号 を次処理行番号に設定する。さらにまた、分岐条件解析処理部 23は、当該行がその 他のコードである場合には、当該行以降に最初に現れる同一識別子の行の行番号 を次処理行番号に設定する。また、分岐条件解析処理部 23は、当該行が真の処理 の終了コードである場合には、識別子が同一である偽の処理の終了コードの行番号 を次処理行番号に設定する。そして、分岐条件解析処理部 23は、当該行が偽の処 理の終了コードである場合には、直後の行の行番号を次処理行番号に設定する。 [0082] When the line is a conditional branch instruction, the branch condition analysis processing unit 23 first determines the line number of the true processing start code having the same identifier as the conditional branch instruction, Set to the next process line number of the true process, and then set the line number of the false process start code having the same identifier as the conditional branch instruction to the next process line of the false process of the conditional branch instruction. Set to a number. Further, when the line is a true processing start code, the branch condition analysis processing unit 23 sets the line number of the line with the same identifier that appears first after the line as the next process line number. Further, when the line is a false processing start code, the branch condition analysis processing unit 23 sets the line number of the line with the same identifier that appears first after the line as the next process line number. Furthermore, when the line is another code, the branch condition analysis processing unit 23 sets the line number of the line with the same identifier that appears first after the line as the next process line number. Further, when the line is a true process end code, the branch condition analysis processing unit 23 sets the line number of the false process end code having the same identifier as the next process line number. Then, the branch condition analysis processing unit 23 sets the line number of the immediately following line as the next process line number when the line is a false processing end code.
[0083] 分岐条件解析処理部 23は、以上のような一連の手順にしたがって、分岐条件解析 処理を行うことができる。 [0084] つぎに、処理パターン別処理手順解析処理について説明する。 The branch condition analysis processing unit 23 can perform the branch condition analysis processing according to the series of procedures as described above. Next, processing procedure analysis processing for each processing pattern will be described.
[0085] 処理パターン別処理手順解析処理部 24は、分岐条件解析処理部 23によって設定 された処理手順を、分岐を含まな!/ヽ一連の連続した処理として再設定するものである 。なお、ここでは、図 12に示す管理テーブル TBI及び処理パターン別処理手順テー ブル TB2の具体例を用いて説明する。まず、処理パターン別処理手順解析処理部 2 4は、管理テーブルの先頭行力ゝら次処理行番号にしたがって抽出された行を、処理 ノ ターン別処理手順テーブルに設定する。このとき、処理パターン別処理手順解析 処理部 24は、当該行が条件分岐命令である場合には、真の処理の次処理行番号に したがって処理パターン別処理手順テーブルの最後まで進み、これを 1番目の処理 パターンとして登録する。続いて、処理パターン別処理手順解析処理部 24は、 1番 目の処理パターンの最後の行力 遡り、最初に現れる条件分岐命令を検索し、当該 条件分岐命令が偽の処理の次処理行番号にしたがって進む。このとき、処理パター ン別処理手順解析処理部 24は、 1番目の処理パターンと同様に、当該行が条件分 岐命令である場合には、真の処理の次処理行番号にしたがって処理パターン別処 理手順テーブルの最後まで進み、これを 2番目の処理パターンとして登録する。処理 パターン別処理手順解析処理部 24は、以降同様の方法を繰り返し、全ての条件分 岐命令の真の処理の次処理行番号及び偽の処理の次処理行番号を処理することに より、全ての処理パターンを抽出することができる。 The processing procedure analysis processing unit 24 by processing pattern resets the processing procedure set by the branch condition analysis processing unit 23 as a series of continuous processes including no branching! Here, description will be made using specific examples of the management table TBI and the processing procedure table TB2 for each processing pattern shown in FIG. First, the processing procedure analysis unit for each processing pattern 24 sets the row extracted according to the next processing row number from the top row force of the management table in the processing procedure table for each processing pattern. At this time, if the line is a conditional branch instruction, the processing procedure for each processing pattern 24 proceeds to the end of the processing procedure table for each processing pattern according to the next processing line number of the true processing. Register as the second processing pattern. Subsequently, the processing procedure analysis processing unit 24 by processing pattern goes back to the last power of the first processing pattern and searches for the first conditional branch instruction that appears, and the next processing line number of the processing in which the conditional branch instruction is false. Proceed according to At this time, similarly to the first processing pattern, the processing procedure analysis processing unit 24 for each processing pattern determines the processing pattern according to the next processing line number of the true processing when the line is a conditional branching instruction. Go to the end of the processing procedure table and register this as the second processing pattern. The processing procedure analysis processing unit 24 for each pattern repeats the same method thereafter, and processes the next processing line number of the true processing and the next processing line number of the false processing of all the conditional branch instructions. This processing pattern can be extracted.
[0086] 処理パターン別処理手順解析処理部 24は、このような一連の手順にしたがって、 処理パターン別処理手順解析処理を行うことができる。 The processing pattern-by-processing pattern analysis procedure analysis unit 24 can perform processing pattern-by-processing pattern analysis processing according to such a series of procedures.
[0087] つぎに、処理パターン別処理手順テーブル編集処理について説明する。  Next, the processing procedure table editing process for each processing pattern will be described.
[0088] 処理パターン別処理手順テーブル編集処理部 25は、従来のソースプログラムの作 成及び単体テストにおける問題を解決するために、処理パターン別処理手順テープ ル編集処理として、図 13に示すように、ステップ S51における処理パターン別処理手 順ドキュメントの編集と、ステップ S52における処理パターン別カバレッジ情報の編集 とを行う。 [0088] As shown in FIG. 13, the processing pattern-specific processing procedure table editing processing unit 25 performs processing pattern-specific processing procedure table editing processing in order to solve the problems in conventional source program creation and unit testing. The processing procedure document for each processing pattern is edited in step S51 and the coverage information for each processing pattern is edited in step S52.
[0089] 具体的には、処理パターン別処理手順テーブル編集処理部 25は、ステップ S51〖こ おける処理パターン別処理手順ドキュメントの編集として、処理パターン別処理手順 テーブル TB2に基づいて、例えば図 14に示すように、処理パターン別に処理手順を 並べたドキュメントを自動的に作成する。 [0089] Specifically, the processing pattern-specific processing procedure table editing processing unit 25 performs processing pattern-specific processing procedures as step S51. Based on the table TB2, for example, as shown in Fig. 14, a document in which processing steps are arranged by processing pattern is automatically created.
[0090] この処理パターン別処理手順ドキュメントは、処理パターン別に処理手順が並んで おり、プログラマが作成する処理パターンのドキュメント(例えば図 15に示すフローチ ヤート)と容易に照合することができる。これは、先に図 9に示した従来のソースプログ ラムコードとの照合と比較すれば一目瞭然である。また、プログラム処理パターン自 動解析処理装置 10においては、条件分岐行が明確であるため、その条件と前後の 処理により、テストデータを容易に考案し、作成することができる。さら〖こ、プログラム 処理パターン自動解析処理装置 10においては、処理手順から条件分岐行のみ抽 出した一覧表形式のドキュメントにより、テスト状況の確認を行うことができる。さらにま た、プログラム処理パターン自動解析処理装置 10においては、処理パターン別に処 理手順を並べテスト結果を手書きによって記入できるフォーマットにすることにより、 検証用及び納品用のドキュメントを作成することができる。これにより、プログラム処理 パターン自動解析処理装置 10においては、ソースプログラム作成時における人為的 ミスを最小限に抑え、ドキュメント作成に力かるプログラマの労力を大幅に低減するこ とがでさる。 The processing procedure document for each processing pattern has processing procedures arranged for each processing pattern, and can be easily collated with a processing pattern document created by a programmer (for example, the flow chart shown in FIG. 15). This is obvious when compared with the comparison with the conventional source program code shown in Fig. 9. In the program processing pattern automatic analysis processing apparatus 10, since the conditional branch line is clear, test data can be easily devised and created by the conditions and the processes before and after. Furthermore, in the program processing pattern automatic analysis processing device 10, the test status can be confirmed by a list-format document in which only conditional branch lines are extracted from the processing procedure. Further, the program processing pattern automatic analysis processing apparatus 10 can create a verification document and a delivery document by arranging the processing procedures for each processing pattern and by making the test result into a format that can be entered by handwriting. As a result, the program processing pattern automatic analysis processing apparatus 10 can minimize human error at the time of creating the source program and greatly reduce the labor of the programmer who works on the document creation.
[0091] また、処理パターン別処理手順テーブル編集処理部 25は、図 13中ステップ S52に おける処理パターン別カバレッジ情報の編集として、例えば図 16に示すように、コン ピュータ環境にて実行されたプログラムのトレース情報をプログラム開発支援ツール 力 受け取り、トレース情報に含まれるソースプログラムの行番号と処理パターン別処 理手順テーブル TB2の行番号との照合を行 ヽ、どの処理パターンが実行されたかを 把握する。これにより、処理パターン別処理手順テーブル編集処理部 25は、例えば 図 17に示すように、本来のプログラム品質を示すプログラムステップベースの処理パ ターンの総数を分母とし、テスト実行されたプログラムステップベースの処理パターン の総数を分子とする定量的な品質情報を得ることができる。  Further, the processing pattern-specific processing procedure table editing processing unit 25 performs a program executed in a computer environment as shown in FIG. 16, for example, as editing of coverage information by processing pattern in step S52 in FIG. The program development support tool receives the trace information of the source, and checks the line number of the source program included in the trace information against the line number of the processing procedure table TB2 for each processing pattern to understand which processing pattern has been executed. . As a result, the processing procedure table-by-process pattern table editing processing unit 25 uses the total number of program step-based processing patterns indicating the original program quality as a denominator, as shown in FIG. 17, for example. Quantitative quality information with the total number of treatment patterns as a molecule can be obtained.
[0092] 処理パターン別処理手順テーブル編集処理部 25は、このような一連の手順にした がって、処理パターン別処理手順テーブル編集処理を行うことができる。  The processing pattern-specific processing procedure table editing processing unit 25 can perform processing pattern-specific processing procedure table editing processing according to such a series of procedures.
[0093] つぎに、処理パターン別連結処理手順解析処理について説明する。 [0094] 処理パターン別連結処理手順解析処理部 26は、図 18に示すように、ソースプログ ラム単位で作成された複数の処理パターン別処理手順テーブル TB2のうち PGM'I D xxxxxxxxに対応する先のテーブルの各パターンに対して、 PGM 'ID yyyyyyyに 対応する後のテーブルの各パターンを割り付けることにより、図 19に示すように、これ ら先のテーブルと後のテーブルとのパターンを連結した連結処理パターンを示す処 理パターン別連結処理手順テーブル TB3を作成する。連結のためのアルゴリズムは 、以下のとおりである。まず、処理パターン別連結処理手順解析処理部 26は、先頭 のプログラム力 最後のプログラムまでのそれぞれの最初の処理パターンを抽出し、 これを 1番目の連結処理パターンとして処理パターン別連結処理手順テーブル TB3 に登録する。続いて、処理パターン別連結処理手順解析処理部 26は、 1番目の連 結処理パターンの最後のプログラムの処理パターンを 2番目の処理パターンに置き 換え、これを 2番目の連結処理パターンとして登録する。処理パターン別連結処理手 順解析処理部 26は、最後のプログラムの処理パターンを全て処理するまでこのような 処理を繰り返し、それぞれ連結処理パターンとして登録する。そして、処理パターン 別連結処理手順解析処理部 26は、 1番目の連結処理パターンの最後のプログラム を 1つ遡るプログラムの処理パターンを、 2番目の処理パターンと置き換え、最後のプ ログラムに対して上記と同様の処理を繰り返し、それぞれ連結処理パターンとして登 録する。処理パターン別連結処理手順解析処理部 26は、最後から 2番目のプロダラ ムの処理パターンを全て処理すると、最後から 3番目のプログラムの処理パターンに 対する処理といったように、順次同様の処理を繰り返しながら遡っていき、先頭のプロ グラムの処理パターンまで全てを処理することにより、連結処理パターンを作成するこ とがでさる。 Next, the processing pattern connection processing procedure analysis processing will be described. [0094] As shown in Fig. 18, the processing pattern-specific concatenation processing procedure analysis processing unit 26 selects a destination corresponding to PGM'I D xxxxxxxx among a plurality of processing pattern-specific processing procedure tables TB2 created in units of source programs. By assigning each pattern in the subsequent table corresponding to PGM 'ID yyyyyyy to each pattern in the previous table, as shown in Fig. 19, the concatenation of the pattern in the previous table and the subsequent table is connected. Create a processing sequence table TB3 for each processing pattern indicating the processing pattern. The algorithm for concatenation is as follows. First, the connection processing procedure analysis processing unit 26 for each processing pattern extracts the first processing pattern up to the first program power and the last program, and uses this as the first connection processing pattern as the connection processing table for each processing pattern TB3. Register with. Subsequently, the connection processing procedure analysis processing unit 26 by processing pattern replaces the processing pattern of the last program of the first connection processing pattern with the second processing pattern, and registers this as the second connection processing pattern. . The connection processing procedure analysis processing unit 26 by processing pattern repeats such processing until all the processing patterns of the last program have been processed, and registers them as connection processing patterns. Then, the connection processing procedure analysis processing unit 26 by processing pattern replaces the processing pattern of the program that goes back one step from the last program of the first connection processing pattern with the second processing pattern, and performs the above processing for the last program. The same processing is repeated, and each is registered as a concatenation processing pattern. When all the processing patterns of the second program from the end are processed, the connection processing procedure analysis processing unit 26 by processing pattern repeats the same processing sequentially, such as processing for the processing pattern of the third program from the end. It is possible to create a concatenation processing pattern by going back and processing all the processing patterns of the first program.
[0095] 処理パターン別連結処理手順解析処理部 26は、このようにして、処理パターン別 連結処理手順解析処理を行うことができる。  The processing pattern-specific connection processing procedure analysis processing unit 26 can perform the processing pattern-specific connection processing procedure analysis processing in this way.
[0096] つぎに、処理パターン別連結処理手順テーブル編集処理について説明する。 Next, the process pattern-specific connection process procedure table editing process will be described.
[0097] 処理パターン別連結処理手順テーブル編集処理部 27は、従来のテストにおける問 題を解決するために、処理パターン別連結処理手順テーブル TB3に基づいて、例 えば図 20に示すように、連結処理パターン別に処理手順を並べたドキュメントやカバ レツジ情報を作成する。 [0097] In order to solve the problem in the conventional test, the connection processing procedure table for each processing pattern 27 is connected based on the connection processing table for each processing pattern TB3, for example, as shown in FIG. Documents and covers that list processing procedures by processing pattern Create ledge information.
[0098] この連結処理パターン別処理手順ドキュメントは、図 20に示すように、連結処理パ ターン別に処理手順が並んでいるため、 SEが作成する様々なドキュメントに対して正 確且つ有用な情報を提供することができ、人為的なミスを低減することができる。また 、処理パターン別連結処理手順テーブル編集処理部 27は、コンピュータ環境にて実 行されたプログラムのトレース情報をプログラム開発支援ツール力 受け取り、トレー ス情報に含まれるソースプログラムの行番号と処理パターン別連結処理手順テープ ル TB3の行番号との照合を行 ヽ、どの連結処理パターンが実行されたかを把握する 。これにより、処理パターン別連結処理手順テーブル編集処理部 27は、本来のシス テム品質を示すプログラムステップベースの連結処理パターンの総数を分母とし、テ スト実行されたプログラムステップベースの連結処理パターンの総数を分子とする定 量的な品質情報を得ることができる。  [0098] As shown in Fig. 20, the processing procedure documents for each of the concatenation processing patterns are arranged according to the concatenation processing pattern. Therefore, accurate and useful information is provided for various documents created by the SE. Can be provided, and human error can be reduced. In addition, the processing pattern connection processing table table editing processing unit 27 receives the trace information of the program executed in the computer environment by the program development support tool, and by the line number of the source program included in the trace information and the processing pattern. Concatenation processing procedure table Check the TB3 line number and check which concatenation processing pattern has been executed. As a result, the processing pattern-specific concatenation processing procedure table editing processing unit 27 uses the total number of program step-based concatenation processing patterns indicating the original system quality as the denominator, and the total number of program step-based concatenation processing patterns that have been tested. Quantitative quality information with the numerator can be obtained.
[0099] 処理パターン別連結処理手順テーブル編集処理部 27は、このようにして、処理パ ターン別連結処理手順テーブル編集処理を行うことができる。  [0099] In this way, the processing pattern-specific connection processing procedure table editing processing unit 27 can perform the processing pattern-specific connection processing procedure table editing processing.
[0100] 以上説明したように、本発明の実施の形態として示すプログラム処理パターン自動 解析処理装置 10は、入力されたソースプログラムに含まれる入り組んだ分岐節をそ れぞれ独立した分岐節として捉え、当該独立した分岐節の処理手順を設定し、分岐 を含まない一連の処理手順を解析することにより、処理パターンを抽出することがで きる。これにより、プログラム処理パターン自動解析処理装置 10は、プログラム開発に おける人為的なミスを大幅に低減し、本来のプログラム品質を示す定量的な品質情 報を提供することができる。また、プログラム処理パターン自動解析処理装置 10は、 システムとして複数の連結したプログラム群に対しても同様に連結処理パターンを抽 出することができるため、システム開発における人為的なミスを低減し、本来のシステ ム品質を示す定量的な品質情報を提供することができる。  As described above, the program processing pattern automatic analysis processing device 10 shown as the embodiment of the present invention regards the complicated branch clauses included in the input source program as independent branch clauses. The processing pattern can be extracted by setting the processing procedure of the independent branching clause and analyzing a series of processing procedures that do not include branching. As a result, the program processing pattern automatic analysis processing apparatus 10 can significantly reduce human error in program development and provide quantitative quality information indicating the original program quality. In addition, since the program processing pattern automatic analysis processing apparatus 10 can similarly extract linked processing patterns for a plurality of linked program groups as a system, human error in system development is reduced. It is possible to provide quantitative quality information indicating the quality of the system.
[0101] なお、本発明は、上述した実施の形態に限定されるものではない。例えば、上述し た実施の形態では、解析対象としてのソースプログラムが C言語で記述されて ヽるも のとして説明したが、本発明は、フォートランや COBOL等、機械語以外のプログラミ ング言語であれば、条件分岐に関する文法体系が同様であることから、容易に適用 することができる。 Note that the present invention is not limited to the above-described embodiment. For example, in the above-described embodiment, the source program to be analyzed is described in the C language. However, the present invention is not limited to a programming language such as Fortran or COBOL. For example, the grammar system for conditional branching is the same, so it can be easily applied. can do.
[0102] また、上述した実施の形態では、各条件分岐命令を IF文形式に統一する正規化処 理を行うものとして説明したが、本発明は、他の条件分岐命令の形式に統一する正 規化処理を行うようにしてもょ ヽ。  [0102] Further, in the above-described embodiment, it has been described that the normalization process is performed to unify each conditional branch instruction into the IF statement format. It may be possible to perform normalization processing.
[0103] このように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることは いうまでもない。  [0103] As described above, it goes without saying that the present invention can be modified as appropriate without departing from the spirit of the present invention.

Claims

請求の範囲 The scope of the claims
[1] ソースプログラムコードに記述された処理手順を自動的に解析するプログラム処理 パターン自動解析処理装置であって、  [1] A program processing pattern automatic analysis processing device that automatically analyzes a processing procedure described in a source program code,
入力されたソースプログラムに含まれる入り組んだ分岐節をそれぞれ独立した分岐 節として捉え、当該独立した分岐節の処理手順を設定することによって分岐条件を 解析し、分岐条件が真の処理及び偽の処理にっ 、てのそれぞれの処理手順を解析 した解析結果を示す管理テーブルを作成する分岐条件解析処理手段と、  Interpreting the complicated branch clauses included in the input source program as independent branch clauses, analyzing the branch conditions by setting the processing procedure of the independent branch clauses, processing that the branch conditions are true and false Therefore, a branch condition analysis processing means for creating a management table indicating an analysis result obtained by analyzing each processing procedure,
上記分岐条件解析処理手段によって作成された上記管理テーブルを記憶する管 理テーブル記憶手段とを備えること  Management table storage means for storing the management table created by the branch condition analysis processing means.
を特徴とするプログラム処理パターン自動解析処理装置。  A program processing pattern automatic analysis processing device characterized by the above.
[2] 上記管理テーブルの先頭行力も分岐条件が真の処理にっ 、ての処理手順を抽出 してこれを 1番目の処理パターンとし、上記 1番目の処理パターンの最後の行力 遡 り、最初に現れる分岐条件が偽の処理以降について真の処理にしたがって処理手 順を抽出してこれを 2番目の処理パターンとするような処理を繰り返し、全ての処理パ ターンを抽出する処理パターン別処理手順解析処置手段と、  [2] The first power of the above management table is also processed with the true branch condition. The previous processing procedure is extracted and used as the first processing pattern, and the last power of the first processing pattern is traced back. Processing for each processing pattern that extracts all processing patterns by repeating the processing to extract the processing procedure according to the true processing for the processing after the processing with the first branch condition that is false. Procedure analysis treatment means;
上記処理パターン別処理手順解析処理手段による解析によって作成された処理パ ターン別処理手順テーブルを記憶する処理パターン別処理手順テーブル記憶手段 とを備えること  A processing procedure table storing means for each processing pattern for storing a processing procedure table for each processing pattern created by the analysis by the processing procedure analysis processing means for each processing pattern.
を特徴とする請求の範囲第 1項記載のプログラム処理パターン自動解析処理装置  The program processing pattern automatic analysis processing device according to claim 1, characterized in that
[3] 上記処理パターン別処理手順テーブルを編集し、処理パターン別に処理手順を並 ベたドキュメントを作成する、及び Z又は、コンピュータ環境にて実行されたプロダラ ムのトレース情報をプログラム開発支援ツール力 受け取り、上記処理パターン別処 理手順テーブルとの照合を行 、、プログラムステップベースの処理パターン別のカバ レツジ情報を算出する処理パターン別処理手順テーブル編集処理手段を備えること を特徴とする請求の範囲第 2項記載のプログラム処理パターン自動解析処理装置 [3] Edit the above-mentioned processing pattern table for each processing pattern, create a document that lists the processing procedures for each processing pattern, and use the program development support tool to trace the trace information of the program executed in Z or the computer environment. And a processing procedure table editing processing table for each processing pattern for calculating coverage information for each processing pattern on the basis of a program step based on the received processing pattern and comparing with the processing procedure table for each processing pattern. Program processing pattern automatic analysis processing device according to item 2
[4] ソースプログラム単位で作成された複数の上記処理パターン別処理手順テーブル に基づいて、処理パターン別の連結処理手順を解析し、複数の上記処理パターン別 処理手順テーブルのパターンを連結した連結処理パターンを示す処理パターン別 連結処理手順テーブルを作成する処理パターン別連結処理手順解析処理手段を備 えること [4] Multiple processing pattern table for each processing pattern created for each source program Based on the processing pattern, the processing procedure for each processing pattern is analyzed, and a processing sequence table for each processing pattern indicating a processing sequence table for connecting the processing procedure table patterns for each of the above processing patterns is generated. Provide analytical processing means
を特徴とする請求の範囲第 2項記載のプログラム処理パターン自動解析処理装置  The program processing pattern automatic analysis processing device according to claim 2, characterized in that
[5] 上記処理パターン別連結処理手順テーブルを編集し、連結処理パターン別に処 理手順を並べたドキュメントを作成する、及び Z又は、コンピュータ環境にて実行され たプログラムのトレース情報をプログラム開発支援ツール力 受け取り、上記処理パタ ーン別連結処理手順テーブルとの照合を行 、、プログラムステップベースの連結処 理パターン別のカバレッジ情報を算出する処理パターン別連結処理手順テーブル 編集処理手段を備えること [5] Edit the linkage process procedure table for each process pattern, create a document that lists the process procedures according to the linkage process pattern, and program development support tool for trace information of programs executed in Z or computer environment A process pattern-based concatenation process procedure table for calculating coverage information for each program process-based concatenation process pattern, and comparing with the process pattern concatenation process procedure table.
を特徴とする請求の範囲第 4項記載のプログラム処理パターン自動解析処理装置  5. The program processing pattern automatic analysis processing device according to claim 4,
[6] ソースプログラムコードに記述された処理手順を自動的に解析するプログラム処理 パターン自動解析処理方法であって、 [6] A program processing pattern automatic analysis processing method for automatically analyzing a processing procedure described in a source program code,
コンピュータ力 入力されたソースプログラムに含まれる入り組んだ分岐節をそれぞ れ独立した分岐節として捉え、当該独立した分岐節の処理手順を設定することによつ て分岐条件を解析し、分岐条件が真の処理及び偽の処理にっ 、てのそれぞれの処 理手順を解析した解析結果を示す管理テーブルを作成する分岐条件解析処理工程 と、  Computer power Complicated branch clauses included in the input source program are regarded as independent branch clauses, branch conditions are analyzed by setting the processing procedure of the independent branch clauses, and branch conditions are determined. A branch condition analysis processing step for creating a management table indicating an analysis result obtained by analyzing each processing procedure by the true processing and the false processing;
上記コンピュータが、上記分岐条件解析処理工程にて作成された上記管理テープ ルを所定の記憶手段に記憶させる管理テーブル記憶工程とを備えること  A management table storage step for storing the management table created in the branch condition analysis processing step in a predetermined storage means;
を特徴とするプログラム処理パターン自動解析処理方法。  A program processing pattern automatic analysis processing method characterized by the above.
[7] ソースプログラムコードに記述された処理手順を自動的に解析するコンピュータ実 行可能なプログラム処理パターン自動解析処理プログラムであって、 [7] A computer-executable program processing pattern automatic analysis processing program that automatically analyzes processing procedures described in source program code,
上記コンピュータを、  The above computer
入力されたソースプログラムに含まれる入り組んだ分岐節をそれぞれ独立した分岐 節として捉え、当該独立した分岐節の処理手順を設定することによって分岐条件を 解析し、分岐条件が真の処理及び偽の処理にっ 、てのそれぞれの処理手順を解析 した解析結果を示す管理テーブルを作成する分岐条件解析手段、及び、 Independent branching of complicated branching clauses included in the input source program Management that shows the analysis result of analyzing each processing procedure by analyzing the branching condition by setting the processing procedure of the independent branching clause and analyzing the branching condition by setting the branching procedure as true and false Branch condition analysis means for creating a table, and
上記分岐条件解析手段にて作成された上記管理テーブルを所定の記憶手段に記 憶させる管理テーブル記憶手段として機能させること  Function as a management table storage means for storing the management table created by the branch condition analysis means in a predetermined storage means
を特徴とするプログラム処理パターン自動解析処理プログラム。  Program processing pattern automatic analysis processing program characterized by
PCT/JP2006/323434 2005-12-22 2006-11-24 Program processing pattern automatic analysis processing device WO2007072652A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007526095A JPWO2007072652A1 (en) 2005-12-22 2006-11-24 Program processing pattern automatic analysis processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-369631 2005-12-22
JP2005369631 2005-12-22

Publications (1)

Publication Number Publication Date
WO2007072652A1 true WO2007072652A1 (en) 2007-06-28

Family

ID=38188435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/323434 WO2007072652A1 (en) 2005-12-22 2006-11-24 Program processing pattern automatic analysis processing device

Country Status (2)

Country Link
JP (1) JPWO2007072652A1 (en)
WO (1) WO2007072652A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10226705B2 (en) 2004-06-28 2019-03-12 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
JP2020170221A (en) * 2019-04-01 2020-10-15 カシオ計算機株式会社 Program for converting program, information processing apparatus and information processing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0291766A (en) * 1988-09-29 1990-03-30 Toshiba Corp Control dependence analyzing system
JPH09128266A (en) * 1995-10-31 1997-05-16 Fujitsu Ltd Device and method for retrieving source program route
JPH10232795A (en) * 1997-02-19 1998-09-02 Hitachi Ltd Software component combination test method
JPH10320190A (en) * 1997-05-20 1998-12-04 Fujitsu Ltd Source program route retrieving device and medium recording retrieving program
JP2004145381A (en) * 2002-10-21 2004-05-20 Hitachi Ltd Static analysis system for source program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6415836A (en) * 1987-07-10 1989-01-19 Mitsubishi Electric Corp Detection system for comprehensiveness of software test
JPH07311694A (en) * 1994-05-16 1995-11-28 Hitachi Ltd Analyzing method for program execution path
JP3418544B2 (en) * 1998-03-24 2003-06-23 日立ソフトウエアエンジニアリング株式会社 Automatic test data generator for programs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0291766A (en) * 1988-09-29 1990-03-30 Toshiba Corp Control dependence analyzing system
JPH09128266A (en) * 1995-10-31 1997-05-16 Fujitsu Ltd Device and method for retrieving source program route
JPH10232795A (en) * 1997-02-19 1998-09-02 Hitachi Ltd Software component combination test method
JPH10320190A (en) * 1997-05-20 1998-12-04 Fujitsu Ltd Source program route retrieving device and medium recording retrieving program
JP2004145381A (en) * 2002-10-21 2004-05-20 Hitachi Ltd Static analysis system for source program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KURATA K.: "Muda naku Kakujitsu ni Test suru", NIKKEI SYSTEM KOCHIKU, no. 124, 26 July 2003 (2003-07-26), pages 158 - 173, XP003014277 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10226705B2 (en) 2004-06-28 2019-03-12 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
JP2020170221A (en) * 2019-04-01 2020-10-15 カシオ計算機株式会社 Program for converting program, information processing apparatus and information processing method
JP7306026B2 (en) 2019-04-01 2023-07-11 カシオ計算機株式会社 Program for converting program, information processing apparatus, and information processing method

Also Published As

Publication number Publication date
JPWO2007072652A1 (en) 2009-05-28

Similar Documents

Publication Publication Date Title
CN104317589B (en) A kind of code automatic generation method and device for being used to load dynamic link library
JP2007515013A (en) Software code migration and conversion equipment from any source platform to any target platform
US7702958B2 (en) Auto-recording tool for developing test harness files
US20110213757A1 (en) System and method for automatic standardization and verification of system design requirements
CN103838584B (en) The development approach and device of a kind of mobile terminal application
CN101071378A (en) Source code generation method, apparatus and program
CN101561777A (en) System and method for realizing coverage rate test
Benduhn et al. Migration from annotation-based to composition-based product lines: towards a tool-driven process
CN106415504A (en) Test case generation system and recording medium wherein test case is recorded
Linsbauer et al. Recovering feature-to-code mappings in mixed-variability software systems
CN105094939A (en) Method for realizing static analysis of software source files based on Makefile automatic compilation technology
CN115905031B (en) Test case recommendation method based on accurate quality assurance system
JP2007058368A (en) Collating device for program
US20130007697A1 (en) Program creation support apparatus, program, and information system
Bahaweres et al. Behavior-driven development (BDD) Cucumber Katalon for Automation GUI testing case CURA and Swag Labs
WO2007072652A1 (en) Program processing pattern automatic analysis processing device
JP4835859B2 (en) State transition diagram creation device and state transition diagram creation method
US9612829B2 (en) System and method for pattern based services extraction
CN102591779A (en) Establishing method for workflow-based universal software testing process model
Jahanbin et al. Test model generation using equivalence partitioning
Narayan The role of AI in software engineering and testing
JP2008140263A (en) Unit test support device
CN108563560A (en) Calabash-based client application program demand drive test method
JP4767309B2 (en) Information processing apparatus, information processing method, and computer program
JP2009205242A (en) Automatic generation device of program for verification, and method and program thereof

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2007526095

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06833238

Country of ref document: EP

Kind code of ref document: A1