WO2010044150A1 - プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法 - Google Patents

プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法 Download PDF

Info

Publication number
WO2010044150A1
WO2010044150A1 PCT/JP2008/068652 JP2008068652W WO2010044150A1 WO 2010044150 A1 WO2010044150 A1 WO 2010044150A1 JP 2008068652 W JP2008068652 W JP 2008068652W WO 2010044150 A1 WO2010044150 A1 WO 2010044150A1
Authority
WO
WIPO (PCT)
Prior art keywords
change
code
management information
post
program
Prior art date
Application number
PCT/JP2008/068652
Other languages
English (en)
French (fr)
Inventor
春久 佐久間
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2010533749A priority Critical patent/JPWO2010044150A1/ja
Priority to PCT/JP2008/068652 priority patent/WO2010044150A1/ja
Publication of WO2010044150A1 publication Critical patent/WO2010044150A1/ja
Priority to US13/064,737 priority patent/US20110209135A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • the present invention relates to a program change management device, a program change management program, and a program change management method, and more particularly, to a program change management device, a program change management program, and a program change management method for managing program code changes.
  • Patent Documents 1 to 3 Japanese Patent Laid-Open No. 5-80999 JP-A-5-91550 JP-A-5-158765
  • the technology for managing the source code version of the above program is only the source code text to be managed.
  • the difference between revisions that can be extracted by this technology is the result of mechanical comparison of two revisions of source code as a text file, so the module structure and grammar of the computer language being used are completely considered. Absent.
  • the changes in the two revisions according to this technique are simply indicated by the line numbers from the beginning, and the change contents indicate the text to be deleted or added based on the line numbers. Only.
  • This case has been made in view of these points, and an object thereof is to provide a program change management device, a program change management program, and a program change management method for managing the contents of program changes for each change.
  • the disclosed program change management apparatus stores a pre-change code storage unit that stores a pre-change code that is a program code before the change is made, and stores a post-change code that is a program code after the change is made
  • Pre-change code reading means for reading, post-change code reading means for reading the post-change code stored in the post-change code storage means, the pre-change code read by the pre-change code read means, and the change
  • a and change management information storage unit changes the management information generation means for storing, and a change management information output means for outputting the change management information stored in the change management information storage means.
  • the pre-change code stored in the pre-change code storage means is read by the pre-change code reading means.
  • the post-change code reading means reads the post-change code stored in the post-change code storage means.
  • the change management information generating means generates change management information based on the pre-change code and the post-change code, and the generated change management information is stored in the change management information storage means.
  • the change management information output means outputs the change management information stored in the change management information storage means.
  • FIG. 1 It is a figure which shows the outline
  • FIG. 1 is a diagram showing an outline of the present embodiment.
  • the program change management apparatus 1 shown in FIG. 1 has a change management information generation function for generating change management information.
  • the program change management device 1 includes a pre-change code reading means 1a, a post-change code reading means 1b, a change management information generating means 1c, a change management information output means 1d, a pre-change code storage means 1e, a post-change code storage means 1f and a change. It has management information storage means 1g.
  • the pre-change code reading means 1a reads the pre-change code stored in the pre-change code storage means 1e.
  • the change means that a part of the program code is corrected by, for example, revision by debugging or version-up of the program.
  • the post-change code reading means 1b reads the post-change code stored in the post-change code storage means 1f.
  • the change management information generating unit 1c generates change management information based on the pre-change code read by the pre-change code reading unit 1a and the post-change code read by the post-change code read unit 1b.
  • the change management information generation unit 1c stores the generated change management information in the change management information storage unit 1g.
  • the pre-change code or other program code can be changed using the generated change management information.
  • the change management information output means 1d outputs the change management information stored in the change management information storage means 1g. Thereby, in another computer, the code before a change or another program code can be changed using the output change management information.
  • the pre-change code storage means 1e stores a pre-change code that is a program code before the change is made.
  • the pre-change code is a source code of a program such as a BIOS (Basic Input / Output System), an application, and an OS (Operating System).
  • the type of program language is not limited as long as the corresponding change location in the program code can be automatically specified.
  • source code created in a high-level language such as FORTRAN (registered trademark), COBOL (registered trademark), C language, C ++, Java (registered trademark), Lisp, or assembly language (assembly language) Can be managed.
  • the pre-change code is created by another computer, is acquired from the outside by the program change management apparatus 1 based on a user instruction of the program change management apparatus 1 or based on the processing of the program change management apparatus 1, and the pre-change code storage means 1e.
  • the present invention is not limited thereto, and the pre-change code stored in the pre-change code storage unit 1e may be created using the program change management device 1.
  • the post-change code storage means 1f stores a post-change code that is a program code after the change is made.
  • the post-change code is, for example, the same program as the pre-change code, and is a revised version of the program code by debugging or upgrading the pre-change code. Further, it is sufficient that the changed code can be subjected to the same change even if it is not the same program as the pre-change code. It is assumed that the post-change code is written in the same language as the pre-change code.
  • the post-change code is created by another computer, similar to the pre-change code, and is acquired from the outside by the program change management apparatus 1 based on a user instruction of the program change management apparatus 1 or based on processing of the program change management apparatus 1. And stored in the after-change code storage means 1f.
  • the present invention is not limited to this, and the post-change code stored in the post-change code storage unit 1 f may be created using the program change management device 1.
  • the change management information storage unit 1g stores change management information indicating the content of the change made to the pre-change code.
  • the change management information is information indicating the content of the change applied to the pre-change code obtained by extracting the difference between the pre-change code and the post-change code.
  • the pre-change code stored in the pre-change code storage means 1e is read by the pre-change code reading means 1a.
  • the post-change code reading means 1b reads the post-change code stored in the post-change code storage means 1f.
  • the change management information generating unit 1c generates change management information based on the pre-change code and the post-change code, and the generated change management information is stored in the change management information storage unit 1g.
  • the change management information output means 1d outputs the change management information stored in the change management information storage means 1g.
  • FIG. 2 is a diagram showing a hardware configuration of the source code management device.
  • the entire source code management apparatus 100 shown in FIG. 2 is controlled by a CPU (Central Processing Unit) 101.
  • a RAM (Random Access Memory) 102, a hard disk drive (HDD: Hard Disk Drive) 103, a graphic processing device 104, an input interface 105, and a communication interface 106 are connected to the CPU 101 via a bus 107.
  • the RAM 102 temporarily stores at least part of an OS program and application programs to be executed by the CPU 101.
  • the RAM 102 stores various data necessary for processing by the CPU 101.
  • the HDD 103 stores an OS and application programs.
  • a monitor 11 is connected to the graphic processing device 104.
  • the graphic processing device 104 displays an image on the screen of the monitor 11 in accordance with a command from the CPU 101.
  • a keyboard 12 and a mouse 13 are connected to the input interface 105.
  • the input interface 105 transmits a signal transmitted from the keyboard 12 or the mouse 13 to the CPU 101 via the bus 107.
  • the communication interface 106 can be connected to a network (not shown).
  • the communication interface 106 can send and receive data to and from other computers via a network.
  • FIG. 3 is a block diagram showing the configuration of the source code management device.
  • the source code management device 100 shown in FIG. 3 has a change management information generation function for generating change management information and a post-change code generation function for generating post-change code.
  • the source code management device 100 includes a pre-change code reading unit 111, a post-change code read unit 112, a change management information generation unit 113, a difference file output unit 122, a pre-change code storage unit 130, a post-change code storage unit 140, a change management An information storage unit 150 is included.
  • the pre-change code reading unit 111 reads the pre-change code stored in the pre-change code storage unit 130.
  • the post-change code reading unit 112 reads the post-change code stored in the post-change code storage unit 140.
  • the change management information generation unit 113 generates change management information based on the pre-change code read by the pre-change code read unit 111 and the post-change code read by the post-change code read unit 112. Next, the change management information generation unit 113 causes the change management information storage unit 150 to store the generated change management information. Thereby, the code before change or the source code of another program can be changed using the generated change management information.
  • the difference file writing unit 121 reads the change management information stored in the change management information storage unit 150. Next, the difference file writing unit 121 generates a difference file having change management information based on the read change management information. Next, the difference file writing unit 121 stores the generated difference file in the difference file storage unit 160.
  • the difference file output unit 122 outputs the difference file stored in the difference file storage unit 160.
  • This difference file has all or part of the change management information stored in the change management information storage unit 150. Thereby, since the change management information is output by the differential file output unit 122, the code before change or the source code of another program can be changed using the output change management information in another computer.
  • the difference file output unit 122 functions as a change management information output unit.
  • the difference file reading unit 123 reads a difference file having change management information stored in the difference file storage unit 160.
  • the difference file reading unit 123 functions as a change management information reading unit.
  • the change management information is read from the difference file storage unit 160 by the difference file reading unit 123, but is not limited thereto, and may be read from the change management information storage unit 150. In this case, the change management information is read directly from the change management information storage unit 150 or read from a change management table (described later in FIG. 6).
  • the post-change code generation unit 124 generates and generates a post-change code based on the pre-change code read by the pre-change code reading unit 111 and the change management information read by the difference file read unit 123.
  • the generated and changed code is stored in the generated and changed code storage unit 170.
  • the post-change code output unit 125 outputs the post-generation-change code stored in the post-generation-change code storage unit 170.
  • the pre-change code storage unit 130 stores a pre-change code that is a source code of a program before the change is performed. This pre-change code is a source code of a program such as a BIOS, an application, and an OS, for example.
  • the type of program language is not limited, provided that the location of the change can be automatically specified for both the pre-change code and the post-change code. Therefore, the source code management device 100 according to the present embodiment can manage source code created in a high-level language or assembly language such as FORTRAN, COBOL, C language, C ++, Java, and Lisp.
  • the pre-change code is generated by another computer, acquired from the outside by the source code management device 100 based on an instruction of the user of the source code management device 100 or based on processing of the source code management device 100, and the pre-change code storage unit 130.
  • the present invention is not limited to this, and the pre-change code stored in the pre-change code storage unit 130 may be created using the source code management device 100.
  • the post-change code storage unit 140 stores a post-change code that is a program code after the change is made.
  • This post-change code is the source code of the program, like the pre-change code.
  • the post-change code is, for example, the same program as the pre-change code, and is the source code of a revised program by upgrading the pre-change code. Moreover, even if the post-change code is not the same program as the pre-change code, it is sufficient if the source code of both can be changed. It is assumed that the post-change code is written in the same language as the pre-change code.
  • the post-change code is created by another computer in the same manner as the pre-change code, and is acquired from the outside by the source code management apparatus 100 based on a user instruction of the source code management apparatus 100 or based on processing of the source code management apparatus 100. And stored in the post-change code storage unit 140. Not limited to this, the changed code stored in the changed code storage unit 140 may be created using the source code management device 100.
  • the change management information storage unit 150 stores change management information indicating the content of the change made to the pre-change code.
  • the change management information is information indicating the content of the change applied to the pre-change code obtained by extracting the difference between the pre-change code and the post-change code.
  • the change management information is a change location information indicating a change location, which is a location where the code is changed by the change in the pre-change code, and a code changed by the change in the change location of the pre-change code.
  • Change code information indicating a change code change code information indicating a change code
  • change operation information indicating a change operation that is a change operation at a change location of the code before change change operation information indicating a change operation that is a change operation at a change location of the code before change
  • priority information indicating the priority of the change is included.
  • the change operation indicates the type of operation performed on the change place by the change.
  • the change operation includes, for example, code addition, code deletion, code correction (overwriting), and the like.
  • the difference file storage unit 160 stores the difference file generated by the difference file writing unit 121 based on the change management information. This difference file has all or part of the change management information.
  • the difference file storage unit 160 functions as a change management information storage unit together with the change management information storage unit 150.
  • the post-generation / change code storage unit 170 stores the post-generation / change code generated by changing the pre-change code based on the change management information. Next, an example of source code used in this embodiment will be described.
  • a program code created by an assembler of an Intel (registered trademark) 86 processor is used.
  • the present invention is not limited to this, and a program created in another program language is used. It can also be applied to code.
  • FIG. 4 is a diagram showing an example of the source code before change.
  • the pre-change source code (default source code) 131 shown in FIG. 4 is an arbitrary source code including the code to be changed. Further, a pre-change source file indicating the contents of the pre-change source code 131 is stored in the HDD 103 that functions as the pre-change code storage unit 130.
  • FIG. 5 is a diagram illustrating an example of the changed source code.
  • the post-change source code 141 shown in FIG. 5 is the source code to which the target change has been applied.
  • “xor ax” is shown between the “abcProc PROC” line and the “call xyzProc” line as shown in bold italicized characters as compared with the source code 131 before change described above in FIG. 4.
  • Ax is added.
  • a changed source file indicating the contents of the changed source code 141 is stored in the HDD 103 functioning as the changed code storage unit 140.
  • the modified source code 141 of the present embodiment is stored in the HDD 103, but is not limited thereto, and may be stored in the RAM 102 or other storage device. Next, an example of the data structure of data used in this embodiment will be described.
  • FIG. 6 is a diagram illustrating a configuration example of the change management table.
  • the change management table 151 shown in FIG. 6 is created and managed by the source code management apparatus 100 (described above in FIG. 2) and stored in the HDD 103 (described above in FIG. 2).
  • the HDD 103 according to the present embodiment functions as the change management information storage unit 150.
  • the change management table 151 is a table that stores change management information that defines changes between the source code 131 before change and the source code 141 after change.
  • “change ID” which is an item indicating a code for uniquely specifying a change between the source code 131 before the change and the source code 141 after the change, and a procedure to be changed are uniquely specified.
  • “Target procedure” which is an item indicating the name of the procedure (procedure) assigned to execute
  • Segment which is an item indicating the name of the segment to which the procedure to be changed belongs
  • change in the procedure to be changed “Change location” which is an item indicating information for specifying the location to be changed, “Change operation” which is an item indicating the type of change, “Code” which is an item indicating the code to be changed, and the data file of the source code 131 before the change
  • “Default file” which is an item indicating the name and its location and when there are multiple changes Is an item showing an earlier priority "priority” is provided.
  • Information arranged in the horizontal direction of each item is associated with each other to constitute change management information.
  • the change ID is a code set for each change in order to identify each change in the source code in the process executed by the source code management device 100.
  • An arbitrary character string can be used as the change ID, but the change ID is determined so that the change can be uniquely specified for each change.
  • the target procedure is the name of the procedure to be changed in the source code 131 before change and the source code 141 after change.
  • the segment is the name of the segment to which the procedure to be changed belongs.
  • the change location is information indicating a location to be changed in the procedure to be changed.
  • the change location of the present embodiment has a code near the change target and a value indicating the positional relationship between the code and the change target. In this value, for example, “0” indicates that “the part before the code is to be changed” and “1” indicates that “the part after the code is to be changed”. In the example of FIG. 6, “before” of “call xyzProc” shown in FIG. 5 indicates that it is a change target. Note that the change place is not limited to this, and can be set to specify the place to be changed in any format as necessary.
  • the change operation is information indicating the type of change.
  • “0” indicating addition, “1” indicating deletion, “2” indicating overwriting, and the like can be set.
  • the change operation is not limited to this, and a change operation can be set as necessary, and the set change operation can be assigned to an arbitrary value.
  • the code is a code that changes the target procedure.
  • the change indicated by the change operation is applied to the change place of the procedure using this code.
  • the default file indicates the data file name of the source code 131 before change and the position of the data file.
  • the path of the data file of the source code 131 before change is set.
  • Priority indicates the superiority or inferiority of changes when there are multiple changes for the same change location. For example, a larger numerical value is important for this priority, and it is assumed that the same change place is changed. In this case, the normal setting value “ ⁇ 1” is set for the normal change, and for the more important change, a larger value (for example, “0”, “1”, “2” etc.) is set.
  • the change management information is created by a change management information generation process (described later in FIG. 9) and stored in the HDD 103. Further, the change management information is read from the HDD 103 by a post-change code generation process (described later in FIGS. 11 and 12), and is used to generate a post-change source code 171 (described later in FIG. 10).
  • the change management table 151 is stored in the HDD 103, but is not limited thereto, and may be stored in the RAM 102 or other storage device. Next, an example of a file used in this embodiment will be described.
  • FIG. 7 is a diagram showing an example of a difference file.
  • the difference file 161 shown in FIG. 7 is based on change management information (described above in FIG. 6) generated from the source code 131 before change (described above in FIG. 4) and the source code 141 after change (described above in FIG. 5).
  • the difference file 161 is stored in the HDD 103 that functions as the difference file storage unit 160.
  • the difference file 161 indicates a change to the procedure “abcProc” defined in the segment “ijkSegment” included in the source code 131 before change described above with reference to FIG.
  • the source code management device 100 applies the difference file 161 to the source code 131 before change, thereby generating a source code 171 after change (described later in FIG. 10).
  • the keyword “Change” on the first line indicates the start of the definition of one change, and a unique name is assigned to the change.
  • the keyword “EndOfChange” on the ninth line indicates the end of the definition of one change.
  • one change with the name of change “aPatchToAbcProc” is defined by a block sandwiched between “Change” and “EndOfChange” on the ninth line.
  • the procedure to be changed is specified by the keyword “Procedure” on the second line. Here, it is instructed to change the procedure named “abcProc”.
  • the segment where the procedure to be changed is defined is specified by the keyword “Segment” on the third line.
  • the procedure to be changed is defined in a segment named “ijkSegment”.
  • the change part is specified by the keyword “At Before” on the fourth line. Here, it is shown that the change part of this change is before the code “call xyzProc”.
  • the keyword “File” on the eighth line indicates the data file name and the data file position of the source code 131 before the change including the changed part, that is, “abcProc”.
  • the path of the data file of the source code 131 before change is shown.
  • the priority is shown in the upper right of the difference file 161 shown in FIG.
  • the priority is set to “ ⁇ 1”.
  • the priority is set to “ ⁇ 1” as a normal setting value, and a larger value (for example, 0, 1, 2,8) Is set for a change with a higher degree of priority. It shall be.
  • a plurality of changes having the same change target and change location are defined, it is possible to specify the priority order of the plurality of changes applied by the source code management device 100.
  • the difference file 161 of the present embodiment is stored in the HDD 103, but is not limited thereto, and may be stored in the RAM 102 or other storage device. Next, processing executed in the present embodiment will be described.
  • FIG. 8 is a diagram showing input / output when a difference file is generated.
  • the source code management apparatus 100 executes a change management information generation process described later in FIG.
  • a difference file 161 (described above in FIG. 7) generated by the change management information generation unit 113 is output using the data file of the changed source code 141 (described above in FIG. 5) as an input.
  • FIG. 9 is a flowchart showing the procedure of the change management information generation process.
  • the change management information generation process shown in FIG. 9 is performed by inputting the data file of the source code 131 before change (described above in FIG. 4) and the data file of the source code 141 after change (described above in FIG. 5) as a difference file 161 (in FIG. 7). Is a process for outputting the above.
  • the change management information generation process is executed, for example, when the user calls the change management information generation process by operating the keyboard 12, the mouse 13, or the like.
  • the pre-change code reading unit 111 reads the data file of the pre-change source code 131 stored in the pre-change code storage unit 130 (described above in FIG. 3).
  • the changed code reading unit 112 reads the data file of the changed source code 141 stored in the changed code storage unit 140 (described above in FIG. 3).
  • Step S13 The change management information generation unit 113 extracts a difference code from the pre-change source code 131 read in step S11 and the post-change source code 141 read in step S12.
  • the change management information generation unit 113 extracts the changed code by comparing the texts of the source code 131 before change and the source code 141 after change.
  • the change management information generation unit 113 performs difference analysis based on the difference code extracted in step S13, and generates change management information. This difference analysis will be described using examples of the source code 131 before change and the source code 141 after change. 4 and 5, the change management information generation unit 113 calculates “xor” before the code “call xyzProc” in the procedure “abcProc” from the difference code extracted by comparing the texts in step S14. It is possible to obtain a result that a code of “ax, ax” is added. Further, it can be specified that the segment to which the procedure “abcProc” belongs is “ijkSegment”.
  • the change management information generation unit 113 assigns an arbitrary character string that is unique for each change, and creates change management information using this as a “change ID”.
  • the change management information generation unit 113 for the “target procedure”, “segment”, “change location”, “change operation”, and “code”, as described above, the source code 131 before change and the source code after change It is created by comparing and specifying 141 texts.
  • the change management information generation unit 113 creates the “default file” based on the file information of the data file of the source code 131 before the change.
  • the change management information generation unit 113 sets “-1” for “priority” in the case of a normal change.
  • the priority order may be specified by the user when executing the change information generation process. In the present embodiment, one change is described for convenience of explanation, but the present invention is not limited to this, and a plurality of changes may exist. When there are a plurality of changes, change management information is also generated for the number of changes.
  • Step S15 The change management information generation unit 113 obtains the result of the difference analysis in step S14 in the change management table 151 (described above in FIG. 6) stored in the change management information storage unit 150 (described above in FIG. 3). Write the change management information.
  • Step S16 The change management information generation unit 113 determines whether or not the difference analysis in step S14 has been completed for the difference code extracted in step S13. If the difference analysis has been completed for all the difference codes and there is no unanalyzed difference code, the process proceeds to step S17. On the other hand, if there is a difference code for which the difference analysis has not ended, the process proceeds to step S14.
  • Step S17 The difference file writing unit 121 reads the change management information stored in the change management table 151 stored in the change management information storage unit 150 in step S15. Next, the difference file writing unit 121 generates a difference file having change management information based on the read change management information. The difference file 161 is created for each of the difference codes extracted from each changed portion changed between the source code 131 before change and the source code 141 after change. Next, the difference file writing unit 121 writes the generated difference file 161 into the difference file storage unit 160 (described above in FIG. 3).
  • the difference file 161 is created for each changed portion between the source code 131 before change and the source code 141 after change.
  • the present invention is not limited to this, and the difference file 161 may be created by collecting all the changes between the pre-change source code and the post-change source code. One may be created together for each.
  • Step S18 The difference file output unit 122 reads the difference file 161 having the change management information from the difference file storage unit 160. Next, the difference file output unit 122 outputs the read difference file. Thereafter, the process ends.
  • FIG. 10 is a diagram showing input / output at the time of generation of the changed source code.
  • the source code management device 100 performs a post-change code generation process, which will be described later with reference to FIGS.
  • the data file of the post-change source code 171 generated by the post-change code generation unit 124 is output using the difference file 162 which is a data file indicating the contents of the change operation.
  • the pre-change source code 132 is an arbitrary source code including the code to be changed, like the pre-change source code 131 described above with reference to FIG.
  • the difference file 162 has the same format as the difference file 161 described above with reference to FIG. 7 and may be generated by the source code management device 100 executing the change management information generation process. It may be prepared in advance by being generated by the management apparatus 100 or the like. As a result, the user can use the difference file created by another user or the program supplier, and the source code of the other program having the same program source code and a different version or partially the same code. Changes can be made to the code etc.
  • the post-change source code 171 is a source code in which a certain change has been made to the pre-change source code 132 as in the case of the post-change source code 141 described above with reference to FIG. Is a source code generated by applying a difference file 162 to the file.
  • FIG. 11 and FIG. 12 are flowcharts showing the procedure of the code generation process after change.
  • the code generation process after change shown in FIG. 11 and FIG. 12 is performed by inputting the data file of the source code 132 before change (described above in FIG. 10) and the difference file 162 (described above in FIG. 10) as input. ) To output the data file.
  • the post-change code generation process is executed, for example, when the user operates the keyboard 12, mouse 13 or the like to call the post-change code generation process.
  • Step S21 The difference file reading unit 123 reads the difference file 162 stored in the difference file storage unit 160 (described above in FIG. 3).
  • Step S22 The post-change code generation unit 124 extracts a difference code from the difference file 162 read in step S21.
  • the changed code generation unit 124 performs lexical analysis on the difference code. Thereby, the difference code described in the difference file 162 is extracted, and lexical analysis of each code included in the extracted difference code is performed.
  • the post-change code generation unit 124 correctly describes the difference code described in the difference file 162 in terms of each keyword, name, etc., for example, according to the format shown in FIG. Make sure.
  • Step S23 The post-change code generation unit 124 performs syntax analysis of the difference code based on the result of the lexical analysis performed in Step S22. As a result, the change ID, target procedure, and the like included in the change management information (described above in FIG. 6) are extracted from the description of the difference file (described above in FIG. 7).
  • the post-change code generation unit 124 correctly describes the difference code described in the difference file 162 based on the lexical extracted in the lexical analysis in the grammar determined according to the format shown in FIG. Make sure that it is.
  • the post-change code generation unit 124 When the correctness of the difference code described in the difference file 162 is confirmed by syntax analysis, the post-change code generation unit 124 generates change management information indicating the change contents interpreted according to the grammar.
  • change management information indicating the change contents interpreted according to the grammar.
  • one change is described for convenience of explanation, but the present invention is not limited to this, and a plurality of changes may exist. When there are a plurality of changes, change management information is also generated for the number of changes.
  • Step S24 The post-change code generation unit 124 obtains the result of the syntax analysis in step S23 in the change management table 151 (described above in FIG. 6) stored in the change management information storage unit 150 (described above in FIG. 3). Write the change management information.
  • the pre-change code reading unit 111 reads the data file of the pre-change source code 132 stored in the pre-change code storage unit 130 (described above in FIG. 3).
  • the pre-change code reading unit 111 can read the pre-change source code 132 based on the “default file” of the change management information.
  • Step S31 The post-change code generation unit 124 reads the pre-change source read in Step S25 (described above in FIG. 11) based on the change management information written in the change management table 151 (described above in FIG. 6).
  • the code 132 to be changed is searched for the code 132, and one of the codes extracted by the search is selected. This selection is performed in order from the beginning of the source code 132 before the change. However, when there are a plurality of changes, the selection is not limited to this, and the selection can be made in an order determined by an arbitrary method.
  • Step S32 The post-change code generation unit 124 performs the change operation indicated by the change management information written in the change management table 151 for the code retrieved in step S31 of the pre-change source code 132 read in step S25. Apply.
  • the post-change code generation unit 124 acquires the pre-change source code 132 read by the pre-change code reading unit 111 based on the “default file” of the change management information, and the “target procedure”, “segment” ”Is searched for the code to be changed in the pre-change source code 132.
  • the post-change code generation unit 124 performs a change operation with the change code on the “change place” where the change is made.
  • “xor ax, ax” is added before “call xyzProc”.
  • the changed code generation unit 124 When the changed code generation unit 124 performs a change operation, if there are a plurality of change operations for the same portion of the source code to be changed, a change operation with a higher priority has already been performed. Do not perform any change operation. Thereby, it is possible to prevent a conflict between the change operations.
  • Step S33 The post-change code generation unit 124 determines whether or not all the changes included in the change management information written in the change management table 151 have been completed. If all the changes have been completed, the process proceeds to step S34. On the other hand, if there is an unfinished change, the process proceeds to step S31.
  • Step S34 The post-change code generation unit 124 writes the post-change source code 171 obtained as a result of the change operation in step S32 in the post-change / code storage unit 170 (described above in FIG. 3). As a result, all the changing operations indicated by the difference file 161 are performed on the changed source code 171.
  • Step S35 The post-change code output unit 125 reads the post-change source code 171 generated in step S34 from the post-change code storage unit 170. Next, the after-change code output unit 125 outputs the read after-change source code 171. Thereafter, the process ends.
  • the source code management device 100 has the above-described change management information generation function and post-change code generation function.
  • the present invention is not limited to this, and either the change management information generation function or the post-change code generation function. You may have only one.
  • a software manufacturer can use a computer having a change management information generation function to generate change management information for each change target from the code before change and the code after change, and distribute it to users.
  • the change management information generation unit 113 generates change management information based on the pre-change code and the post-change code. Since this change management information can be used to manage changes independently for each change while eliminating the influence of other changes, management of changes to the source code of the program becomes easy.
  • change management information is generated independently for each change, changes made independently of each other in different parts of the same program are converted into pre-change code using change management information corresponding to each change. Changes can be made.
  • the source code of another program has the same segment using the generated change management information, the same change as the change between the pre-change code and the post-change code can be easily performed. be able to.
  • the change location information identifies the segment and the change location within the segment, and therefore can be automatically processed.
  • the change management information includes priority information indicating the priority of the change
  • the change management information is applied even when a plurality of changes exist for the same portion of the source code by appropriately setting the priority. Adjustments between changes can be made in advance.
  • the above processing functions can be realized by a computer.
  • a program describing the processing contents of the functions that the source code management apparatus 100 should have is provided.
  • the above processing functions are realized on the computer.
  • the program describing the processing content can be recorded on a computer-readable recording medium.
  • the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory.
  • Magnetic recording devices include HDDs, flexible disks (FD), magnetic tapes (MT) and the like.
  • Optical discs include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc-Read Only Memory), CD-R (Recordable) / RW (ReWritable), and the like.
  • Magneto-optical recording media include MO (Magneto-Optical Disk).
  • a portable recording medium such as a DVD or CD-ROM in which the program is recorded is sold. It is also possible to store the program in a server computer and transfer the program from the server computer to another computer via a network.
  • the computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.
  • the disclosed program change management device, program change management program, and program change management method have been described based on the illustrated embodiment. However, the configuration of each unit is replaced with an arbitrary configuration having the same function. Can do. In addition, any other component or process may be added to the disclosed technology. Further, the disclosed technique may be a combination of any two or more of the above-described embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 プログラムの変更を変更毎に管理する。  変更前コード読出手段(1a)は、変更前コード記憶手段(1e)に記憶されている変更前コードを読み出す。変更後コード読出手段(1b)は、変更後コード記憶手段(1f)に記憶されている変更後コードを読み出す。変更管理情報生成手段(1c)は、変更前コード読出手段(1a)によって読み出された変更前コードと変更後コード読出手段(1b)によって読み出された変更後コードとに基づいて変更管理情報を生成し、生成した変更管理情報を変更管理情報記憶手段(1g)に記憶させる。変更管理情報出力手段(1d)は、変更管理情報記憶手段(1g)に記憶されている変更管理情報を出力する。

