WO2007072652A1 - Dispositif de traitement d’analyse automatique de motif de traitement de programme - Google Patents
Dispositif de traitement d’analyse automatique de motif de traitement de programme Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural 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
Ce dispositif de traitement d’analyse automatique de motif de traitement de programme (10) comprend une unité de traitement d’analyse de condition de branchement (23) traitant chacune des branches intriquées figurant dans un programme source PR1 fournie en tant que branche indépendante et définissant une procédure de traitement de la branche indépendante pour analyser la condition de branchement. L’unité de traitement d’analyse de condition de branchement (23) crée une table de gestion TB1 indiquant le résultat de l’analyse de la procédure de traitement de chacun des processus exécutés lorsque la condition de branchement est vraie et fausse. La procédure de traitement décrite dans le code du programme source est analysée automatiquement. Ainsi, le dispositif de traitement d’analyse automatique de motif de traitement de programme (10) diminue les erreurs d’origine humaine, améliore l’efficacité des développements de programmes et de systèmes et constitue également un moyen de mesure quantitative de la qualité, augmentant la qualité des programmes et des systèmes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007526095A JPWO2007072652A1 (ja) | 2005-12-22 | 2006-11-24 | プログラム処理パターン自動解析処理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005369631 | 2005-12-22 | ||
JP2005-369631 | 2005-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007072652A1 true WO2007072652A1 (fr) | 2007-06-28 |
Family
ID=38188435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/323434 WO2007072652A1 (fr) | 2005-12-22 | 2006-11-24 | Dispositif de traitement d’analyse automatique de motif de traitement de programme |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2007072652A1 (fr) |
WO (1) | WO2007072652A1 (fr) |
Cited By (2)
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 (ja) * | 2019-04-01 | 2020-10-15 | カシオ計算機株式会社 | プログラムを変換するためのプログラム、情報処理装置、及び、情報処理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0291766A (ja) * | 1988-09-29 | 1990-03-30 | Toshiba Corp | 制御依存解析方式 |
JPH09128266A (ja) * | 1995-10-31 | 1997-05-16 | Fujitsu Ltd | 原始プログラム経路検索装置及びその検索方法 |
JPH10232795A (ja) * | 1997-02-19 | 1998-09-02 | Hitachi Ltd | ソフトウェア部品組み合わせテスト方法 |
JPH10320190A (ja) * | 1997-05-20 | 1998-12-04 | Fujitsu Ltd | ソースプログラム経路検索装置および検索プログラムを記録した媒体 |
JP2004145381A (ja) * | 2002-10-21 | 2004-05-20 | Hitachi Ltd | ソースプログラムの静的解析装置 |
Family Cites Families (3)
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 (ja) * | 1994-05-16 | 1995-11-28 | Hitachi Ltd | プログラム実行パスの解析方法 |
JP3418544B2 (ja) * | 1998-03-24 | 2003-06-23 | 日立ソフトウエアエンジニアリング株式会社 | プログラムのテストデータ自動生成装置 |
-
2006
- 2006-11-24 JP JP2007526095A patent/JPWO2007072652A1/ja active Pending
- 2006-11-24 WO PCT/JP2006/323434 patent/WO2007072652A1/fr active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0291766A (ja) * | 1988-09-29 | 1990-03-30 | Toshiba Corp | 制御依存解析方式 |
JPH09128266A (ja) * | 1995-10-31 | 1997-05-16 | Fujitsu Ltd | 原始プログラム経路検索装置及びその検索方法 |
JPH10232795A (ja) * | 1997-02-19 | 1998-09-02 | Hitachi Ltd | ソフトウェア部品組み合わせテスト方法 |
JPH10320190A (ja) * | 1997-05-20 | 1998-12-04 | Fujitsu Ltd | ソースプログラム経路検索装置および検索プログラムを記録した媒体 |
JP2004145381A (ja) * | 2002-10-21 | 2004-05-20 | Hitachi Ltd | ソースプログラムの静的解析装置 |
Non-Patent Citations (1)
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)
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 (ja) * | 2019-04-01 | 2020-10-15 | カシオ計算機株式会社 | プログラムを変換するためのプログラム、情報処理装置、及び、情報処理方法 |
JP7306026B2 (ja) | 2019-04-01 | 2023-07-11 | カシオ計算機株式会社 | プログラムを変換するためのプログラム、情報処理装置、及び、情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2007072652A1 (ja) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317589B (zh) | 一种用于加载动态链接库的代码自动生成方法及装置 | |
JP2007515013A (ja) | あらゆるソースプラットフォームからあらゆるターゲットプラットフォームへのソフトウェアコードのマイグレーション及び変換装置 | |
US20110213757A1 (en) | System and method for automatic standardization and verification of system design requirements | |
CN103838584B (zh) | 一种移动终端应用的开发方法及装置 | |
CN101071378A (zh) | 源代码生成方法、设备和程序 | |
Benduhn et al. | Migration from annotation-based to composition-based product lines: towards a tool-driven process | |
CN106415504A (zh) | 测试用例生成系统及记录测试用例的记录介质 | |
Linsbauer et al. | Recovering feature-to-code mappings in mixed-variability software systems | |
Bahaweres et al. | Behavior-driven development (BDD) Cucumber Katalon for Automation GUI testing case CURA and Swag Labs | |
US9116708B2 (en) | Program creation support apparatus, program, and information system | |
WO2007072652A1 (fr) | Dispositif de traitement d’analyse automatique de motif de traitement de programme | |
CN104375932A (zh) | 一种Java卡代码覆盖率分析方法和装置 | |
JP4835859B2 (ja) | 状態遷移図作成装置および状態遷移図作成方法 | |
KR102106696B1 (ko) | 소프트웨어 검사 장치 및 방법 | |
Narayan | The role of AI in software engineering and testing | |
Jahanbin et al. | Test model generation using equivalence partitioning | |
JP4888663B2 (ja) | 検証用プログラム自動生成装置、その方法及びプログラム | |
JP2008140263A (ja) | 単体試験支援装置 | |
CN108563560A (zh) | 一种基于Calabash的客户端应用程序需求驱动测试方法 | |
Tiwari et al. | Combining Model-Based Testing and Automated Analysis of Behavioural Models using GraphWalker and UPPAAL | |
von Detten | Archimetrix: A tool for deficiency-aware software architecture reconstruction | |
CN109408392A (zh) | 基于持续集成技术的软件集成测试方法 | |
CN115542882B (zh) | 一种控制器接口配置方法及装置 | |
JP3113048B2 (ja) | ソフトウェア部品合成装置 | |
CN113672239B (zh) | 基于语言分析的视觉算法包开发方法 |
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 |