Description

プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
 本発明は、プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法に関し、特に、プログラムコードの変更を管理するプログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法に関する。
 従来、コンピュータプログラムのソースコードの変更管理には、RCS(Revision Control System)やVSS(Visual SourceSafe)等のバージョン(version)を管理する技術が利用されている。これらのシステムを利用することで、ソフトウェア製品を構成する一群のソースコードにおける特定の時点や状態の区切り毎に、一意に付与したリビジョン(revision)によって管理することができる。また、これらを用いてプログラムのソースコードの2つのリビジョンの間の差分を抽出することができる。
 また、ソースコードの差分管理に関して、以下の特許文献1から特許文献3に示す技術が知られている。
特開平5-80999号公報 特開平5-91550号公報 特開平5-158765号公報
 しかし、上記のプログラムのソースコードのバージョンを管理する技術は、管理の対象がソースコードのテキストのみである。すなわち、この技術により抽出できるリビジョン間の差分は、2つのリビジョンのソースコードを単にテキストファイルとして機械的に比較した結果であるため、使用しているコンピュータ言語のモジュール構造や文法は全く考慮されていない。また、この技術による2つのリビジョンにおける変更箇所は、単に先頭からの行番号で示されるのみであり、また、変更内容は、行番号を基準として、削除されるテキストや追加されるテキストが示されるのみである。
 これらにより、例えば、ファイル構成の再編成が行われて行番号およびその他の変更が行われた場合等には、その再編成による変更と異なる変更が行われたソースコードから抽出された他の差分を利用して、再編成後のファイルにその変更を適用するといったプログラムのソースコードの差分の再利用ができない場合があるという問題点がある。
 本件はこのような点に鑑みてなされたものであり、プログラムの変更の内容を変更毎に管理するプログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法を提供することを目的とする。
 開示のプログラム変更管理装置は、変更が施される前のプログラムコードである変更前コードを記憶する変更前コード記憶手段と、前記変更が施された後のプログラムコードである変更後コードを記憶する変更後コード記憶手段と、前記変更前コードに施された前記変更の内容を示す変更管理情報を記憶する変更管理情報記憶手段と、前記変更前コード記憶手段に記憶されている前記変更前コードを読み出す変更前コード読出手段と、前記変更後コード記憶手段に記憶されている前記変更後コードを読み出す変更後コード読出手段と、前記変更前コード読出手段によって読み出された前記変更前コードと前記変更後コード読出手段によって読み出された前記変更後コードとに基づいて前記変更管理情報を生成し、生成した前記変更管理情報を前記変更管理情報記憶手段に記憶させる変更管理情報生成手段と、前記変更管理情報記憶手段に記憶されている前記変更管理情報を出力する変更管理情報出力手段と、を有する。
 開示のプログラム変更管理装置によれば、変更前コード読出手段により、変更前コード記憶手段に記憶されている変更前コードが読み出される。変更後コード読出手段により、変更後コード記憶手段に記憶されている変更後コードが読み出される。変更管理情報生成手段により、変更前コードと変更後コードとに基づいて変更管理情報が生成され、生成された変更管理情報が変更管理情報記憶手段に記憶される。変更管理情報出力手段により、変更管理情報記憶手段に記憶されている変更管理情報が出力される。
 開示のプログラム変更管理装置およびプログラム変更管理プログラムによれば、プログラムの変更を変更毎に管理することが可能になる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
本実施の形態の概要を示す図である。 ソースコード管理装置のハードウェア構成を示す図である。 ソースコード管理装置の構成を示すブロック図である。 変更前ソースコードの例を示す図である。 変更後ソースコードの例を示す図である。 変更管理テーブルの構成例を示す図である。 差分ファイルの例を示す図である。 差分ファイルの生成時の入出力を示す図である。 変更管理情報生成処理の手順を示すフローチャートである。 変更後ソースコードの生成時の入出力を示す図である。 変更後コード生成処理の手順を示すフローチャートである。 変更後コード生成処理の手順を示すフローチャートである。
 以下、実施の形態について、図面を参照して説明する。
 図1は、本実施の形態の概要を示す図である。図1に示すプログラム変更管理装置1は、変更管理情報を生成する変更管理情報生成機能を有する。プログラム変更管理装置1は、変更前コード読出手段1a、変更後コード読出手段1b、変更管理情報生成手段1c、変更管理情報出力手段1d、変更前コード記憶手段1e、変更後コード記憶手段1fおよび変更管理情報記憶手段1gを有する。
 変更前コード読出手段1aは、変更前コード記憶手段1eに記憶されている変更前コードを読み出す。ここで、変更とは、例えば、デバッグ(debug)やプログラムのバージョンアップ(version-up)による改訂等によって、プログラムコードの一部が修正されることをいうものとする。
 変更後コード読出手段1bは、変更後コード記憶手段1fに記憶されている変更後コードを読み出す。
 変更管理情報生成手段1cは、変更前コード読出手段1aによって読み出された変更前コードと、変更後コード読出手段1bによって読み出された変更後コードとに基づいて変更管理情報を生成する。次に、変更管理情報生成手段1cは、生成した変更管理情報を変更管理情報記憶手段1gに記憶させる。これにより、生成された変更管理情報を用いて変更前コードまたは他のプログラムコードを変更することができる。
 変更管理情報出力手段1dは、変更管理情報記憶手段1gに記憶されている変更管理情報を出力する。これにより、他のコンピュータにおいて、出力された変更管理情報を用いて変更前コードまたは他のプログラムコードを変更することができる。
 変更前コード記憶手段1eは、変更が施される前のプログラムコードである変更前コードを記憶する。この変更前コードは、例えば、BIOS(Basic Input/Output System)、アプリケーション、OS(Operating System)等のプログラムのソースコードである。
 このとき、プログラムコードにおいて対応する変更の場所を自動的に特定可能であることを条件として、プログラム言語の種類は問わない。このため、本実施の形態では、FORTRAN(登録商標)、COBOL(登録商標)、C言語、C++、Java(登録商標)、Lisp等の高級言語やアセンブリ言語(assembly language)で作成されたソースコードを管理することができる。
 また、同様に、プログラムコードにおいて対応する変更の場所を自動的に特定可能であることを条件として、ソースコードに限らず実行形式のプログラムコードを用いることができる。
 変更前コードは、他のコンピュータで作成され、プログラム変更管理装置1のユーザの指示に基づきまたはプログラム変更管理装置1の処理に基づき、プログラム変更管理装置1によって外部から取得され、変更前コード記憶手段1eに記憶される。なお、これに限らず、変更前コード記憶手段1eに記憶されている変更前コードは、プログラム変更管理装置1を用いて作成されたものであってもよい。
 変更後コード記憶手段1fは、変更が施された後のプログラムコードである変更後コードを記憶する。この変更後コードは、例えば、変更前コードと同一のプログラムであって、変更前コードのデバッグやバージョンアップ等による改訂版のプログラムコードである。また、変更後コードは、変更前コードと同一のプログラムでない場合にも、同一の変更を施すことが可能であれば足りる。変更後コードは変更前コードと同一の言語で作成されているものとする。
 変更後コードは、変更前コードと同様、他のコンピュータで作成され、プログラム変更管理装置1のユーザの指示に基づきまたはプログラム変更管理装置1の処理に基づき、プログラム変更管理装置1によって外部から取得され、変更後コード記憶手段1fに記憶される。なお、これに限らず、変更後コード記憶手段1fに記憶されている変更後コードは、プログラム変更管理装置1を用いて作成されたものであってもよい。
 変更管理情報記憶手段1gは、変更前コードに施された変更の内容を示す変更管理情報を記憶する。ここでは、変更管理情報は、変更前コードおよび変更後コードの差分を抽出して得られた、変更前コードに施された変更の内容を示す情報である。
 このようなプログラム変更管理装置1によれば、変更前コード読出手段1aにより、変更前コード記憶手段1eに記憶されている変更前コードが読み出される。変更後コード読出手段1bにより、変更後コード記憶手段1fに記憶されている変更後コードが読み出される。変更管理情報生成手段1cにより、変更前コードと変更後コードとに基づいて変更管理情報が生成され、生成された変更管理情報が変更管理情報記憶手段1gに記憶される。変更管理情報出力手段1dにより、変更管理情報記憶手段1gに記憶されている変更管理情報が出力される。
 これによって、変更管理情報生成手段1cによって変更前コードおよび変更後コードに基づいて変更管理情報が生成されるので、プログラムコードに対する変更の管理が容易になる。
 また、生成された変更管理情報を用いて他のプログラムコードに変更前コードおよび変更後コードの間の変更と同一の変更を施すことができる。
 以下、本実施の形態について図面を参照して詳細に説明する。
 図2は、ソースコード管理装置のハードウェア構成を示す図である。図2に示すソースコード管理装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106が接続されている。
 RAM102には、CPU101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
 グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
 通信インタフェース106は、図示しないネットワークに接続可能である。通信インタフェース106は、ネットワークを介して、他のコンピュータとの間でデータの送受信を行うことができる。
 以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
 図3は、ソースコード管理装置の構成を示すブロック図である。図3に示すソースコード管理装置100は、変更管理情報を生成する変更管理情報生成機能および変更後コードを生成する変更後コード生成機能を有する。ソースコード管理装置100は、変更前コード読出部111、変更後コード読出部112、変更管理情報生成部113、差分ファイル出力部122、変更前コード記憶部130、変更後コード記憶部140、変更管理情報記憶部150を有する。
 変更前コード読出部111は、変更前コード記憶部130に記憶されている変更前コードを読み出す。
 変更後コード読出部112は、変更後コード記憶部140に記憶されている変更後コードを読み出す。
 変更管理情報生成部113は、変更前コード読出部111によって読み出された変更前コードと、変更後コード読出部112によって読み出された変更後コードとに基づいて変更管理情報を生成する。次に、変更管理情報生成部113は、生成した変更管理情報を変更管理情報記憶部150に記憶させる。これにより、生成された変更管理情報を用いて変更前コードまたは他のプログラムのソースコードを変更することができる。
 差分ファイル書込部121は、変更管理情報記憶部150に記憶されている変更管理情報を読み出す。次に、差分ファイル書込部121は、読み出した変更管理情報に基づいて、変更管理情報を有する差分ファイルを生成する。次に、差分ファイル書込部121は、生成した差分ファイルを差分ファイル記憶部160に記憶させる。
 差分ファイル出力部122は、差分ファイル記憶部160に記憶されている差分ファイルを出力する。この差分ファイルは、変更管理情報記憶部150に記憶されている変更管理情報の全部または一部を有する。これにより、差分ファイル出力部122により、変更管理情報が出力されるので、他のコンピュータにおいて、出力された変更管理情報を用いて変更前コードまたは他のプログラムのソースコードを変更することができる。この差分ファイル出力部122は、変更管理情報出力手段として機能する。
 差分ファイル読出部123は、差分ファイル記憶部160に記憶されている変更管理情報を有する差分ファイルを読み出す。この差分ファイル読出部123は、変更管理情報読出手段として機能する。
 なお、本実施の形態では、変更管理情報は、差分ファイル読出部123によって差分ファイル記憶部160から読み出されるが、これに限らず、変更管理情報記憶部150から読み出されてもよい。この場合変更管理情報は、変更管理情報記憶部150から直接読み出され、または変更管理テーブル(図6において後述)から読み出される。
 変更後コード生成部124は、変更前コード読出部111によって読み出された変更前コードと差分ファイル読出部123によって読み出された変更管理情報とに基づいて、生成変更後コードを生成し、生成した生成変更後コードを生成変更後コード記憶部170に記憶させる。
 変更後コード出力部125は、生成変更後コード記憶部170に記憶されている生成変更後コードを出力する。
 変更前コード記憶部130は、変更が施される前のプログラムのソースコードである変更前コードを記憶する。この変更前コードは、例えば、BIOS、アプリケーション、OS等のプログラムのソースコードである。
 このとき、変更の対象となっているソースコードにおいて、変更前コードおよび変更後コードの両者についてその変更の場所を自動的に特定可能であることを条件として、プログラム言語の種類は問わない。このため、本実施の形態のソースコード管理装置100は、FORTRAN、COBOL、C言語、C++、Java、Lisp等の高級言語やアセンブリ言語で作成されたソースコードを管理することができる。
 また、同様に、プログラムコードにおいて対応する変更の場所を自動的に特定可能であることを条件として、ソースコードに限らず実行形式のプログラムコードを用いることができる。
 変更前コードは、他のコンピュータで作成され、ソースコード管理装置100のユーザの指示に基づきまたはソースコード管理装置100の処理に基づき、ソースコード管理装置100によって外部から取得され、変更前コード記憶部130に記憶される。なお、これに限らず、変更前コード記憶部130に記憶されている変更前コードは、ソースコード管理装置100を用いて作成されたものであってもよい。
 変更後コード記憶部140は、変更が施された後のプログラムコードである変更後コードを記憶する。この変更後コードは、変更前コードと同様、プログラムのソースコードである。変更後コードは、例えば、変更前コードと同一のプログラムであって、変更前コードのバージョンアップによる改訂版のプログラムのソースコードである。また、変更後コードは、変更前コードと同一のプログラムでない場合にも、両者のソースコードについてその変更を施すことが可能であれば足りる。変更後コードは変更前コードと同一の言語で作成されているものとする。
 変更後コードは、変更前コードと同様、他のコンピュータで作成され、ソースコード管理装置100のユーザの指示に基づきまたはソースコード管理装置100の処理に基づき、ソースコード管理装置100によって外部から取得され、変更後コード記憶部140に記憶される。なお、これに限らず、変更後コード記憶部140に記憶されている変更後コードは、ソースコード管理装置100を用いて作成されたものであってもよい。
 変更管理情報記憶部150は、変更前コードに施された変更の内容を示す変更管理情報を記憶する。ここでは、変更管理情報は、変更前コードおよび変更後コードの差分を抽出して得られた、変更前コードに施された変更の内容を示す情報である。
 変更管理情報は、詳しくは図6において後述するが、変更前コードにおいて変更によりコードが変更される場所である変更場所を示す変更場所情報、変更前コードの変更場所において変更により変更されるコードである変更コードを示す変更コード情報、変更前コードの変更場所における変更の操作である変更操作を示す変更操作情報、変更前コードの変更場所における変更の操作である変更操作を示す変更操作情報および変更前コードについて同一の変更場所に対する変更が複数存在する場合に変更の優先順位を示す優先順位情報等を有する。ここで、変更操作は、その変更により変更場所に対して施される操作の種類を示す。変更操作には、例えば、コードの追加、コードの削除、コードの修正(上書き)等である。
 差分ファイル記憶部160は、変更管理情報に基づいて差分ファイル書込部121によって生成された差分ファイルを記憶する。この差分ファイルは、変更管理情報の全部または一部を有する。差分ファイル記憶部160は、変更管理情報記憶部150と共に変更管理情報記憶手段として機能する。
 生成変更後コード記憶部170は、変更前コードに対して変更管理情報に基づいて変更が施されることにより生成された生成変更後コードを記憶する。
 次に、本実施の形態で使用されるソースコードの例について説明する。
 本実施の形態では、コンピュータのプログラム言語の例として、Intel(登録商標)製86系プロセッサのアセンブラで作成されたプログラムコードを使用するが、これに限らず、他のプログラム言語で作成されたプログラムコードに対しても適用することができる。
 図4は、変更前ソースコードの例を示す図である。図4に示す変更前ソースコード(デフォルトソースコード)131は、変更の対象となっているコードを含む任意のソースコードである。また、変更前ソースコード131の内容を示す変更前ソースファイルが変更前コード記憶部130として機能するHDD103に記憶されている。
 なお、本実施の形態の変更前ソースコード131は、HDD103に記憶されているが、これに限らず、RAM102やその他の記憶装置に記憶されてもよい。
 図5は、変更後ソースコードの例を示す図である。図5に示す変更後ソースコード141は、対象となっている変更が施されたソースコードである。図5の例では、図4において前述した変更前ソースコード131と比較して「abcProc PROC」の行と「call  xyzProc」の行との間に、太字の斜体文字で示したように「xor  ax,ax」が追加されている。また、変更後ソースコード141の内容を示す変更後ソースファイルが変更後コード記憶部140として機能するHDD103に記憶されている。
 なお、本実施の形態の変更後ソースコード141は、HDD103に記憶されているが、これに限らず、RAM102やその他の記憶装置に記憶されてもよい。
 次に、本実施の形態で使用されるデータのデータ構造例について説明する。
 図6は、変更管理テーブルの構成例を示す図である。図6に示す変更管理テーブル151は、ソースコード管理装置100(図2において前述)によって作成および管理され、HDD103(図2において前述)に格納されている。本実施の形態のHDD103は、変更管理情報記憶部150として機能する。変更管理テーブル151は、変更前ソースコード131および変更後ソースコード141の間の変更を定義する変更管理情報を記憶するテーブルである。
 変更管理テーブル151には、変更前ソースコード131および変更後ソースコード141の間の変更を一意に特定するための符号を示す項目である“変更ID”、変更の対象であるプロシージャを一意に特定するために割り当てられたプロシージャ(procedure)の名称を示す項目である“対象プロシージャ”、変更の対象であるプロシージャが属するセグメントの名称を示す項目である“セグメント”、変更の対象であるプロシージャにおいて変更する場所を特定する情報を示す項目である“変更場所”、変更の種類を示す項目である“変更操作”、変更されるコードを示す項目である“コード”、変更前ソースコード131のデータファイル名およびその位置を示す項目である“デフォルトファイル”および複数の変更が存在する場合の優先順位を示す項目である“優先順位”が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、変更管理情報を構成する。
 変更IDは、ソースコード管理装置100で実行される処理においてソースコードの各変更を識別するために各変更に設定された符号である。この変更IDは、任意の文字列を用いることができるが、各変更に対し、その変更を一意に特定できるように定められる。
 対象プロシージャは、変更前ソースコード131および変更後ソースコード141における変更の対象となるプロシージャの名称である。セグメントは、変更の対象となっているプロシージャが属しているセグメントの名称である。
 変更場所は、変更の対象となっているプロシージャにおいて変更される場所を示す情報である。本実施の形態の変更場所は、変更の対象の付近のコードと、そのコードと変更の対象との位置関係を示す値とを有する。この値は、例えば、“0”は「そのコードの前が変更対象となっている」ことを示し、“1”は「そのコードの後ろが変更対象となっている」ことを示す。図6の例では、図5に示す“call xyzProc”の“前”が変更の対象であることを示している。なお、変更場所は、これに限らず必要に応じて任意の形式により、変更される場所を特定するように設定することができる。
 変更操作は、変更の種類を示す情報である。変更操作には、追加を表す“0”、削除を表す“1”、上書きを表す“2”等を設定することができる。なお、変更操作には、これに限らず必要に応じて変更操作を設定し、設定した変更操作を任意の値に割り当てることができる。
 コードは、対象となっているプロシージャに対して変更が施されるコードである。そのプロシージャの変更場所に対して、変更操作が示す変更が、このコードを用いて施される。
 デフォルトファイルは、変更前ソースコード131のデータファイル名およびそのデータファイルの位置を示す。ここでは、変更前ソースコード131のデータファイルのパス(path)が設定される。
 優先順位は、同一の変更場所について複数の変更が存在する場合に変更の優劣を示す。この優先順位は、例えば、数値が大きい方が重要であり、同一の変更場所に対して変更が施されるものとする。この場合、通常の変更については、通常の設定値である“-1”が設定され、より重要な変更については、重要の度合いに応じてより大きな値(例えば、“0”,“1”,“2”等)が設定される。
 本実施の形態のソースコード管理装置100では、変更管理情報は、変更管理情報生成処理(図9において後述)によって作成され、HDD103に記憶される。また、変更管理情報は、変更後コード生成処理(図11および図12において後述)によって、HDD103から読み出され、変更後ソースコード171(図10において後述)の生成に用いられる。
 なお、本実施の形態の変更管理テーブル151は、HDD103に記憶されているが、これに限らず、RAM102やその他の記憶装置に記憶されてもよい。
 次に、本実施の形態で使用されるファイルの例について説明する。
 図7は、差分ファイルの例を示す図である。図7に示す差分ファイル161は、変更前ソースコード131(図4において前述)と、変更後ソースコード141(図5において前述)とから生成される変更管理情報(図6において前述)に基づいて作成されると共にその変更管理情報を含むファイルである。差分ファイル161は、差分ファイル記憶部160として機能するHDD103に記憶されている。
 差分ファイル161は、図4において前述した変更前ソースコード131が有する“ijkSegment”というセグメントに定義される“abcProc”というプロシージャに対する変更を示す。ソースコード管理装置100がこの差分ファイル161を変更前ソースコード131に施すことによって、変更後ソースコード171(図10において後述)が生成される。
 差分ファイル161では、1行目のキーワード“Change”により、1つの変更の定義の開始が示されると共に、この変更に対して一意となる名称が付される。また、9行目のキーワード“EndOfChange”により、1つの変更の定義の終了が示される。ここでは、“Change”と9行目の“EndOfChange”とに挟まれたブロックにより、変更の名称を“aPatchToAbcProc”とする1つの変更が定義されている。
 2行目のキーワード“Procedure”により、変更の対象となっているプロシージャが指定される。ここでは、“abcProc”という名称のプロシージャに変更を行うことが指示されている。
 3行目のキーワード“Segment”により、変更の対象となっているプロシージャが定義されているセグメントが指定される。ここでは、変更の対象となっているプロシージャが“ijkSegment”という名称のセグメントに定義されていることが示されている。
 4行目のキーワード“At Before”により、変更箇所が指定される。ここでは、この変更の変更箇所が“call xyzProc”というコードの前であることが示されている。
 5行目から7行目は、キーワード“Insert”と“EndOfInsert”とに挟まれたブロックにより、変更箇所に対する操作と共に変更後のコードが示される。ここでは、“Insert”により変更が追加であることが示されている。また、“xor  ax, ax”が追加されるコードとして示されている。
 8行目のキーワード“File”により、変更箇所、すなわち“abcProc”が含まれた変更前ソースコード131のデータファイル名およびデータファイルの位置が示される。ここでは、変更前ソースコード131のデータファイルのパスが示されている。
 また、図7に示す差分ファイル161の右上には、優先順位が示される。ここでは、優先順位は“-1”に設定されている。例えば、優先順位は、通常の設定値として“-1”を設定するものとし、より優先すべき度合が高い変更についてはより大きな値(例えば、0,1,2,・・・等)を設定するものとする。これにより、変更対象、変更箇所が同じ複数の変更が定義されていた場合に、ソースコード管理装置100によって施される複数の変更の優先順位を指定することができる。
 なお、本実施の形態の差分ファイル161は、HDD103に記憶されているが、これに限らず、RAM102やその他の記憶装置に記憶されてもよい。
 次に、本実施の形態で実行される処理について説明する。
 図8は、差分ファイルの生成時の入出力を示す図である。図8に示すように、本実施の形態のソースコード管理装置100は、図9において後述する変更管理情報生成処理を実行することにより、変更前ソースコード131(図4において前述)のデータファイルおよび変更後ソースコード141(図5において前述)のデータファイルを入力として変更管理情報生成部113が生成した差分ファイル161(図7において前述)を出力する。
 図9は、変更管理情報生成処理の手順を示すフローチャートである。図9に示す変更管理情報生成処理は、変更前ソースコード131(図4において前述)のデータファイルおよび変更後ソースコード141(図5において前述)のデータファイルを入力として差分ファイル161(図7において前述)を出力する処理である。変更管理情報生成処理は、例えば、ユーザがキーボード12、マウス13等を操作して変更管理情報生成処理を呼び出すことによって実行される。
 [ステップS11]変更前コード読出部111は、変更前コード記憶部130(図3において前述)に記憶されている変更前ソースコード131のデータファイルを読み出す。
 [ステップS12]変更後コード読出部112は、変更後コード記憶部140(図3において前述)に記憶されている変更後ソースコード141のデータファイルを読み出す。
 [ステップS13]変更管理情報生成部113は、ステップS11において読み出された変更前ソースコード131およびステップS12で読み出された変更後ソースコード141から差分コードを抽出する。
 この差分コードの抽出では、変更管理情報生成部113は、変更前ソースコード131および変更後ソースコード141のテキスト同士を比較することによって、変更されたコードを抽出する。
 [ステップS14]変更管理情報生成部113は、ステップS13において抽出した差分コードに基づいて差分解析を行い、変更管理情報を生成する。
 この差分解析について、変更前ソースコード131および変更後ソースコード141の例を用いて説明する。図4および図5の例にしたがって説明すると、変更管理情報生成部113は、ステップS14においてテキスト同士の比較によって抽出された差分コードから、プロシージャ“abcProc”におけるコード“call xyzProc”の前に“xor ax,  ax”というコードが追加されているという結果を得ることができる。また、プロシージャ“abcProc”の属するセグメントが“ijkSegment”であることを特定することができる。
 次に、変更管理情報生成部113は、1つの変更毎に一意となる任意の文字列を割り当て、これを「変更ID」として変更管理情報を作成する。
 また、変更管理情報生成部113は、「対象プロシージャ」、「セグメント」、「変更場所」、「変更操作」および「コード」については、上記のように、変更前ソースコード131および変更後ソースコード141のテキスト同士を比較して特定することにより作成する。
 また、変更管理情報生成部113は、「デフォルトファイル」については、変更前ソースコード131のデータファイルのファイル情報に基づいて作成する。
 変更管理情報生成部113は、「優先順位」については、通常の変更の場合には、“-1”とする。なお、優先順位は、変更情報生成処理の実行時にユーザが指定してもよい。なお、本実施の形態では、説明の便宜上1つの変更について説明するが、これに限らず、変更は複数存在してもよい。変更が複数存在する場合には、変更管理情報も変更の数だけ生成される。
 [ステップS15]変更管理情報生成部113は、変更管理情報記憶部150(図3において前述)に記憶されている変更管理テーブル151(図6において前述)に、ステップS14における差分解析の結果得られた変更管理情報を書き込む。
 [ステップS16]変更管理情報生成部113は、ステップS13において抽出した差分コードについてステップS14の差分解析が終了したか否かを判定する。すべての差分コードについて差分解析が終了しており、未解析の差分コードがなければ、処理がステップS17に進められる。一方、差分解析が終了していない差分コードがあれば、処理がステップS14に進められる。
 [ステップS17]差分ファイル書込部121は、ステップS15において変更管理情報記憶部150に記憶されている変更管理テーブル151に記憶された変更管理情報を読み出す。次に、差分ファイル書込部121は、読み出した変更管理情報に基づいて変更管理情報を有する差分ファイルを生成する。この差分ファイル161は、変更前ソースコード131および変更後ソースコード141の間で変更された各変更箇所から抽出された差分コードのそれぞれについて作成される。次に、差分ファイル書込部121は、生成した差分ファイル161を差分ファイル記憶部160(図3において前述)に書き込む。
 差分ファイル161は、変更前ソースコード131および変更後ソースコード141の間の1つの変更箇所毎に1つ作成される。なお、これに限らず、差分ファイル161は、変更前ソースコードおよび変更後ソースコードの間の変更箇所をまとめて、すべての変更に対してまとめて1つ作成されてもよく、複数の変更箇所毎にまとめて1つ作成されてもよい。
 [ステップS18]差分ファイル出力部122は、変更管理情報を有する差分ファイル161を差分ファイル記憶部160から読み出す。次に差分ファイル出力部122は、読み出した差分ファイルを出力する。その後、処理が終了する。
 図10は、変更後ソースコードの生成時の入出力を示す図である。図10に示すように、本実施の形態のソースコード管理装置100は、図10および図11において後述する変更後コード生成処理を実行することにより、変更前ソースコード132のデータファイルおよび変更管理情報の全部または一部を有しており変更操作の内容を示すデータファイルである差分ファイル162を入力として変更後コード生成部124が生成した変更後ソースコード171のデータファイルを出力する。
 ここで、変更前ソースコード132は、図4において前述した変更前ソースコード131と同様、変更の対象となっているコードを含む任意のソースコードである。
 差分ファイル162は、図7において前述した差分ファイル161と同一の形式であり、ソースコード管理装置100が変更管理情報生成処理を実行することによって生成したものであってもよいが、他のソースコード管理装置100等によって生成されることにより予め用意されたものであってもよい。これにより、ユーザは、他のユーザやプログラムの供給者が作成した差分ファイルを用いて、同一のプログラムのソースコードであってバージョンが異なるものまたは部分的に同一のコードを有する他のプログラムのソースコード等に変更を施すことができる。
 変更後ソースコード171は、図5において前述した変更後ソースコード141と同様に、変更前ソースコード132に、ある変更が施されたソースコードであるが、上記のように、変更前ソースコード132に差分ファイル162を施すことによって生成されるソースコードである。
 図11および図12は、変更後コード生成処理の手順を示すフローチャートである。図11および図12に示す変更後コード生成処理は、変更前ソースコード132(図10において前述)のデータファイルおよび差分ファイル162(図10において前述)を入力として変更後ソースコード(図10において前述)のデータファイルを出力する処理である。変更後コード生成処理は、例えば、ユーザがキーボード12、マウス13等を操作して変更後コード生成処理を呼び出すことによって実行される。
 [ステップS21]差分ファイル読出部123は、差分ファイル記憶部160(図3において前述)に記憶されている差分ファイル162を読み出す。
 [ステップS22]変更後コード生成部124は、ステップS21において読み出された差分ファイル162から差分コードを抽出する。次に、変更後コード生成部124は、差分コードについて字句解析を行う。これにより、差分ファイル162に記述された差分コードが抽出され、抽出された差分コードに含まれる各コードの字句解析が行われる。
 字句解析では、変更後コード生成部124は、差分ファイル162に記述された差分コードが、各キーワードや名称等について、例えば図6で示した形式にしたがって、定められた字句で正しく記述されていることを確認する。
 [ステップS23]変更後コード生成部124は、ステップS22において行った字句解析の結果に基づいて差分コードの構文解析を行う。これにより、差分ファイルの記述(図7において前述)から変更管理情報(図6において前述)が有する変更ID、対象プロシージャ等が抽出される。
 構文解析では、変更後コード生成部124は、字句解析で抽出された字句に基づいて差分ファイル162に記述された差分コードが、例えば図6で示した形式にしたがって、定められた文法で正しく記述されていることを確認する。
 変更後コード生成部124は、構文解析によって差分ファイル162に記述された差分コードの正しさが確認できた場合、上記の文法に従って解釈した変更内容を示す変更管理情報を生成する。なお、本実施の形態では、説明の便宜上1つの変更について説明するが、これに限らず、変更は複数存在してもよい。変更が複数存在する場合には、変更管理情報も変更の数だけ生成される。
 このようにして、ステップS21において読み出された差分ファイルに示された内容から変更管理情報が生成される。
 [ステップS24]変更後コード生成部124は、変更管理情報記憶部150(図3において前述)に記憶されている変更管理テーブル151(図6において前述)に、ステップS23における構文解析の結果得られた変更管理情報を書き込む。
 [ステップS25]変更前コード読出部111は、変更前コード記憶部130(図3において前述)に記憶されている変更前ソースコード132のデータファイルを読み出す。
 ここでは、変更前コード読出部111は、変更管理情報の「デフォルトファイル」に基づいて、変更前ソースコード132を読み出すことができる。
 [ステップS31]変更後コード生成部124は、変更管理テーブル151(図6において前述)に書き込まれている変更管理情報に基づいて、ステップS25(図11において前述)において読み出された変更前ソースコード132について変更の対象となっているコードを検索し、検索により抽出されたコードから1つ選択する。この選択は変更前ソースコード132の先頭から順に行われるが、変更が複数存在する場合、これに限らず任意の方法により定めた順序で選択することができる。
 [ステップS32]変更後コード生成部124は、ステップS25において読み出された変更前ソースコード132のステップS31で検索されたコードについて、変更管理テーブル151に書き込まれている変更管理情報が示す変更操作を施す。
 変更操作では、変更後コード生成部124は、変更管理情報の「デフォルトファイル」に基づいて変更前コード読出部111によって読み出された変更前ソースコード132を取得し、「対象プロシージャ」、「セグメント」に基づいて変更前ソースコード132において変更の対象となっているコードを検索する。
 次に、検索により変更対象コードが発見できた場合、変更後コード生成部124は、変更が施される「変更場所」に対して変更コードにより変更操作を施す。本実施の形態に示す例では、“call xyzProc”の前に“xor ax,ax”が追加される。
 なお、変更後コード生成部124が変更操作を施す際、変更の対象となっているソースコードの同一箇所について複数の変更操作が存在する場合、優先順位が高い変更操作が既に施されているときには、変更操作を施さない。これにより、変更操作の間の競合を防止することができる。
 [ステップS33]変更後コード生成部124は、変更管理テーブル151に書き込まれている変更管理情報が有するすべての変更が終了したか否かを判定する。すべての変更が終了していれば、処理がステップS34に進められる。一方、終了していない変更があれば、処理がステップS31に進められる。
 [ステップS34]変更後コード生成部124は、生成変更後コード記憶部170(図3において前述)に、ステップS32において変更操作が施された結果得られた変更後ソースコード171を書き込む。これにより、この変更後ソースコード171には、差分ファイル161によって示されたすべての変更操作が施される。
 [ステップS35]変更後コード出力部125は、ステップS34において生成された変更後ソースコード171を生成変更後コード記憶部170から読み出す。次に変更後コード出力部125は、読み出した変更後ソースコード171を出力する。その後、処理が終了する。
 なお、本実施の形態のソースコード管理装置100は、上記の変更管理情報生成機能および変更後コード生成機能を有するが、これに限らず、変更管理情報生成機能または変更後コード生成機能のいずれか一方のみを有してもよい。
 これにより、例えばソフトウェアメーカ等が変更管理情報生成機能を有するコンピュータを用いて変更前コードおよび変更後コードから、変更の対象毎に変更管理情報を生成してユーザ等に配布することもできる。
 以上のように、本実施の形態によれば、変更管理情報生成部113によって変更前コードおよび変更後コードに基づいて変更管理情報が生成される。この変更管理情報を用いて変更を、他の変更による影響を排除して変更毎に独立に管理することができるので、プログラムのソースコードに対する変更の管理が容易になる。
 また、変更管理情報は、変更毎に独立に生成されるので、同一のプログラムについて異なる箇所について互いに独立して施された変更について、それぞれの変更に対応する変更管理情報を用いて変更前コードに変更を施すことができる。
 また、生成された変更管理情報を用いて他のプログラムのソースコードに対しても、同一のセグメントを有する場合には、変更前コードおよび変更後コードの間の変更と同一の変更を容易に施すことができる。さらに他のプログラムのソースコードに変更を施す場合にも、変更場所情報によりセグメントおよびセグメント内の変更場所が特定されるので、自動的に処理することができる。
 また、変更管理情報は、その変更の優先順位を示す優先順位情報を有するので、優先順位を予め適切に設定することにより、ソースコードの同一箇所について複数の変更が存在する場合にも、施される変更の間の調整を事前に行うことができる。
 なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ソースコード管理装置100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
 処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)等がある。光ディスクには、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc - Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等がある。光磁気記録媒体には、MO(Magneto - Optical disk)等がある。
 上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを通じて、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
 上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
 以上、開示のプログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法を、図示の実施の形態に基づいて説明したが、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の2以上の構成を組み合わせたものであってもよい。
 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、開示の技術は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
符号の説明
 1 プログラム変更管理装置
 1a 変更前コード読出手段
 1b 変更後コード読出手段
 1c 変更管理情報生成手段
 1d 変更管理情報出力手段
 1e 変更前コード記憶手段
 1f 変更後コード記憶手段
 1g 変更管理情報記憶手段

Claims (10)

  1.  変更が施される前のプログラムコードである変更前コードを記憶する変更前コード記憶手段と、
     前記変更が施された後のプログラムコードである変更後コードを記憶する変更後コード記憶手段と、
     前記変更前コードに施された前記変更の内容を示す変更管理情報を記憶する変更管理情報記憶手段と、
     前記変更前コード記憶手段に記憶されている前記変更前コードを読み出す変更前コード読出手段と、
     前記変更後コード記憶手段に記憶されている前記変更後コードを読み出す変更後コード読出手段と、
     前記変更前コード読出手段によって読み出された前記変更前コードと前記変更後コード読出手段によって読み出された前記変更後コードとに基づいて前記変更管理情報を生成し、生成した前記変更管理情報を前記変更管理情報記憶手段に記憶させる変更管理情報生成手段と、
     前記変更管理情報記憶手段に記憶されている前記変更管理情報を出力する変更管理情報出力手段と、
     を有することを特徴とするプログラム変更管理装置。
  2.  前記変更前コードに対して前記変更管理情報に基づいて前記変更が施されることにより生成された生成変更後コードを記憶する生成変更後コード記憶手段と、
     前記変更管理情報記憶手段に記憶されている前記変更管理情報を読み出す変更管理情報読出手段と、
     前記変更前コード読出手段によって読み出された前記変更前コードと前記変更管理情報読出手段によって読み出された前記変更管理情報とに基づいて、前記変更後コードを生成し、生成した前記変更後コードを前記生成変更後コード記憶手段に記憶させる変更後コード生成手段と、
     前記生成変更後コード記憶手段に記憶されている前記生成変更後コードを出力する変更後コード出力手段と、
     を有することを特徴とする請求の範囲第1項記載のプログラム変更管理装置。
  3.  前記変更管理情報は、
     前記変更前コードにおいて前記変更によりコードが変更される場所である変更場所を示す変更場所情報と、
     前記変更前コードの前記変更場所において前記変更により変更されるコードである変更コードを示す変更コード情報と、
     を有することを特徴とする請求の範囲第1項記載のプログラム変更管理装置。
  4.  前記変更管理情報は、前記変更前コードの前記変更場所における前記変更の操作である変更操作を示す変更操作情報を有することを特徴とする請求の範囲第3項記載のプログラム変更管理装置。
  5.  前記変更管理情報は、前記変更前コードの前記変更場所における前記変更の操作である変更操作を示す変更操作情報を有することを特徴とする請求の範囲第3項記載のプログラム変更管理装置。
  6.  前記変更管理情報は、前記変更前コードについて同一の前記変更場所に対する前記変更が複数存在する場合に、前記変更の優先順位を示す優先順位情報を有することを特徴とする請求の範囲第3項記載のプログラム変更管理装置。
  7.  前記プログラムコードは、ソースコードであることを特徴とする請求の範囲第1項記載のプログラム変更管理装置。
  8.  変更が施される前のプログラムコードである変更前コードを記憶する変更前コード記憶手段と、
     前記変更前コードに施された前記変更の内容を示す変更管理情報を記憶する変更管理情報記憶手段と、
     前記変更前コードに対して前記変更管理情報に基づいて前記変更が施されることにより生成された生成変更後コードを記憶する生成変更後コード記憶手段と、
     前記変更前コード記憶手段に記憶されている前記変更前コードを読み出す変更前コード読出手段と、
     前記変更管理情報記憶手段に記憶されている前記変更管理情報を読み出す変更管理情報読出手段と、
     前記変更前コード読出手段によって読み出された前記変更前コードと前記変更管理情報読出手段によって読み出された前記変更管理情報とに基づいて、前記生成変更後コードを生成し、生成した前記生成変更後コードを前記生成変更後コード記憶手段に記憶させる変更後コード生成手段と、
     前記生成変更後コード記憶手段に記憶されている前記生成変更後コードを出力する変更後コード出力手段と、
     を有することを特徴とするプログラム変更管理装置。
  9.  コンピュータを、
     変更前コード記憶手段に記憶されている変更が施される前のプログラムコードである変更前コードを読み出す変更前コード読出手段、
     変更後コード記憶手段に記憶されている前記変更が施された後のプログラムコードである変更後コードを読み出す変更後コード読出手段、
     前記変更前コード読出手段によって読み出された前記変更前コードと前記変更後コード読出手段によって読み出された前記変更後コードとに基づいて前記変更前コードに施された前記変更の内容を示す変更管理情報を生成し、生成した前記変更管理情報を変更管理情報記憶手段に記憶させる変更管理情報生成手段、
     前記変更管理情報記憶手段に記憶されている前記変更管理情報を出力する変更管理情報出力手段、
     として機能させることを特徴とするプログラム変更管理プログラム。
  10.  変更前コード読出手段が、変更前コード記憶手段に記憶されている変更が施される前のプログラムコードである変更前コードを読み出し、
     変更後コード読出手段が、変更後コード記憶手段に記憶されている前記変更が施された後のプログラムコードである変更後コードを読み出し、
     変更管理情報生成手段が、前記変更前コード読出手段によって読み出された前記変更前コードと前記変更後コード読出手段によって読み出された前記変更後コードとに基づいて前記変更前コードに施された前記変更の内容を示す変更管理情報を生成し、生成した前記変更管理情報を変更管理情報記憶手段に記憶させ、
     変更管理情報出力手段が、前記変更管理情報記憶手段に記憶されている前記変更管理情報を出力する、
     ことを特徴とするプログラム変更管理方法。
PCT/JP2008/068652 2008-10-15 2008-10-15 プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法 WO2010044150A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010533749A JPWO2010044150A1 (ja) 2008-10-15 2008-10-15 プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
PCT/JP2008/068652 WO2010044150A1 (ja) 2008-10-15 2008-10-15 プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
US13/064,737 US20110209135A1 (en) 2008-10-15 2011-04-12 Program Change Management Apparatus, Computer Readable Record Medium Storing Program Change Management Program, And Program Change Management Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/068652 WO2010044150A1 (ja) 2008-10-15 2008-10-15 プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/064,737 Continuation US20110209135A1 (en) 2008-10-15 2011-04-12 Program Change Management Apparatus, Computer Readable Record Medium Storing Program Change Management Program, And Program Change Management Method

Publications (1)

Publication Number Publication Date
WO2010044150A1 true WO2010044150A1 (ja) 2010-04-22

Family

ID=42106328

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/068652 WO2010044150A1 (ja) 2008-10-15 2008-10-15 プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法

Country Status (3)

Country Link
US (1) US20110209135A1 (ja)
JP (1) JPWO2010044150A1 (ja)
WO (1) WO2010044150A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013389A (ja) * 2018-07-19 2020-01-23 富士ゼロックス株式会社 プログラム配信システム、管理者装置、ユーザ端末、及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533668B2 (en) * 2010-04-26 2013-09-10 Red Hat, Inc. Comparing source code using code statement structures
GB2503486A (en) 2012-06-28 2014-01-01 Ibm Managing changes to files
US9164877B2 (en) 2013-06-21 2015-10-20 Sap Se Business application inspection and modification
CN105843623A (zh) * 2016-03-29 2016-08-10 乐视控股(北京)有限公司 目标程序的生成方法和装置
US10146530B1 (en) * 2017-07-12 2018-12-04 International Business Machines Corporation Simulating and evaluating code branch merge

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997171A (ja) * 1995-09-29 1997-04-08 Hitachi Software Eng Co Ltd ソースプログラムのバージョン管理方法
JP2002007121A (ja) * 2000-06-26 2002-01-11 Nec Corp ソースファイル変更履歴管理方法、装置およびプログラムを記録した記録媒体

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system
US5649200A (en) * 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US6983446B2 (en) * 1999-10-05 2006-01-03 Borland Software Corporation Methods and systems for finding specific line of source code
US6757893B1 (en) * 1999-12-17 2004-06-29 Canon Kabushiki Kaisha Version control system for software code
JP2001256043A (ja) * 2000-03-10 2001-09-21 Toshiba Corp プログラムソースの修正履歴管理方法および修正履歴管理システム
US6928637B2 (en) * 2001-08-10 2005-08-09 Wind River Systems, Inc. Version control adapter interface to support integration of multiple vendors integrated development environments (IDEs)
JP3946057B2 (ja) * 2002-03-01 2007-07-18 富士通株式会社 整合性検査支援方法および整合性検査支援システム
US20070234300A1 (en) * 2003-09-18 2007-10-04 Leake David W Method and Apparatus for Performing State-Table Driven Regression Testing
CN100428249C (zh) * 2004-03-03 2008-10-22 富士通株式会社 验证支持装置和验证支持方法
US20060106889A1 (en) * 2004-11-12 2006-05-18 Mannby Claes-Fredrik U Method, system, and program for managing revisions to a file
US7840944B2 (en) * 2005-06-30 2010-11-23 Sap Ag Analytical regression testing on a software build
US7707552B2 (en) * 2005-10-17 2010-04-27 International Business Machines Corporation Method and system for autonomically prioritizing software defects
US8645906B2 (en) * 2006-09-12 2014-02-04 Sandeep Jain Method for enforcing change policy based on project state
DE102006046203A1 (de) * 2006-09-29 2007-08-30 Siemens Ag Verfahren zur rechnergestützten Bewertung von Softwarequellcode
US9207933B2 (en) * 2006-10-10 2015-12-08 International Business Machines Corporation Identifying authors of changes between multiple versions of a file
WO2008119572A1 (en) * 2007-03-29 2008-10-09 International Business Machines Corporation An apparatus and method for identifying contextual changes in source code
US20110022551A1 (en) * 2008-01-08 2011-01-27 Mark Dixon Methods and systems for generating software quality index
US8312430B2 (en) * 2008-08-27 2012-11-13 International Business Machines Corporation Guarding code check-in with test case execution results
US20120159434A1 (en) * 2010-12-20 2012-06-21 Microsoft Corporation Code clone notification and architectural change visualization
US8683430B2 (en) * 2011-01-07 2014-03-25 International Business Machines Corporation Synchronizing development code and deployed executable versioning within distributed systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997171A (ja) * 1995-09-29 1997-04-08 Hitachi Software Eng Co Ltd ソースプログラムのバージョン管理方法
JP2002007121A (ja) * 2000-06-26 2002-01-11 Nec Corp ソースファイル変更履歴管理方法、装置およびプログラムを記録した記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAKOTO OTSU ET AL.: "Jissen de Oboeru Command Seiha eno Michi", LINUX WORLD, vol. 3, no. 4, 1 April 2004 (2004-04-01), pages 191 - 195 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013389A (ja) * 2018-07-19 2020-01-23 富士ゼロックス株式会社 プログラム配信システム、管理者装置、ユーザ端末、及びプログラム
JP7187859B2 (ja) 2018-07-19 2022-12-13 富士フイルムビジネスイノベーション株式会社 プログラム配信システム、管理者装置、ユーザ端末、及びプログラム

Also Published As

Publication number Publication date
US20110209135A1 (en) 2011-08-25
JPWO2010044150A1 (ja) 2012-03-08

Similar Documents

Publication Publication Date Title
KR101213884B1 (ko) 런타임 타입 추론을 통한 효율적인 데이터 액세스
JP4667386B2 (ja) 業務モデル図作成支援プログラム、業務モデル図作成支援方法、および業務モデル図作成支援装置
WO2010044150A1 (ja) プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
US20170269907A1 (en) Single-source-base compilation for multiple target environments
JP5412995B2 (ja) プログラムモデル検査におけるデータベース制御装置、データベース制御方法、データベース制御プログラム
US20080127034A1 (en) Distributed resource understanding tool management
JP5867540B2 (ja) プログラム生成装置、プログラム生成装置の制御方法、およびプログラム
CN108304184B (zh) 编译方法及装置
JP5149801B2 (ja) ディスクオーサリングにおけるポートフォリオ
CN113296759B (zh) 用户界面处理方法、用户界面处理系统、设备及存储介质
US11625228B2 (en) System and method for facilitating efficient round-trip engineering using intermediate representations
JP5808264B2 (ja) コード生成装置及びコード生成方法及びプログラム
JP4852309B2 (ja) 資産管理装置及び資産管理方法
JP2014171053A (ja) 電子文書コンテナデータファイル、電子文書コンテナデータファイル生成装置、電子文書コンテナデータファイル生成プログラム、サーバ装置および電子文書コンテナデータファイル生成方法
CN101221794A (zh) 一种防盗版光盘的制作方法
KR100846203B1 (ko) 모바일 어플리케이션의 생성 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
JP2020087087A (ja) 修正候補特定プログラム
CN113918664B (zh) 一种数据处理方法以及装置
CN110770702B (zh) 信息处理装置、信息处理系统、信息处理方法及记录介质
JP4805594B2 (ja) プログラム開発管理装置
JP4904712B2 (ja) プログラム自動生成装置、方法、およびプログラム
KR20000050238A (ko) 다수의 운영시스템에서 실행 가능한 프로그램 제작 시스템및 방법
JP2004078268A (ja) 情報処理装置、情報処理方法、およびプログラム
KR100352500B1 (ko) 자동화된 화면 컨트롤 생성 방법
Tsadok et al. Spicing Up with Resources

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08877408

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010533749

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08877408

Country of ref document: EP

Kind code of ref document: A1