WO2021250812A1 - Information processing device and program - Google Patents

Information processing device and program Download PDF

Info

Publication number
WO2021250812A1
WO2021250812A1 PCT/JP2020/022845 JP2020022845W WO2021250812A1 WO 2021250812 A1 WO2021250812 A1 WO 2021250812A1 JP 2020022845 W JP2020022845 W JP 2020022845W WO 2021250812 A1 WO2021250812 A1 WO 2021250812A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
file
files
specific
check
Prior art date
Application number
PCT/JP2020/022845
Other languages
French (fr)
Japanese (ja)
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 PCT/JP2020/022845 priority Critical patent/WO2021250812A1/en
Publication of WO2021250812A1 publication Critical patent/WO2021250812A1/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

  • This disclosure relates to technology for supporting software development.
  • Patent Document 2 describes a file management technique
  • Patent Document 3 describes a technique for obtaining a correlation between file events.
  • Japanese Unexamined Patent Publication No. 2010-191580 Japanese Unexamined Patent Publication No. 2011-145901 Japanese Unexamined Patent Publication No. 2009-199356
  • Patent Document 1 since a plurality of files changed or checked in within a certain period of time are all dependent files, there is a possibility that a file unrelated to the target file may be specified.
  • the present disclosure has been made in view of the above points, and an object thereof is to provide a technique capable of identifying a source file that is likely to be affected by a change in the target source file. do.
  • One aspect of the information processing device may be changed and collectively checked in, including at least one target source file, based on the change history information indicating the history of changes in the source files for each check-in. It has a processing unit that identifies multiple high source files.
  • one aspect of the program is changed and collectively checked in to the computer device, including at least one target source file, based on the change history information indicating the history of changes in the source files on a check-in basis. It is a program to execute the process of identifying multiple source files that are likely to be.
  • FIG. 1 is a schematic diagram showing an example of the configuration of a software management system 500 including an information processing apparatus 100 according to the present embodiment.
  • the software management system 500 (also simply referred to as a management system 500) is a system for managing software.
  • the management system 500 includes, for example, a configuration management device 202 and an information processing device 100.
  • the software to be managed by the management system 500 may be referred to as the software to be managed.
  • the configuration management device 202 is a device that manages the configuration of the managed software.
  • the configuration management device 202 is, for example, a kind of server device. It can be said that the configuration management device 202 is a computer device.
  • the configuration management device 202 can manage, for example, versions of a plurality of source files 201 used in the development of managed software. It can be said that the configuration management device 202 includes a version control device that manages the version of the source file 201.
  • the configuration management device 202 may be provided with, for example, a server device corresponding to Subversion (registered trademark) which is a kind of version control system, or may be provided with another type of device.
  • the source file 201 is a file in which the source code is described in a programming language such as C language.
  • file simply means a source file.
  • the configuration management device 202 includes, for example, a repository for storing each version of the file 201 used in the development of managed software.
  • a repository is a kind of database.
  • a terminal device is connected to the configuration management device 202. The terminal device can read the file 201 from the repository of the configuration management device 202 and write the file 201 in the repository. The terminal device can change the file 201 read from the repository according to the user's instruction. Then, the terminal device can write back the changed file 201 to the repository. Reading file 201 from the repository is called checkout. On the other hand, writing file 201 back to the repository is called check-in or commit.
  • the modified source file may be referred to as a modified source file or a modified file.
  • the configuration management device 202 can generate and output change history information 203 indicating the history of changes in the file 201 in each check-in unit, for example, with respect to the managed software.
  • the change history information 203 is generated for each software development.
  • FIG. 2 is a diagram showing an example of change history information 203.
  • the change history information 203 includes a revision ID (identifier).
  • the revision ID corresponds to check-in.
  • the revision ID is, for example, a number that starts with the number 1 and is incremented by 1 for each check-in.
  • the revision ID is also called the revision number.
  • information for identifying the change file 201 written back to the repository at the check-in corresponding to the revision ID is associated with each revision ID, for example.
  • the maximum revision ID corresponds to the latest check-in.
  • the change history information 203 is also referred to as a revision log.
  • the file names of the modified source files A, B, C, and D written back to the repository at the check-in corresponding to revision 1 are associated with revision 1.
  • the change source files A, B, C, and D corresponding to revision 1 are checked in all at once. Further, the file name of the change source file C written back to the repository at the latest check-in is associated with the maximum revision 12.
  • the information processing device 100 identifies a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201 of interest, based on the change history information 203 output by the configuration management device 202. ..
  • the target file for example, the file 201 related to the latest check-in is adopted.
  • the file 201 related to the latest check-in in other words, the file 201 written back to the repository in the latest check-in is the file C
  • the information processing apparatus 100 is changed and collectively checked in including the file C. Identify multiple files 201 that are likely to be.
  • the files B and C are also changed according to the change of the file A, and there is a high possibility that the changed files A, B, and C are checked in all at once. Therefore, in a plurality of files 201 that are likely to be checked in all at once, including the target file 201, the files 201 other than the target file 201 are likely to be affected by the change of the target file 201. It can be said that. Therefore, it is possible to identify the file 201 that is likely to be affected by the change of the target file 201 from the plurality of files 201 that are likely to be checked in all at once, including the target file 201.
  • the information processing device 100 includes a generation unit 110 and a specific unit 120.
  • the generation unit 110 includes a first generation unit 111 and a second generation unit 112.
  • the first generation unit 111 generates list information 190 indicating a list of change file sets including a plurality of change files 201 collectively checked in based on the change history information 203.
  • the first generation unit 111 generates the latest check-in information 160 for identifying the file 201 related to the latest check-in, that is, the change file 201 written back to the repository in the latest check-in.
  • the latest check-in information 160 includes, for example, the file name of the change file 201 written back to the repository at the latest check-in. For example, when the changed files A to C are written back to the repository in the latest check-in, the latest check-in information 160 includes the respective file names of the files A to C.
  • the second generation unit 112 provides frequency information 150 indicating the frequency with which the plurality of files 201 constituting the combination are changed and checked in collectively for each combination of the plurality of files 201, based on the list information 190. Generate.
  • the specifying unit 120 identifies a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201, based on the frequency information 150 and the threshold value 180.
  • the specific unit 120 generates specific information 170 for identifying a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201, for example.
  • FIG. 3 is a schematic diagram showing an example of the hardware configuration of the information processing apparatus 100.
  • the information processing device 100 is a kind of computer device. As shown in FIG. 3, the information processing device 100 includes, for example, a processing circuit 1, a storage device 2, an input device 3, a communication device 4, and a display device 5 as hardware.
  • the processing circuit 1 includes, for example, at least one processor.
  • the processing circuit 1 includes, for example, a CPU (Central Processing Unit) which is a kind of processor.
  • the processing circuit 1 may include a plurality of CPUs, or may include at least one DSP (Digital Signal Processor).
  • the processing circuit 1 can also be said to be the processing unit 1.
  • the storage device 2 includes a non-temporary recording medium such as a ROM (ReadOnlyMemory) and a RAM (RandomAccessMemory) that can be read by a processor such as a CPU.
  • the storage device 2 may include a non-temporary recording medium other than ROM and RAM that can be read by a computer.
  • the storage device 2 may include, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the storage device 2 stores a control program 20 for controlling the information processing device 100.
  • the processor of the processing circuit 1 executes the control program 20, various functions of the processing circuit 1 are realized.
  • each of the generation unit 110 and the specific unit 120 is composed of, for example, a functional block realized in the processing circuit 1 by the processing circuit 1 executing the control program 20 in the storage device 2. ..
  • the processing circuit 1 (in other words, the processing unit 1) identifies a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201, based on the change history information 203.
  • At least a part of the processing circuit 1 may be realized by a hardware circuit that does not require software to realize the function.
  • at least a part of the processing circuit 1 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit) and an FPGA (field-programmable gate). It may be composed of at least one of array).
  • ASIC Application Specific Integrated Circuit
  • FPGA field-programmable gate
  • the display device 5 can display various information such as characters, symbols, and figures.
  • the display device 5 may be a liquid crystal display device or another type of display device.
  • the input device 3 can receive an input from the user.
  • the input device 3 includes, for example, a keyboard and a mouse.
  • the input device 3 may include a touch sensor.
  • the display device 5 may be a touch panel display having a touch sensor included in the input device 3.
  • the input device 3 may include a microphone.
  • the threshold value 180 used by the specific unit 120 is input to the information processing device 100 through the input device 3, for example.
  • the threshold value 180 input to the information processing device 100 is stored in, for example, the storage device 2.
  • the communication device 4 can communicate with an external device of the information processing device 100. It can be said that the communication device 4 is a communication circuit.
  • the communication device 4 can communicate with, for example, the configuration management device 202.
  • the communication device 4 may directly communicate with the configuration management device 202, or may communicate with the configuration management device 202 through a network including the Internet or the like.
  • the communication device 4 may perform wired communication or wireless communication.
  • the communication device 4 can receive, for example, the change history information 203 output by the configuration management device 202.
  • the change history information 203 received by the communication device 4 is stored in, for example, the storage device 2.
  • the hardware configuration of the information processing device 100 is not limited to the above example.
  • the information processing device 100 does not have to include the display device 5.
  • the information processing device 100 may include a device other than the processing circuit 1, the storage device 2, the input device 3, the communication device 4, and the display device 5.
  • FIG. 4 is a diagram showing an example of the list information 190 generated by the first generation unit 111.
  • the list information 190 shown in FIG. 4 is information generated based on the change history information 203 shown in FIG.
  • specific information 191 for specifying a change file set consisting of a plurality of change files 201 checked in collectively is listed for each check-in.
  • the specific information 191 for example, the file names of a plurality of files 201 constituting the modified file set are adopted.
  • the first generation unit 111 determines whether or not a plurality of file names are associated with each revision ID of the change history information 203. Then, the first generation unit 111 registers the plurality of file names associated with one revision ID in the list information 190 as the file names of the plurality of files 201 constituting one change file set.
  • a plurality of file names are associated with each of revisions 1 to 5, 7 to 10.
  • the first generation unit 111 registers a plurality of file names associated with revisions 1 to 5, 7 to 10 in the list information 190 in units of revision IDs.
  • the file names of a plurality of files 201 constituting the changed file set may be referred to as a file name group.
  • the file names of files A, B, C, and D shown in the top list of the list information 190 correspond to revision 1.
  • the file names of files A and E shown in the second list from the top of the list information 190 correspond to revision 2.
  • the file names of files B and C shown in the last list of list information 190 correspond to revision 10.
  • FIG. 5 is a flowchart showing an example of a process (also referred to as a first generation process) in which the first generation unit 111 generates the list information 190 and the latest check-in information 160.
  • the first generation unit 11 substitutes 1 for the variable n.
  • the first generation unit 11 determines whether or not the revision n is included in the change history information 203. If No is determined in step s32, the first generation process ends. On the other hand, if Yes is determined in step s32, step s33 is executed.
  • step s33 the first generation unit 111 registers the file name associated with the revision n in the latest check-in information 160.
  • step s34 the first generation unit 111 determines whether or not a plurality of file names are associated with the revision n. If No is determined in step s34, step s36 is executed. On the other hand, if Yes is determined in step s34, step s35 is executed.
  • step s35 the first generation unit 111 registers a plurality of file names associated with the revision n in the list information 190 as a file name group. After that, step s36 is executed. In step s36, the first generation unit 111 adds 1 to the variable n.
  • step s32 is executed again, and then the first generation unit 111 operates in the same manner.
  • the file name already registered in the latest check-in information 160 is replaced with the file name associated with the revision n.
  • step s36 the value of the variable n becomes the maximum revision ID
  • step s36 if the value of the variable n becomes larger than the maximum revision ID by one, it is determined as No in the immediately following step s32. ..
  • the first generation process is completed, and the list information 190 and the latest check-in information 160 are completed.
  • the completed latest check-in information 160 contains the file name associated with the largest revision ID.
  • the file name associated with the highest revision ID is the file name of the change file 201 that was written back to the repository at the latest check-in.
  • FIG. 6 is a diagram showing an example of frequency information 150 generated by the second generation unit 112.
  • the frequency information 150 shown in FIG. 6 is information generated based on the list information 190 shown in FIG.
  • the frequency information 150 includes, for each combination of the plurality of files 201, the frequency with which the plurality of files 201 constituting the combination are changed and checked in collectively.
  • the frequency information 150 a plurality of combinations for the file 201 are registered. Specifically, in the frequency information 150, the combination specifying information 151 for specifying the combination is registered for each combination of the file 201. In the frequency information 150, a plurality of combination specific information 151 are arranged in order. As the combination specific information 151, for example, the file names of a plurality of files 201 constituting the combination are adopted. In the frequency information 150, the frequency (in other words, the number of times) in which a plurality of files 201 constituting the combination specified by the combination specific information 151 are changed and checked in collectively is associated with each combination specific information 151. ing.
  • the second generation unit 112 extracts, for example, all the file names included in the list information 190. Next, the second generation unit 112 obtains all combinations for the plurality of files 201 having each of the extracted plurality of file names. Then, the second generation unit 112 registers each obtained combination and the corresponding frequency in the frequency information 150. That is, the second generation unit 112 registers the combination identification information 151 for specifying the combination and the frequency corresponding to the combination in the frequency information 150 for each obtained combination.
  • the list information 190 includes the file names of the files A to E. Therefore, the frequency information 150 includes a plurality of combination specific information 151 as shown in FIG.
  • FIG. 7 is a flowchart showing an example of a process (also referred to as a second generation process) in which the second generation unit 112 generates the frequency information 150.
  • the second generation unit 112 obtains a plurality of combinations for the file 201.
  • the second generation unit 112 extracts all the file names included in the list information 190.
  • the second generation unit 112 obtains all combinations for the plurality of files 201 having the extracted plurality of file names.
  • step s42 the second generation unit 112 registers the combination specific information 151 of each obtained combination in the frequency information 150. Then, in step s43, the second generation unit 112 sets a plurality of file names included in the first list of the list information 190 in the variable i.
  • step s44 the second generation unit 112 determines whether or not the variable i is empty. If Yes is determined in step s44, the second generation process ends. On the other hand, if No is determined in step s44, step s45 is executed.
  • the second generation unit 112 has a plurality of files at least a part of the plurality of files 201 each having a plurality of file names set in the variable i among the plurality of combinations registered in the frequency information 150. All combinations including 201 (also referred to as first specific combination) are specified. The second generation unit 112 adds 1 to the frequency corresponding to the combination specific information 191 of the first specific combination in the frequency information 150.
  • the file names of the files A to D are set in the variable i.
  • 1 is added to the frequency corresponding to the combination specific information 191 of these first specific combinations.
  • step s46 the second generation unit 112 sets a plurality of file names included in the next list of the list information 190 in the variable i. After that, step s44 is executed again, and thereafter, the second generation unit 112 operates in the same manner.
  • step s46 when a plurality of file names included in the last list of list information 190 are set in the variable i, in the next step s46, there are no plurality of file names to be set in the variable i. Therefore, in step s44 immediately after that, Yes is determined and the second generation process ends.
  • FIG. 8 is a diagram showing an example of the specific information 170 generated by the specific unit 120.
  • the specific information 170 shown in FIG. 8 is information generated based on the frequency information 150 shown in FIG.
  • the specific information 170 is information for identifying a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201.
  • a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201 may be referred to as a specific file set.
  • the target file 201 is, for example, the file 201 related to the latest check-in.
  • the specific information 170 is for identifying a plurality of files 201 that are likely to be changed and collectively checked in, including a plurality of target files 201. It becomes the information of.
  • the specific information 170 includes the specific file set information 171 for specifying the specific file set.
  • the specific file set information 171 for example, the file names of a plurality of files 201 constituting the specific file set are adopted.
  • the specific unit 120 sets a plurality of files 201 having a corresponding frequency of the threshold value 180 or more and constituting the combination including the target file 201 as a specific file. Make a pair.
  • the threshold 180 may be fixed or may be changed.
  • the combination having the corresponding frequency of the threshold value 180 or more and including the target file 201 may be referred to as a second specific combination.
  • the file 201 related to the latest check-in is the file C.
  • the threshold 180 is set to, for example, "3", in the example of FIG. 6, each of the combination of files B and C, the combination of files C and D, and the combination of files B, C, and D is the second specific combination.
  • the specific information 170 includes the specific file set information 171 for specifying the specific file set consisting of files B and C, and the specific file set for specifying the specific file set consisting of files C and D.
  • Information 171 and specific file set information 171 for specifying a specific file set consisting of files B, C, and D are included.
  • the specific information 170 specifies the specific file set information 171 for specifying the specific file set consisting of the files B and D, and the specific file set consisting of the files B, C, and D.
  • the specific file set information 171 for the purpose is included.
  • FIG. 10 is a flowchart showing an example of a process (also referred to as a third generation process) in which the specific unit 120 generates the specific information 170.
  • the specific unit 120 sets the first combination registered in the frequency information 150 as the processing target combination.
  • the specific unit 120 sets the file names of the plurality of files 201 constituting the processing target combination in the variable j. That is, the specific unit 120 sets a plurality of file names constituting the first combination specific information 151 of the frequency information 150 in the variable j.
  • step s52 the specific unit 120 determines whether or not the variable j is empty. If Yes is determined in step s52, the third generation process ends. On the other hand, if No is determined in step s52, step s53 is executed.
  • step s53 the specific unit 120 determines whether or not the plurality of file names set in the variable j include the file names included in the latest check-in information 160.
  • the latest check-in information 160 includes a plurality of file names
  • the specific unit 120 includes the plurality of file names included in the latest check-in information 160 in the plurality of file names set in the variable j. Determine if it is. If No is determined in step s53, step s56 is executed. On the other hand, if Yes is determined in step s53, step s54 is executed.
  • step s54 the specific unit 120 determines whether or not the frequency corresponding to the processing target combination included in the frequency information 150 is the threshold value 180 or more. If No is determined in step s54, step s56 is executed. On the other hand, if Yes is determined in step s54, step s55 is executed.
  • step s55 the specific unit 120 registers a plurality of file names set in the variable j in the specific information 170 as specific file group information 171 for specifying the specific file group. After that, step s56 is executed.
  • step s56 the specific unit 120 sets the next combination registered in the frequency information 150 as the processing target combination. Then, the specific unit 120 sets the file names of the plurality of files 201 constituting the processing target combination in the variable j. That is, the specific unit 120 sets a plurality of file names constituting the next combination specific information 151 of the frequency information 150 in the variable j. After that, step s52 is executed again, and thereafter, the specific unit 120 operates in the same manner.
  • step s56 when a plurality of file names constituting the final combination specific information 151 of the frequency information 150 are set in the variable j, in the next step s56, there are no plurality of file names to be set in the variable j. .. Therefore, in step s52 immediately after that, it is determined as Yes, and the third generation process ends.
  • the specific information 170 generated as described above is notified to, for example, the user of the information processing apparatus 100.
  • the information processing device 100 notifies the user of the specific information 170 by displaying the specific information 170 generated by the specific unit 120 on, for example, the display device 5.
  • the user can identify the file 201 that is likely to be affected by the change in the target file 201.
  • the target file 201 is the file 201 related to the latest check-in
  • the user may identify the file 201 that is likely to be affected by the recently changed file 201 by referring to the specific information 170. can.
  • the specific information 170 the user can identify the file 201 that is likely to be changed in response to the change of the recently changed file 201.
  • the files 201 other than the target file 201 are affected by the change of the target file 201. It can be said that the file 201 has a high possibility.
  • the user sets the file 201 having a file name other than the file name of the target file 201 as the file 201 that is likely to be affected by the change of the target file 201. .. Then, the user determines whether or not the specified file 201 needs to be changed, and if it is determined that the specified file 201 needs to be changed, the user changes the specified file 201. This makes it difficult for omissions / omissions of changes in the file 201 to occur.
  • the user changes the file B and D having a file name other than the file name of the file C among the file names of the files B, C, and D included in the specific information 170 shown in FIG. It is assumed that the file 201 is likely to be affected by the above. Then, the user determines whether or not each of the files B and D needs to be changed, and if it is determined that the change is necessary, the user changes the corresponding file 201.
  • the file 201 related to the latest check-in is files B and D.
  • the user sets the file C having a file name other than the file names of the files B and D among the file names of the files B, C, and D included in the specific information 170 shown in FIG. 9 to the files B and D. It is assumed that the file 201 is likely to be affected by the change of. Then, the user determines whether or not the file C needs to be changed, and if it determines that the file C needs to be changed, the user changes the file C.
  • the information processing apparatus 100 does not have to notify the user of the file name of the target file 201 among the plurality of file names included in the specific information 170.
  • the display device 5 does not have to display the file name of the target file 201 among the plurality of file names included in the specific information 170.
  • the method in which the information processing apparatus 100 notifies the user of the file name included in the specific information 170 is not limited to the above example.
  • the information processing apparatus 100 may notify the user of the file name included in the specific information 170 by using, for example, voice. Further, the information processing apparatus 100 may transmit the specific information 170 to another apparatus.
  • the information processing apparatus 100 may transmit the specific information 170 to the configuration management apparatus 202 or may transmit it to another apparatus.
  • FIG. 11 is a flowchart showing an example of the operation of the management system 500 in this case.
  • the configuration management device 202 detects the occurrence of a new check-in in step s1
  • the configuration management device 202 updates the change history information 203 in response to the occurrence of a new check-in in step s2.
  • the configuration management device 202 registers the new revision ID and the file name of the change file 201 written back to the repository at the new check-in in association with the change history information 203.
  • the updated change history information 203 is input to the information processing apparatus 100.
  • step s3 the first generation unit 111 of the information processing apparatus 100 executes the first generation process using the updated change history information 203. That is, the first generation unit 111 newly generates the list information 190 and the latest check-in information 160 based on the updated change history information 203. The first generation unit 111 generates the list information 190 and the latest check-in information 160 in response to the occurrence of the latest check-in.
  • step s4 the second generation unit 112 executes the second generation process using the list information 190 generated in step s3. That is, the second generation unit 112 newly generates the frequency information 150 based on the list information 190 generated in step s3. The second generation unit 112 generates frequency information 150 according to the occurrence of the latest check-in.
  • the specific unit 120 includes the frequency information 150 generated in step s4 (in other words, the frequency information 150 generated in response to the occurrence of the latest check-in) and the latest check-in generated in step s3.
  • the third generation process using the information 160 is executed. That is, the specific unit 120 generates the specific information 170 based on the frequency information 150 generated in step s4 and the latest check-in information 160 generated in step s3.
  • step s5 when the configuration management device 202 detects the occurrence of a new check-in (step s1), step s2 is executed again, and thereafter, the management system 500 operates in the same manner.
  • the changes are collectively checked in including at least one target file 201.
  • Multiple files 201 that are likely to be identified are identified.
  • the files 201 other than the target file 201 are the files 201 that are likely to be affected by the change of the target file 201. It can be said that. Therefore, it is possible to identify the file 201 that is likely to be affected by the change of the target file 201 from the plurality of files 201 that are likely to be checked in all at once, including the target file 201. This makes it difficult for omissions / omissions of changes in the file 201 to occur. As a result, the quality of managed software can be improved.
  • a plurality of files 201 that are likely to be changed and checked in all at once, including the target file 201, that is, a specific file set is specified for each combination of the plurality of files 201.
  • Frequency information indicating the frequency with which a plurality of files 201 constituting the combination are changed and checked in all at once is used. This makes it possible to specify a specific file set with higher accuracy.
  • the file 201 related to the target check-in is included and changed in a batch.
  • a plurality of files 201 that are likely to be checked in have been identified.
  • a plurality of files 201 that are likely to be changed and collectively checked in, including the file 201 related to the target check-in are identified based on the frequency information 150 in which the information regarding the target check-in is reflected. File. Therefore, the specific file set can be specified more accurately.
  • FIG. 12 is a schematic diagram showing an example of the configuration of the software management system 500A including the information processing apparatus 100A according to the present embodiment.
  • the software management system 500A (also referred to as a management system 500A) includes a configuration management device 202A and an information processing device 100A.
  • the configuration management device 202A generates and outputs the latest check-in information 204 in addition to the change history information 203 in the above-mentioned configuration management device 202.
  • the latest check-in information 204 is information for identifying the change file 201 related to the latest check-in. That is, the latest check-in information 204 is information for identifying the change file 201 written back to the repository in the latest check-in.
  • FIG. 13 is a diagram showing an example of the latest check-in information 204.
  • the latest check-in information 204 includes a revision ID corresponding to the latest check-in and specific information 2040 for identifying the change file 201 related to the latest check-in.
  • the specific information 2040 is, for example, the file name of the change file 201 related to the latest check-in.
  • the latest check-in information 204 includes the revision 13 corresponding to the latest check-in and the file name of the file C related to the latest check-in.
  • the information processing apparatus 100A includes a generation unit 110A and the above-mentioned specific unit 120.
  • the generation unit 110A includes a first generation unit 111A and the above-mentioned second generation unit 112.
  • the first generation unit 111A does not generate the latest check-in information 160 in the above-mentioned first generation unit 111.
  • the first generation unit 111A does not execute step s33 in the above-mentioned first generation process.
  • FIG. 14 is a flowchart showing an example of the operation of the generation unit 110A.
  • the generation unit 110A repeatedly executes a series of processes shown in FIG.
  • the generation unit 110A executes a series of processes shown in FIG. 14, for example, at regular time intervals.
  • step s111 the first generation unit 111A of the generation unit 110A acquires the change history information 203.
  • the first generation unit 111A generates, for example, transmission request information indicating a transmission request of the change history information 203.
  • This transmission request information is transmitted from the communication device 4 of the information processing device 100A to the configuration management device 202A.
  • the configuration management device 202A Upon receiving the transmission request information, the configuration management device 202A transmits the latest change history information 203 to the information processing device 100A.
  • the communication device 4 receives the change history information 203.
  • the received change history information 203 is input to the first generation unit 111A.
  • the first generation unit 111A acquires the change history information 203 in step s111.
  • the configuration management device 202A may transmit the change history information 203 to the information processing device 100 each time a new check-in occurs, as shown in FIG. 11 above.
  • the information processing device 100A stores, for example, the received change history information 203 in the storage device 2. Then, when the information processing apparatus 100A receives the new change history information 203, the information processing apparatus 100A replaces the change history information 203 in the storage device 2 with the received new change history information 203.
  • the first generation unit 111A reads and acquires the change history information 203 from the storage device 2 at the execution timing of step s111.
  • step s112 the first generation unit 111A generates the list information 190 based on the change history information 203 acquired in step s111.
  • step s113 the second generation unit 112 generates frequency information 150 based on the list information 190 generated in step s112. Then, the second generation unit 112 stores the generated frequency information 150 in the storage device 2.
  • the second generation unit 112 replaces the frequency information 150 in the storage device 2 with the generated frequency information 150.
  • FIG. 15 is a flowchart showing an example of the operation of the specific unit 120.
  • the specific unit 120 acquires the latest check-in information 204.
  • the configuration management device 202A generates the latest check-in information 204 every time a new check-in occurs and transmits the latest check-in information 204 to the information processing device 100A.
  • the latest check-in information 204 input to the information processing apparatus 100A is input to the specific unit 120.
  • the specific unit 120 executes step s121 every time a new check-in occurs to acquire the latest check-in information 204.
  • step s122 the specific unit 120 reads out the frequency information 150 from the storage device 2 and acquires it. Then, in step s123, the specific unit 120 generates specific information 170 based on the frequency information 150 acquired in step s122 and the latest check-in information 204 acquired in step s121. The specific unit 120 uses the latest check-in information 204 instead of the latest check-in information 160 in the third generation process described above. When a new check-in occurs after step s123, steps s121 to s123 are executed.
  • the plurality of files 201 that are likely to be changed and collectively checked in including the file 201 related to the target check-in of interest (the latest check-in in the above example).
  • frequency information 150 generated prior to the occurrence of the target check-in is used.
  • the specific unit 120 immediately generates the frequency information 150 when the target check-in occurs. Can be obtained. Therefore, the specific unit 120 can immediately specify the specific file set including the file 201 related to the target check-in when the target check-in occurs.
  • the specific unit 120 uses the latest check-in information 204 generated by the configuration management device 202 to generate the specific information 170. May be generated. In this case, the first generation unit 111 does not have to generate the latest check-in information 160.
  • the file name is used as the information for specifying the file 201, but other information may be used.
  • the information for identifying the file 201 for example, the identification number of the file 201 may be used.
  • the list information 190 and the like include the identification number of the file 201 instead of the file name.
  • the frequency information 150 includes the frequency (in other words, the number of times) itself, but may include information indirectly indicating the frequency. For example, it may contain information indicating the degree of frequency, such as high frequency, medium frequency, and low frequency. In this case, in step s54 of the third generation process described above, it may be determined whether or not the information including the frequency information 150 indicating the degree of frequency corresponding to the processing target combination indicates "high frequency". ..
  • the specific information 170 is information for identifying a plurality of files 201 that are likely to be changed and collectively checked in, including at least one target file 201. However, even if it is information for identifying a file 201 other than the target file 201 among a plurality of files 201 that are likely to be changed and checked in all at once, including at least one target file 201. good. That is, the specific information 170 may be information for identifying the file 201 in which the change of the target file is likely to spread. In this case, the specific information 170 includes information for specifying a file 201 other than the target file 201 among the plurality of files 201 constituting the specific file set, instead of the specific file set information 171.
  • each embodiment can be freely combined, and each embodiment can be appropriately modified or omitted.
  • processing circuit processing unit
  • 20 control program 100 information processing device, 110 generation unit, 111 first generation unit, 112 second generation unit, 120 specific unit, 150 frequency information, 170 specific information, 190 list information, 203 Change history information.

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An information processing device provided with a processing unit. On the basis of change history information indicating a history of changes of a source file, in units of check-ins, the processing unit identifies a plurality of source files which includes at least one subject source file and for which the possibility of being changed and checked in as one batch is high.

Description

情報処理装置及びプログラムInformation processing equipment and programs
 本開示は、ソフトウェアの開発を支援するための技術に関する。 This disclosure relates to technology for supporting software development.
 ソフトウェア開発において、すべてのソースファイルが新規に作成されることは少なく、ほとんどの場合は、既存のソフトウェアが変更されることによりソフトウェア開発が行われている。 In software development, it is rare that all source files are newly created, and in most cases, software development is performed by changing existing software.
 複数のソースファイル間の依存関係により、一つのソースファイルを変更すると、その変更の影響が他のソースファイルに波及することがある。この場合、一つのソースファイルの変更に応じて他のソースファイルも変更する必要がある。 If one source file is changed due to the dependency between multiple source files, the effect of the change may spread to other source files. In this case, it is necessary to change other source files according to the change of one source file.
 上記の変更影響の波及範囲の分析は、人手による作業で行われることが多く、熟練のソフトウェア設計者でないと波及範囲の特定に抜け・漏れが生じ、後工程での不具合を引き起こす可能がある。 The analysis of the ripple range of the above change effect is often performed manually, and if you are not a skilled software designer, there may be omissions or omissions in the identification of the ripple range, which may cause problems in the subsequent process.
 そこで、特許文献1の技術では、ファイルの変更時刻あるいはチェックイン時刻に着目し、対象のファイルと間接的な依存関係にあるファイルを特定している。 Therefore, in the technique of Patent Document 1, attention is paid to the file modification time or check-in time, and the file having an indirect dependency relationship with the target file is specified.
 なお、特許文献2にはファイルの管理技術が記載され、特許文献3にはファイルイベント間の相関を求める技術が記載されている。 Note that Patent Document 2 describes a file management technique, and Patent Document 3 describes a technique for obtaining a correlation between file events.
特開2010-191580号公報Japanese Unexamined Patent Publication No. 2010-191580 特開2011-145901号公報Japanese Unexamined Patent Publication No. 2011-145901 特開2009-199356号公報Japanese Unexamined Patent Publication No. 2009-199356
 特許文献1の技術では、一定時間内に変更あるいはチェックインされた複数のファイルをすべて依存関係にあるファイルとしているため、対象のファイルと無関係なファイルが特定される可能性がある。 In the technology of Patent Document 1, since a plurality of files changed or checked in within a certain period of time are all dependent files, there is a possibility that a file unrelated to the target file may be specified.
 そこで、本開示は上述の点に鑑みて成されたものであり、対象のソースファイルの変更の影響が波及する可能性が高いソースファイルを特定することが可能な技術を提供することを目的とする。 Therefore, the present disclosure has been made in view of the above points, and an object thereof is to provide a technique capable of identifying a source file that is likely to be affected by a change in the target source file. do.
 情報処理装置の一態様は、チェックイン単位でのソースファイルの変更の履歴を示す変更履歴情報に基づいて、少なくとも一つの対象ソースファイルを含む、変更されて一括してチェックインされる可能性が高い複数のソースファイルを特定する処理部を備える。 One aspect of the information processing device may be changed and collectively checked in, including at least one target source file, based on the change history information indicating the history of changes in the source files for each check-in. It has a processing unit that identifies multiple high source files.
 また、プログラムの一態様は、コンピュータ装置に、チェックイン単位でのソースファイルの変更の履歴を示す変更履歴情報に基づいて、少なくとも一つの対象ソースファイルを含む、変更されて一括してチェックインされる可能性が高い複数のソースファイルを特定する工程を実行させるためのプログラムである。 In addition, one aspect of the program is changed and collectively checked in to the computer device, including at least one target source file, based on the change history information indicating the history of changes in the source files on a check-in basis. It is a program to execute the process of identifying multiple source files that are likely to be.
 本開示によれば、対象ソースファイルの変更の影響が波及する可能性が高いソースファイルを特定することができる。 According to this disclosure, it is possible to identify a source file that is likely to be affected by changes in the target source file.
 本開示の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。 The purposes, features, aspects, and advantages of the present disclosure will be made clearer by the following detailed description and accompanying drawings.
ソフトウェア管理システムの構成の一例を示す概略図である。It is a schematic diagram which shows an example of the configuration of a software management system. 変更履歴情報の一例を示す図である。It is a figure which shows an example of the change history information. 情報処理装置のハードウェア構成の一例を示す概略図である。It is a schematic diagram which shows an example of the hardware composition of an information processing apparatus. リスト情報の一例を示す図である。It is a figure which shows an example of list information. 第1生成部の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of the 1st generation part. 頻度情報の一例を示す図である。It is a figure which shows an example of frequency information. 第2生成部の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of the 2nd generation part. 特定情報の一例を示す図である。It is a figure which shows an example of specific information. 特定情報の一例を示す図である。It is a figure which shows an example of specific information. 特定部の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of a specific part. ソフトウェア管理システムの動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of a software management system. ソフトウェア管理システムの構成の一例を示す概略図である。It is a schematic diagram which shows an example of the configuration of a software management system. 最新チェックイン情報の一例を示す図である。It is a figure which shows an example of the latest check-in information. 生成部の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of a generation part. 特定部の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of a specific part.
 実施の形態1.
 図1は本実施の形態に係る情報処理装置100を含むソフトウェア管理システム500の構成の一例を示す概略図である。ソフトウェア管理システム500(単に管理システム500ともいう)は、ソフトウェアを管理するシステムである。管理システム500は、例えば、構成管理装置202及び情報処理装置100を備える。以後、管理システム500が管理する対象のソフトウェアを管理対象ソフトウェアと呼ぶことがある。
Embodiment 1.
FIG. 1 is a schematic diagram showing an example of the configuration of a software management system 500 including an information processing apparatus 100 according to the present embodiment. The software management system 500 (also simply referred to as a management system 500) is a system for managing software. The management system 500 includes, for example, a configuration management device 202 and an information processing device 100. Hereinafter, the software to be managed by the management system 500 may be referred to as the software to be managed.
 構成管理装置202は、管理対象ソフトウェアの構成管理を行う装置である。構成管理装置202は、例えば、一種のサーバ装置である。構成管理装置202は、コンピュータ装置であるとも言える。構成管理装置202は、例えば、管理対象ソフトウェアの開発で使用される複数のソースファイル201のバージョンを管理することが可能である。構成管理装置202は、ソースファイル201のバージョンを管理するバージョン管理装置を備えるとも言える。構成管理装置202は、バージョン管理装置として、例えば、バージョン管理システムの一種であるSubversion(登録商標)に応じたサーバ装置を備えてもよいし、他の種類の装置を備えてもよい。ソースファイル201は、C言語等のプログラミング言語でソースコードが記述されたファイルである。以後、単にファイルと言えば、ソースファイルを意味する。 The configuration management device 202 is a device that manages the configuration of the managed software. The configuration management device 202 is, for example, a kind of server device. It can be said that the configuration management device 202 is a computer device. The configuration management device 202 can manage, for example, versions of a plurality of source files 201 used in the development of managed software. It can be said that the configuration management device 202 includes a version control device that manages the version of the source file 201. As the version control device, the configuration management device 202 may be provided with, for example, a server device corresponding to Subversion (registered trademark) which is a kind of version control system, or may be provided with another type of device. The source file 201 is a file in which the source code is described in a programming language such as C language. Hereafter, the term "file" simply means a source file.
 構成管理装置202は、例えば、管理対象ソフトウェアの開発で使用される、各バージョンのファイル201を記憶するリポジトリを備える。リポジトリは、一種のデータベースである。構成管理装置202には端末装置が接続されている。端末装置は、構成管理装置202のリポジトリからファイル201を読み出したり、リポジトリ内にファイル201を書き込んだりすることができる。端末装置は、リポジトリから読み出したファイル201をユーザの指示に応じて変更することができる。そして、端末装置は、変更したファイル201をリポジトリに書き戻すことができる。リポジトリからファイル201が読み出されることはチェックアウトと呼ばれる。一方で、ファイル201がリポジトリに書き戻されることはチェックインあるいはコミットと呼ばれる。以後、変更されたソースファイルを変更ソースファイルあるいは変更ファイルと呼ぶことがある。 The configuration management device 202 includes, for example, a repository for storing each version of the file 201 used in the development of managed software. A repository is a kind of database. A terminal device is connected to the configuration management device 202. The terminal device can read the file 201 from the repository of the configuration management device 202 and write the file 201 in the repository. The terminal device can change the file 201 read from the repository according to the user's instruction. Then, the terminal device can write back the changed file 201 to the repository. Reading file 201 from the repository is called checkout. On the other hand, writing file 201 back to the repository is called check-in or commit. Hereinafter, the modified source file may be referred to as a modified source file or a modified file.
 構成管理装置202は、管理対象ソフトウェアに関して、例えば、チェックイン単位でのファイル201の変更の履歴を示す変更履歴情報203を生成して出力することが可能である。変更履歴情報203はソフトウェア開発ごとに生成される。図2は変更履歴情報203の一例を示す図である。 The configuration management device 202 can generate and output change history information 203 indicating the history of changes in the file 201 in each check-in unit, for example, with respect to the managed software. The change history information 203 is generated for each software development. FIG. 2 is a diagram showing an example of change history information 203.
 図2に示されるように、変更履歴情報203は、リビジョンID(identifier)を含む。リビジョンIDは、チェックインに対応している。リビジョンIDは、例えば、数字の1から始まり、チェックインごとに1だけ加算される番号である。リビジョンIDはリビジョン番号とも呼ばれる。変更履歴情報203では、各リビジョンIDに対して、例えば、当該リビジョンIDに対応するチェックインにおいてリポジトリに書き戻された変更ファイル201を特定するための情報が対応付けられている。当該情報としては、例えばファイル名が採用される。変更更履歴情報203において、最大のリビジョンIDは最新チェックインに対応している。変更履歴情報203は、リビジョンログとも呼ばれる。 As shown in FIG. 2, the change history information 203 includes a revision ID (identifier). The revision ID corresponds to check-in. The revision ID is, for example, a number that starts with the number 1 and is incremented by 1 for each check-in. The revision ID is also called the revision number. In the change history information 203, information for identifying the change file 201 written back to the repository at the check-in corresponding to the revision ID is associated with each revision ID, for example. As the information, for example, a file name is adopted. In the change history information 203, the maximum revision ID corresponds to the latest check-in. The change history information 203 is also referred to as a revision log.
 図2の例では、リビジョン1に対して、リビジョン1に対応するチェックインにおいてリポジトリに書き戻された変更ソースファイルA,B,C,Dのファイル名が対応付けられている。リビジョン1に対応する変更ソースファイルA,B,C,Dは一括してチェックインされている。また、最大のリビジョン12に対しては、最新チェックインにおいてリポジトリに書き戻された変更ソースファイルCのファイル名が対応付けられている。 In the example of FIG. 2, the file names of the modified source files A, B, C, and D written back to the repository at the check-in corresponding to revision 1 are associated with revision 1. The change source files A, B, C, and D corresponding to revision 1 are checked in all at once. Further, the file name of the change source file C written back to the repository at the latest check-in is associated with the maximum revision 12.
 情報処理装置100は、構成管理装置202が出力する変更履歴情報203に基づいて、注目する対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201を特定する。対象ファイルとしては、例えば、最新チェックインに係るファイル201が採用される。最新チェックインに係るファイル201、言い換えれば、最新チェックインにおいてリポジトリに書き戻されたファイル201がファイルCである場合、情報処理装置100は、ファイルCを含む、変更されて一括してチェックインされる可能性が高い複数のファイル201を特定する。 The information processing device 100 identifies a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201 of interest, based on the change history information 203 output by the configuration management device 202. .. As the target file, for example, the file 201 related to the latest check-in is adopted. When the file 201 related to the latest check-in, in other words, the file 201 written back to the repository in the latest check-in is the file C, the information processing apparatus 100 is changed and collectively checked in including the file C. Identify multiple files 201 that are likely to be.
 ここで、例えば、ファイルA,B,C間の依存関係により、ファイルAの変更の影響がファイルB及びCに波及する場合を考える。この場合、ファイルAの変更に応じてファイルB及びCも変更され、変更されたファイルA,B,Cが一括してチェックインされる可能性が高い。したがって、対象ファイル201を含む、一括してチェックインされる可能性が高い複数のファイル201において、対象ファイル201以外のファイル201は、対象ファイル201の変更の影響が波及する可能性が高いファイル201であると言える。よって、対象ファイル201を含む、一括してチェックインされる可能性が高い複数のファイル201から、対象ファイル201の変更の影響が波及する可能性が高いファイル201を特定することができる。 Here, consider, for example, a case where the influence of the change of the file A spreads to the files B and C due to the dependency between the files A, B, and C. In this case, the files B and C are also changed according to the change of the file A, and there is a high possibility that the changed files A, B, and C are checked in all at once. Therefore, in a plurality of files 201 that are likely to be checked in all at once, including the target file 201, the files 201 other than the target file 201 are likely to be affected by the change of the target file 201. It can be said that. Therefore, it is possible to identify the file 201 that is likely to be affected by the change of the target file 201 from the plurality of files 201 that are likely to be checked in all at once, including the target file 201.
 情報処理装置100は、生成部110及び特定部120を備える。生成部110は第1生成部111及び第2生成部112を備える。第1生成部111は、変更履歴情報203に基づいて、一括してチェックインされた複数の変更ファイル201から成る変更ファイル組のリストを示すリスト情報190を生成する。また、第1生成部111は、最新チェックインに係るファイル201、つまり、最新チェックインにおいてリポジトリに書き戻された変更ファイル201を特定するための最新チェックイン情報160を生成する。最新チェックイン情報160は、例えば、最新チェックインにおいてリポジトリに書き戻された変更ファイル201のファイル名を含む。例えば、最新チェックインにおいて変更ファイルA~Cがリポジトリに書き戻された場合、最新チェックイン情報160には、ファイルA~Cのそれぞれのファイル名が含まれる。 The information processing device 100 includes a generation unit 110 and a specific unit 120. The generation unit 110 includes a first generation unit 111 and a second generation unit 112. The first generation unit 111 generates list information 190 indicating a list of change file sets including a plurality of change files 201 collectively checked in based on the change history information 203. In addition, the first generation unit 111 generates the latest check-in information 160 for identifying the file 201 related to the latest check-in, that is, the change file 201 written back to the repository in the latest check-in. The latest check-in information 160 includes, for example, the file name of the change file 201 written back to the repository at the latest check-in. For example, when the changed files A to C are written back to the repository in the latest check-in, the latest check-in information 160 includes the respective file names of the files A to C.
 第2生成部112は、複数のファイル201の組み合わせごとに、当該組み合わせを構成する複数のファイル201が変更されて一括してチェックインされた頻度を示す頻度情報150を、リスト情報190に基づいて生成する。 The second generation unit 112 provides frequency information 150 indicating the frequency with which the plurality of files 201 constituting the combination are changed and checked in collectively for each combination of the plurality of files 201, based on the list information 190. Generate.
 特定部120は、頻度情報150としきい値180とに基づいて、対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201を特定する。特定部120は、例えば、対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201を特定するための特定情報170を生成する。 The specifying unit 120 identifies a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201, based on the frequency information 150 and the threshold value 180. The specific unit 120 generates specific information 170 for identifying a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201, for example.
 図3は、情報処理装置100のハードウェア構成の一例を示す概略図である。情報処理装置100は一種のコンピュータ装置である。図3に示されるように、情報処理装置100は、ハードウェアとして、例えば、処理回路1と、記憶装置2と、入力装置3と、通信装置4と、表示装置5とを備える。 FIG. 3 is a schematic diagram showing an example of the hardware configuration of the information processing apparatus 100. The information processing device 100 is a kind of computer device. As shown in FIG. 3, the information processing device 100 includes, for example, a processing circuit 1, a storage device 2, an input device 3, a communication device 4, and a display device 5 as hardware.
 処理回路1は、例えば、少なくとも一つのプロセッサを備える。処理回路1は、例えば、プロセッサの一種であるCPU(Central Processing Unit)を備える。処理回路1は、複数のCPUを備えてもよいし、少なくとも一つのDSP(Digital Signal Processor)を備えてもよい。処理回路1は処理部1とも言える。 The processing circuit 1 includes, for example, at least one processor. The processing circuit 1 includes, for example, a CPU (Central Processing Unit) which is a kind of processor. The processing circuit 1 may include a plurality of CPUs, or may include at least one DSP (Digital Signal Processor). The processing circuit 1 can also be said to be the processing unit 1.
 記憶装置2は、例えば、ROM(Read Only Memory)及びRAM(Random Access Memory)などの、CPU等のプロセッサが読み取り可能な非一時的な記録媒体を含む。記憶装置2は、ROM及びRAM以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えてもよい。記憶装置2は、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などを備えてもよい。 The storage device 2 includes a non-temporary recording medium such as a ROM (ReadOnlyMemory) and a RAM (RandomAccessMemory) that can be read by a processor such as a CPU. The storage device 2 may include a non-temporary recording medium other than ROM and RAM that can be read by a computer. The storage device 2 may include, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
 記憶装置2は、情報処理装置100を制御するための制御プログラム20を記憶する。処理回路1のプロセッサが制御プログラム20を実行することによって、処理回路1の各種機能が実現される。本実施の形態では、生成部110及び特定部120のそれぞれは、例えば、処理回路1が記憶装置2内の制御プログラム20を実行することによって処理回路1に実現される機能ブロックで構成されている。処理回路1(言い換えれば処理部1)は、変更履歴情報203に基づいて、対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201を特定する。 The storage device 2 stores a control program 20 for controlling the information processing device 100. When the processor of the processing circuit 1 executes the control program 20, various functions of the processing circuit 1 are realized. In the present embodiment, each of the generation unit 110 and the specific unit 120 is composed of, for example, a functional block realized in the processing circuit 1 by the processing circuit 1 executing the control program 20 in the storage device 2. .. The processing circuit 1 (in other words, the processing unit 1) identifies a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201, based on the change history information 203.
 なお、処理回路1の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてもよい。この場合には、処理回路1の少なくとも一部は、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)及びFPGA(field-programmable gate array)の少なくとも一つで構成されてもよい。処理回路1の少なくとも一部が、その機能の実現にソフトウェアが不要なハードウェア回路によって実現される場合には、第1生成部111、第2生成部112及び特定部120の少なくとも一つが、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてもよい。 Note that at least a part of the processing circuit 1 may be realized by a hardware circuit that does not require software to realize the function. In this case, at least a part of the processing circuit 1 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit) and an FPGA (field-programmable gate). It may be composed of at least one of array). When at least a part of the processing circuit 1 is realized by a hardware circuit that does not require software to realize its function, at least one of the first generation unit 111, the second generation unit 112, and the specific unit 120 is the same. It may be realized by a hardware circuit that does not require software to realize the function.
 表示装置5は、文字、記号及び図形等の各種情報を表示することが可能である。表示装置5は、液晶表示装置であってもよいし、他の種類の表示装置であってもよい。入力装置3は、ユーザからの入力を受け付けることが可能である。入力装置3は、例えば、キーボード及びマウスを備える。入力装置3は、タッチセンサを備えてもよい。この場合、表示装置5は、入力装置3が備えるタッチセンサを有するタッチパネルディスプレイであってもよい。入力装置3はマイクを備えてもよい。特定部120で使用されるしきい値180は、例えば、入力装置3を通じて情報処理装置100に入力される。情報処理装置100に入力されたしきい値180は、例えば記憶装置2に記憶される。 The display device 5 can display various information such as characters, symbols, and figures. The display device 5 may be a liquid crystal display device or another type of display device. The input device 3 can receive an input from the user. The input device 3 includes, for example, a keyboard and a mouse. The input device 3 may include a touch sensor. In this case, the display device 5 may be a touch panel display having a touch sensor included in the input device 3. The input device 3 may include a microphone. The threshold value 180 used by the specific unit 120 is input to the information processing device 100 through the input device 3, for example. The threshold value 180 input to the information processing device 100 is stored in, for example, the storage device 2.
 通信装置4は、情報処理装置100の外部の装置と通信することが可能である。通信装置4は通信回路であると言える。通信装置4は、例えば、構成管理装置202と通信することが可能である。通信装置4は、構成管理装置202と直接通信してもよいし、インターネット等を含むネットワークを通じて構成管理装置202と通信してもよい。通信装置4は有線通信を行ってもよいし、無線通信を行ってもよい。通信装置4は、例えば、構成管理装置202が出力する変更履歴情報203を受信することができる。通信装置4で受信された変更履歴情報203は、例えば記憶装置2に記憶される。 The communication device 4 can communicate with an external device of the information processing device 100. It can be said that the communication device 4 is a communication circuit. The communication device 4 can communicate with, for example, the configuration management device 202. The communication device 4 may directly communicate with the configuration management device 202, or may communicate with the configuration management device 202 through a network including the Internet or the like. The communication device 4 may perform wired communication or wireless communication. The communication device 4 can receive, for example, the change history information 203 output by the configuration management device 202. The change history information 203 received by the communication device 4 is stored in, for example, the storage device 2.
 なお、情報処理装置100のハードウェア構成は上記の例に限られない。例えば、情報処理装置100は、表示装置5を備えなくてもよい。また、情報処理装置100は、処理回路1、記憶装置2、入力装置3、通信装置4及び表示装置5以外の装置を備えてもよい。 The hardware configuration of the information processing device 100 is not limited to the above example. For example, the information processing device 100 does not have to include the display device 5. Further, the information processing device 100 may include a device other than the processing circuit 1, the storage device 2, the input device 3, the communication device 4, and the display device 5.
 次に、第1生成部111、第2生成部112及び特定部120の動作について詳細に説明する。 Next, the operations of the first generation unit 111, the second generation unit 112, and the specific unit 120 will be described in detail.
 <第1生成部について>
 図4は第1生成部111が生成するリスト情報190の一例を示す図である。図4に示されるリスト情報190は、図2に示される変更履歴情報203に基づいて生成された情報である。リスト情報190では、一括してチェックインされた複数の変更ファイル201から成る変更ファイル組を特定するための特定情報191が、チェックイン単位でリスト化されている。特定情報191としては、例えば、変更ファイル組を構成する複数のファイル201のファイル名が採用される。
<About the first generation unit>
FIG. 4 is a diagram showing an example of the list information 190 generated by the first generation unit 111. The list information 190 shown in FIG. 4 is information generated based on the change history information 203 shown in FIG. In the list information 190, specific information 191 for specifying a change file set consisting of a plurality of change files 201 checked in collectively is listed for each check-in. As the specific information 191, for example, the file names of a plurality of files 201 constituting the modified file set are adopted.
 第1生成部111は、変更履歴情報203の各リビジョンIDについて、複数のファイル名が対応付けられているか否かを判定する。そして、第1生成部111は、一のリビジョンIDに対して対応付けられている複数のファイル名を、一の変更ファイル組を構成する複数のファイル201のファイル名としてリスト情報190に登録する。 The first generation unit 111 determines whether or not a plurality of file names are associated with each revision ID of the change history information 203. Then, the first generation unit 111 registers the plurality of file names associated with one revision ID in the list information 190 as the file names of the plurality of files 201 constituting one change file set.
 図2の例では、リビジョン1~5,7~10のそれぞれに対して複数のファイル名が対応付けられている。第1生成部111は、リビジョン1~5,7~10に対応付けられている複数のファイル名を、リビジョンID単位でリスト情報190に登録する。以後、変更ファイル組を構成する複数のファイル201のファイル名をファイル名群と呼ぶことがある。 In the example of FIG. 2, a plurality of file names are associated with each of revisions 1 to 5, 7 to 10. The first generation unit 111 registers a plurality of file names associated with revisions 1 to 5, 7 to 10 in the list information 190 in units of revision IDs. Hereinafter, the file names of a plurality of files 201 constituting the changed file set may be referred to as a file name group.
 図4の例では、リスト情報190の一番上のリストに示される、ファイルA,B,C,Dのファイル名は、リビジョン1に対応している。リスト情報190の上から二番目のリストに示される、ファイルA及びEのファイル名は、リビジョン2に対応している。リスト情報190の最後のリストに示される、ファイルB及びCのファイル名は、リビジョン10に対応している。リスト情報190を参照することにより、一括してチェックインされた複数の変更ファイル201を、チェックイン単位で特定することができる。 In the example of FIG. 4, the file names of files A, B, C, and D shown in the top list of the list information 190 correspond to revision 1. The file names of files A and E shown in the second list from the top of the list information 190 correspond to revision 2. The file names of files B and C shown in the last list of list information 190 correspond to revision 10. By referring to the list information 190, a plurality of change files 201 that have been collectively checked in can be specified for each check-in.
 図5は、第1生成部111がリスト情報190及び最新チェックイン情報160を生成する処理(第1生成処理ともいう)の一例を示すフローチャートである。図5に示されるように、ステップs31において、第1生成部11は変数nに1を代入する。そして、ステップs32において、第1生成部11は、変更履歴情報203にリビジョンnが含まれているか否かを判定する。ステップs32においてNoと判定されると、第1生成処理が終了する。一方で、ステップs32においてYesと判定されると、ステップs33が実行される。ステップs33において、第1生成部111は、リビジョンnに対応付けられているファイル名を最新チェックイン情報160に登録する。 FIG. 5 is a flowchart showing an example of a process (also referred to as a first generation process) in which the first generation unit 111 generates the list information 190 and the latest check-in information 160. As shown in FIG. 5, in step s31, the first generation unit 11 substitutes 1 for the variable n. Then, in step s32, the first generation unit 11 determines whether or not the revision n is included in the change history information 203. If No is determined in step s32, the first generation process ends. On the other hand, if Yes is determined in step s32, step s33 is executed. In step s33, the first generation unit 111 registers the file name associated with the revision n in the latest check-in information 160.
 次にステップs34において、第1生成部111は、リビジョンnに複数のファイル名が対応付けられているか否かを判定する。ステップs34においてNoと判定されるとステップs36が実行される。一方で、ステップs34においてYesと判定されるとステップs35が実行される。 Next, in step s34, the first generation unit 111 determines whether or not a plurality of file names are associated with the revision n. If No is determined in step s34, step s36 is executed. On the other hand, if Yes is determined in step s34, step s35 is executed.
 ステップs35において、第1生成部111は、リビジョンnに対応付けられている複数のファイル名をファイル名群としてリスト情報190に登録する。その後、ステップs36が実行される。ステップs36において、第1生成部111は、変数nに1を加算する。 In step s35, the first generation unit 111 registers a plurality of file names associated with the revision n in the list information 190 as a file name group. After that, step s36 is executed. In step s36, the first generation unit 111 adds 1 to the variable n.
 ステップs36の後、ステップs32が再度実行され、その後、第1生成部111は同様に動作する。2回目以降のステップs33では、最新チェックイン情報160にすでに登録されているファイル名が、リビジョンnに対応付けられているファイル名に置き換えられる。 After step s36, step s32 is executed again, and then the first generation unit 111 operates in the same manner. In the second and subsequent steps s33, the file name already registered in the latest check-in information 160 is replaced with the file name associated with the revision n.
 ステップs36において、変数nの値が最大のリビジョンIDとなり、その次のステップs36において、変数nの値が最大のリビジョンIDよりも1つだけ大きくなると、その直後のステップs32においてNoと判定される。これにより、第1生成処理が終了し、リスト情報190及び最新チェックイン情報160が完成する。完成した最新チェックイン情報160には、最大のリビジョンIDに対応付けられているファイル名が含まれる。最大のリビジョンIDに対応付けられているファイル名は、最新チェックインにおいてリポジトリに書き戻された変更ファイル201のファイル名である。 In step s36, the value of the variable n becomes the maximum revision ID, and in the next step s36, if the value of the variable n becomes larger than the maximum revision ID by one, it is determined as No in the immediately following step s32. .. As a result, the first generation process is completed, and the list information 190 and the latest check-in information 160 are completed. The completed latest check-in information 160 contains the file name associated with the largest revision ID. The file name associated with the highest revision ID is the file name of the change file 201 that was written back to the repository at the latest check-in.
 <第2生成部について>
 図6は第2生成部112が生成する頻度情報150の一例を示す図である。図6に示される頻度情報150は、図4に示されるリスト情報190に基づいて生成された情報である。頻度情報150では、複数のファイル201の組み合わせごとに、当該組み合わせを構成する複数のファイル201が変更されて一括してチェックインされた頻度が含まれる。
<About the second generator>
FIG. 6 is a diagram showing an example of frequency information 150 generated by the second generation unit 112. The frequency information 150 shown in FIG. 6 is information generated based on the list information 190 shown in FIG. The frequency information 150 includes, for each combination of the plurality of files 201, the frequency with which the plurality of files 201 constituting the combination are changed and checked in collectively.
 頻度情報150には、ファイル201についての複数の組み合わせが登録されている。具体的には、頻度情報150には、ファイル201の各組み合わせについて、当該組み合わせを特定するための組み合わせ特定情報151が登録されている。頻度情報150では、複数の組み合わせ特定情報151が順に並べられている。組み合わせ特定情報151としては、例えば、組み合わせを構成する複数のファイル201のファイル名が採用される。頻度情報150では、各組み合わせ特定情報151について、当該組み合わせ特定情報151で特定される組み合わせを構成する複数のファイル201が変更されて一括してチェックインされた頻度(言い換えれば回数)が対応付けられている。 In the frequency information 150, a plurality of combinations for the file 201 are registered. Specifically, in the frequency information 150, the combination specifying information 151 for specifying the combination is registered for each combination of the file 201. In the frequency information 150, a plurality of combination specific information 151 are arranged in order. As the combination specific information 151, for example, the file names of a plurality of files 201 constituting the combination are adopted. In the frequency information 150, the frequency (in other words, the number of times) in which a plurality of files 201 constituting the combination specified by the combination specific information 151 are changed and checked in collectively is associated with each combination specific information 151. ing.
 第2生成部112は、例えば、リスト情報190に含まれるすべてのファイル名を抽出する。次に、第2生成部112は、抽出した複数のファイル名をそれぞれ有する複数のファイル201についてのすべての組み合わせを求める。そして、第2生成部112は、求めた各組み合わせと、それに対応する頻度とを頻度情報150に登録する。つまり、第2生成部112は、求めた各組み合わせについて、当該組み合わせを特定するための組み合わせ特定情報151と、それに対応する頻度とを頻度情報150に登録する。 The second generation unit 112 extracts, for example, all the file names included in the list information 190. Next, the second generation unit 112 obtains all combinations for the plurality of files 201 having each of the extracted plurality of file names. Then, the second generation unit 112 registers each obtained combination and the corresponding frequency in the frequency information 150. That is, the second generation unit 112 registers the combination identification information 151 for specifying the combination and the frequency corresponding to the combination in the frequency information 150 for each obtained combination.
 図4の例では、リスト情報190にファイルA~Eのファイル名が含まれる。したがって、頻度情報150には、図6に示されるような複数の組み合わせ特定情報151が含まれる。 In the example of FIG. 4, the list information 190 includes the file names of the files A to E. Therefore, the frequency information 150 includes a plurality of combination specific information 151 as shown in FIG.
 ここで、例えば、ファイルB及びDの組み合わせを考える。図4の例では、ファイルB及びDを含む4つの変更ファイル組が存在する。したがって、図4の例では、ファイルB及びDが変更されて一括してチェックインされた頻度は4回となる。よって、図6の例では、ファイルB及びDの組み合わせを特定するための組み合わせ特定情報151に対して頻度“4”が対応付けられている。 Here, for example, consider a combination of files B and D. In the example of FIG. 4, there are four modified file sets including files B and D. Therefore, in the example of FIG. 4, the frequency of changing the files B and D and checking in all at once is four times. Therefore, in the example of FIG. 6, the frequency “4” is associated with the combination specifying information 151 for specifying the combination of the files B and D.
 他の例として、ファイルB,C,Dの組み合わせを考える。図4の例では、ファイルB,C,Dを含む3つの変更ファイル組が存在する。したがって、図4の例では、ファイルB,C,Dが変更されて一括してチェックインされた頻度は3回である。よって、図6の例では、ファイルB,C,Dの組み合わせを特定するための組み合わせ特定情報151に対して頻度“3”が対応付けられている。 As another example, consider a combination of files B, C, and D. In the example of FIG. 4, there are three modified file sets including files B, C, and D. Therefore, in the example of FIG. 4, the frequencies of files B, C, and D being changed and checked in all at once are three times. Therefore, in the example of FIG. 6, the frequency “3” is associated with the combination specification information 151 for specifying the combination of the files B, C, and D.
 図7は、第2生成部112が頻度情報150を生成する処理(第2生成処理ともいう)の一例を示すフローチャートである。図7に示されるように、ステップs41において、第2生成部112は、ファイル201について複数の組み合わせを求める。例えば、第2生成部112は、リスト情報190に含まれるすべてのファイル名を抽出する。そして、第2生成部112は、抽出した複数のファイル名をそれぞれ有する複数のファイル201についてのすべての組み合わせを求める。 FIG. 7 is a flowchart showing an example of a process (also referred to as a second generation process) in which the second generation unit 112 generates the frequency information 150. As shown in FIG. 7, in step s41, the second generation unit 112 obtains a plurality of combinations for the file 201. For example, the second generation unit 112 extracts all the file names included in the list information 190. Then, the second generation unit 112 obtains all combinations for the plurality of files 201 having the extracted plurality of file names.
 次にステップs42において、第2生成部112は、求めた各組み合わせの組み合わせ特定情報151を頻度情報150に登録する。そしてステップs43において、第2生成部112は、リスト情報190の最初のリストに含まれる複数のファイル名を変数iにセットする。 Next, in step s42, the second generation unit 112 registers the combination specific information 151 of each obtained combination in the frequency information 150. Then, in step s43, the second generation unit 112 sets a plurality of file names included in the first list of the list information 190 in the variable i.
 次にステップs44において、第2生成部112は、変数iが空であるか否かを判定する。ステップs44においてYesと判定されると第2生成処理が終了する。一方で、ステップs44においてNoと判定されるとステップs45が実行される。 Next, in step s44, the second generation unit 112 determines whether or not the variable i is empty. If Yes is determined in step s44, the second generation process ends. On the other hand, if No is determined in step s44, step s45 is executed.
 ステップs45において、第2生成部112は、頻度情報150に登録されている複数の組み合わせのうち、変数iにセットされた複数のファイル名をそれぞれ有する複数のファイル201の少なくとも一部の複数のファイル201を含む組み合わせ(第1特定組み合わせともいう)をすべて特定する。第2生成部112は、頻度情報150において、第1特定組み合わせの組み合わせ特定情報191に対応する頻度に1を加算する。 In step s45, the second generation unit 112 has a plurality of files at least a part of the plurality of files 201 each having a plurality of file names set in the variable i among the plurality of combinations registered in the frequency information 150. All combinations including 201 (also referred to as first specific combination) are specified. The second generation unit 112 adds 1 to the frequency corresponding to the combination specific information 191 of the first specific combination in the frequency information 150.
 図4の例では、リスト情報190の最初のリストには、ファイルA~Dのファイル名が含まれることから、変数iにファイルA~Dのファイル名がセットされる。この場合、図6の例では、ファイルA及びBの組み合わせ、ファイルA及びCの組み合わせ、ファイルA及びDの組み合わせ、ファイルB及びCの組み合わせ、ファイルB及びDの組み合わせ、ファイルC及びDの組み合わせ、ファイルA,B,Cの組み合わせ、ファイルA,B,Dの組み合わせ、ファイルB,C,Dの組み合わせ及びファイルA~Dの組み合わせの10個の組み合わせのそれぞれが、第1特定組み合わせとなる。そして、これらの第1特定組み合わせの組み合わせ特定情報191に対応する頻度に1が加算される。 In the example of FIG. 4, since the first list of the list information 190 includes the file names of the files A to D, the file names of the files A to D are set in the variable i. In this case, in the example of FIG. 6, the combination of files A and B, the combination of files A and C, the combination of files A and D, the combination of files B and C, the combination of files B and D, and the combination of files C and D. , A combination of files A, B, C, a combination of files A, B, D, a combination of files B, C, D, and a combination of files A to D, each of which is the first specific combination. Then, 1 is added to the frequency corresponding to the combination specific information 191 of these first specific combinations.
 ステップs45の後、ステップs46において、第2生成部112は、リスト情報190の次のリストに含まれる複数のファイル名を変数iにセットする。その後、ステップs44が再度実行され、以後、第2生成部112は同様に動作する。ステップs46において、リスト情報190の最後のリストに含まれる複数のファイル名が変数iにセットされた場合、その次のステップs46では、変数iにセットすべき複数のファイル名は存在しない。したがって、その直後のステップs44ではYesと判定されて第2生成処理が終了する。 After step s45, in step s46, the second generation unit 112 sets a plurality of file names included in the next list of the list information 190 in the variable i. After that, step s44 is executed again, and thereafter, the second generation unit 112 operates in the same manner. In step s46, when a plurality of file names included in the last list of list information 190 are set in the variable i, in the next step s46, there are no plurality of file names to be set in the variable i. Therefore, in step s44 immediately after that, Yes is determined and the second generation process ends.
 <特定部について>
 図8は特定部120が生成する特定情報170の一例を示す図である。図8に示される特定情報170は、図6に示される頻度情報150に基づいて生成された情報である。上述のように、特定情報170は、対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201を特定するための情報である。以後、対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201を、特定ファイル組と呼ぶことがある。
<About specific parts>
FIG. 8 is a diagram showing an example of the specific information 170 generated by the specific unit 120. The specific information 170 shown in FIG. 8 is information generated based on the frequency information 150 shown in FIG. As described above, the specific information 170 is information for identifying a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201. Hereinafter, a plurality of files 201 that are likely to be changed and collectively checked in, including the target file 201, may be referred to as a specific file set.
 本例では、対象ファイル201は、例えば最新チェックインに係るファイル201である。最新チェックインに係るファイル201が複数存在する場合には、特定情報170は、複数の対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201を特定するための情報となる。 In this example, the target file 201 is, for example, the file 201 related to the latest check-in. When there are a plurality of files 201 related to the latest check-in, the specific information 170 is for identifying a plurality of files 201 that are likely to be changed and collectively checked in, including a plurality of target files 201. It becomes the information of.
 特定情報170には、特定ファイル組を特定するための特定ファイル組情報171が含まれる。特定ファイル組情報171としては、例えば、特定ファイル組を構成する複数のファイル201のファイル名が採用される。 The specific information 170 includes the specific file set information 171 for specifying the specific file set. As the specific file set information 171 for example, the file names of a plurality of files 201 constituting the specific file set are adopted.
 ここで、頻度情報150に登録されている複数の組み合わせのうち、対応する頻度が大きい組み合わせを構成する複数のファイル201は、変更されて一括してチェックインされる可能性が高い。特定部120は、頻度情報150に登録されている複数の組み合わせのうち、対応する頻度がしきい値180以上であって、かつ対象ファイル201を含む組み合わせを構成する複数のファイル201を、特定ファイル組とする。しきい値180は、固定であってもよいし、変更されてもよい。以後、頻度情報150に登録されている複数の組み合わせのうち、対応する頻度がしきい値180以上であって、かつ対象ファイル201を含む組み合わせを、第2特定組み合わせと呼ぶことがある。 Here, among the plurality of combinations registered in the frequency information 150, there is a high possibility that the plurality of files 201 constituting the combinations having a high corresponding frequency will be changed and checked in all at once. Among the plurality of combinations registered in the frequency information 150, the specific unit 120 sets a plurality of files 201 having a corresponding frequency of the threshold value 180 or more and constituting the combination including the target file 201 as a specific file. Make a pair. The threshold 180 may be fixed or may be changed. Hereinafter, among the plurality of combinations registered in the frequency information 150, the combination having the corresponding frequency of the threshold value 180 or more and including the target file 201 may be referred to as a second specific combination.
 図2の例では、最新チェックインに係るファイル201はファイルCとなっている。しきい180が例えば“3”に設定された場合、図6の例では、ファイルB及びCの組み合わせ、ファイルC及びDの組み合わせ及びファイルB,C,Dの組み合わせのそれぞれが第2特定組み合わせとなる。図8の例では、特定情報170には、ファイルB及びCから成る特定ファイル組を特定するための特定ファイル組情報171と、ファイルC及びDから成る特定ファイル組を特定するための特定ファイル組情報171と、ファイルB,C,Dから成る特定ファイル組を特定するための特定ファイル組情報171とが含まれる。 In the example of FIG. 2, the file 201 related to the latest check-in is the file C. When the threshold 180 is set to, for example, "3", in the example of FIG. 6, each of the combination of files B and C, the combination of files C and D, and the combination of files B, C, and D is the second specific combination. Become. In the example of FIG. 8, the specific information 170 includes the specific file set information 171 for specifying the specific file set consisting of files B and C, and the specific file set for specifying the specific file set consisting of files C and D. Information 171 and specific file set information 171 for specifying a specific file set consisting of files B, C, and D are included.
 図8の特定情報170を参照することによって、ファイルB及びCが変更されて一括してチェックインされる可能性が高いことが理解できる。また、図8の特定情報170を参照することによって、ファイルC及びDが変更されて一括してチェックインされる可能性が高いことが理解できる。そして、図8の特定情報170を参照することによって、ファイルB,C,Dが変更されて一括してチェックインされる可能性が高いことが理解できる。 By referring to the specific information 170 in FIG. 8, it can be understood that there is a high possibility that the files B and C will be changed and checked in all at once. Further, by referring to the specific information 170 in FIG. 8, it can be understood that there is a high possibility that the files C and D are changed and checked in all at once. Then, by referring to the specific information 170 in FIG. 8, it can be understood that there is a high possibility that the files B, C, and D are changed and checked in all at once.
 他の例として、最新チェックインに係るファイル201がファイルB及びDであって、しきい180が“3”に設定された場合を考える。この場合、図6の例では、ファイルB及びDの組み合わせ及びファイルB,C,Dの組み合わせのそれぞれが第2特定組み合わせとなる。そして、特定情報170には、図9に示されるように、ファイルB及びDから成る特定ファイル組を特定するための特定ファイル組情報171と、ファイルB,C,Dから成る特定ファイル組を特定するための特定ファイル組情報171とが含まれる。図9に示される特定情報170を参照することによって、ファイルB及びDが変更されて一括してチェックインされる可能性が高く、ファイルB,C,Dが変更されて一括してチェックインされる可能性が高いことが理解できる。 As another example, consider a case where the files 201 related to the latest check-in are files B and D, and the threshold 180 is set to "3". In this case, in the example of FIG. 6, each of the combination of the files B and D and the combination of the files B, C, and D is the second specific combination. Then, as shown in FIG. 9, the specific information 170 specifies the specific file set information 171 for specifying the specific file set consisting of the files B and D, and the specific file set consisting of the files B, C, and D. The specific file set information 171 for the purpose is included. By referring to the specific information 170 shown in FIG. 9, there is a high possibility that the files B and D are changed and checked in all at once, and the files B, C and D are changed and checked in all at once. It can be understood that there is a high possibility.
 図10は特定部120が特定情報170を生成する処理(第3生成処理ともいう)の一例を示すフローチャートである。ステップs51において、特定部120は、頻度情報150に登録されている最初の組み合わせを処理対象組み合わせとする。そして、特定部120は、処理対象組み合わせを構成する複数のファイル201のファイル名を変数jにセットする。つまり、特定部120は、頻度情報150の最初の組み合わせ特定情報151を構成する複数のファイル名を変数jにセットする。 FIG. 10 is a flowchart showing an example of a process (also referred to as a third generation process) in which the specific unit 120 generates the specific information 170. In step s51, the specific unit 120 sets the first combination registered in the frequency information 150 as the processing target combination. Then, the specific unit 120 sets the file names of the plurality of files 201 constituting the processing target combination in the variable j. That is, the specific unit 120 sets a plurality of file names constituting the first combination specific information 151 of the frequency information 150 in the variable j.
 次にステップs52において、特定部120は、変数jが空であるか否かを判定する。ステップs52においてYesと判定されると第3生成処理が終了する。一方で、ステップs52においてNoと判定されるとステップs53が実行される。 Next, in step s52, the specific unit 120 determines whether or not the variable j is empty. If Yes is determined in step s52, the third generation process ends. On the other hand, if No is determined in step s52, step s53 is executed.
 ステップs53において、特定部120は、変数jにセットされた複数のファイル名に、最新チェックイン情報160に含まれるファイル名が含まれているか否かを判定する。最新チェックイン情報160に複数のファイル名が含まれる場合には、特定部120は、変数jにセットされた複数のファイル名に、最新チェックイン情報160に含まれる複数のファイル名が含まれているか否かを判定する。ステップs53においてNoと判定されるとステップs56が実行される。一方で、ステップs53においてYesと判定されるとステップs54が実行される。 In step s53, the specific unit 120 determines whether or not the plurality of file names set in the variable j include the file names included in the latest check-in information 160. When the latest check-in information 160 includes a plurality of file names, the specific unit 120 includes the plurality of file names included in the latest check-in information 160 in the plurality of file names set in the variable j. Determine if it is. If No is determined in step s53, step s56 is executed. On the other hand, if Yes is determined in step s53, step s54 is executed.
 ステップs54において、特定部120は、頻度情報150に含まれる、処理対象組み合わせに対応する頻度が、しきい値180以上であるか否かを判定する。ステップs54においてNoと判定されるとステップs56が実行される。一方で、ステップs54にいてYesと判定されるとステップs55が実行される。 In step s54, the specific unit 120 determines whether or not the frequency corresponding to the processing target combination included in the frequency information 150 is the threshold value 180 or more. If No is determined in step s54, step s56 is executed. On the other hand, if Yes is determined in step s54, step s55 is executed.
 ステップs55において、特定部120は、変数jに設定されている複数のファイル名を、特定ファイル組を特定するための特定ファイル組情報171として特定情報170に登録する。その後、ステップs56が実行される。 In step s55, the specific unit 120 registers a plurality of file names set in the variable j in the specific information 170 as specific file group information 171 for specifying the specific file group. After that, step s56 is executed.
 ステップs56において、特定部120は、頻度情報150に登録されている次の組み合わせを処理対象組み合わせとする。そして、特定部120は、処理対象組み合わせを構成する複数のファイル201のファイル名を変数jにセットする。つまり、特定部120は、頻度情報150の次の組み合わせ特定情報151を構成する複数のファイル名を変数jにセットする。その後、ステップs52が再度実行され、以後、特定部120は同様に動作する。ステップs56において、頻度情報150の最後の組み合わせ特定情報151を構成する複数のファイル名を変数jにセットされた場合、その次のステップs56では、変数jにセットすべき複数のファイル名は存在しない。したがって、その直後のステップs52ではYesと判定されて第3生成処理が終了する。 In step s56, the specific unit 120 sets the next combination registered in the frequency information 150 as the processing target combination. Then, the specific unit 120 sets the file names of the plurality of files 201 constituting the processing target combination in the variable j. That is, the specific unit 120 sets a plurality of file names constituting the next combination specific information 151 of the frequency information 150 in the variable j. After that, step s52 is executed again, and thereafter, the specific unit 120 operates in the same manner. In step s56, when a plurality of file names constituting the final combination specific information 151 of the frequency information 150 are set in the variable j, in the next step s56, there are no plurality of file names to be set in the variable j. .. Therefore, in step s52 immediately after that, it is determined as Yes, and the third generation process ends.
 以上のようにして生成された特定情報170は、例えば、情報処理装置100のユーザに通知される。情報処理装置100は、特定部120が生成した特定情報170を、例えば表示装置5に表示させることによって、ユーザに特定情報170を通知する。ユーザは、特定情報170を参照することによって、対象ファイル201の変更の影響が波及する可能性が高いファイル201を特定することができる。対象ファイル201が最新チェックインに係るファイル201である場合、ユーザは、特定情報170を参照することによって、最近変更したファイル201の変更の影響が波及する可能性が高いファイル201を特定することができる。言い換えれば、ユーザは、特定情報170を参照することによって、最近変更したファイル201の変更に応じて変更すべき可能性が高いファイル201を特定することができる。 The specific information 170 generated as described above is notified to, for example, the user of the information processing apparatus 100. The information processing device 100 notifies the user of the specific information 170 by displaying the specific information 170 generated by the specific unit 120 on, for example, the display device 5. By referring to the specific information 170, the user can identify the file 201 that is likely to be affected by the change in the target file 201. When the target file 201 is the file 201 related to the latest check-in, the user may identify the file 201 that is likely to be affected by the recently changed file 201 by referring to the specific information 170. can. In other words, by referring to the specific information 170, the user can identify the file 201 that is likely to be changed in response to the change of the recently changed file 201.
 ここで、上述のように、対象ファイル201を含む、一括してチェックインされる可能性が高い複数のファイル201において、対象ファイル201以外のファイル201は、対象ファイル201の変更の影響が波及する可能性が高いファイル201であると言える。ユーザは、特定情報170に含まれる複数のファイル名のうち、対象ファイル201のファイル名以外のファイル名を有するファイル201を、対象ファイル201の変更の影響が波及する可能性が高いファイル201とする。そして、ユーザは、特定したファイル201に変更が必要であるか否かを判断し、必要であると判断すれば、特定したファイル201の変更を行う。これにより、ファイル201の変更の抜け・漏れが発生しにくくなる。 Here, as described above, in a plurality of files 201 that are likely to be checked in all at once, including the target file 201, the files 201 other than the target file 201 are affected by the change of the target file 201. It can be said that the file 201 has a high possibility. Of the plurality of file names included in the specific information 170, the user sets the file 201 having a file name other than the file name of the target file 201 as the file 201 that is likely to be affected by the change of the target file 201. .. Then, the user determines whether or not the specified file 201 needs to be changed, and if it is determined that the specified file 201 needs to be changed, the user changes the specified file 201. This makes it difficult for omissions / omissions of changes in the file 201 to occur.
 例えば、図2の例のように、最新チェックインに係るファイル201がファイルCだけである場合を考える。この場合、ユーザは、図8に示される特定情報170に含まれるファイルB,C,Dのファイル名のうち、ファイルCのファイル名以外のファイル名を有するファイルB及びDを、ファイルCの変更の影響が波及する可能性が高いファイル201であるとする。そして、ユーザは、ファイルB及びDのそれぞれについて変更が必要であるか否かを判断し、必要であると判断すれば、該当するファイル201の変更を行う。 For example, consider the case where the file 201 related to the latest check-in is only the file C as in the example of FIG. In this case, the user changes the file B and D having a file name other than the file name of the file C among the file names of the files B, C, and D included in the specific information 170 shown in FIG. It is assumed that the file 201 is likely to be affected by the above. Then, the user determines whether or not each of the files B and D needs to be changed, and if it is determined that the change is necessary, the user changes the corresponding file 201.
 他の例として、最新チェックインに係るファイル201がファイルB及びDである場合を考える。この場合、ユーザは、図9に示される特定情報170に含まれるファイルB,C,Dのファイル名のうち、ファイルB及びDのファイル名以外のファイル名を有するファイルCを、ファイルB及びDの変更の影響が波及する可能性が高いファイル201であるとする。そして、ユーザは、ファイルCの変更が必要であるか否かを判断し、必要であると判断すれば、ファイルCの変更を行う。 As another example, consider the case where the file 201 related to the latest check-in is files B and D. In this case, the user sets the file C having a file name other than the file names of the files B and D among the file names of the files B, C, and D included in the specific information 170 shown in FIG. 9 to the files B and D. It is assumed that the file 201 is likely to be affected by the change of. Then, the user determines whether or not the file C needs to be changed, and if it determines that the file C needs to be changed, the user changes the file C.
 なお、情報処理装置100は、特定情報170に含まれる複数のファイル名のうち、対象ファイル201のファイル名をユーザに通知しなくてもよい。この場合、例えば、表示装置5は、特定情報170に含まれる複数のファイル名のうち、対象ファイル201のファイル名を表示しなくてもよい。また、情報処理装置100が特定情報170に含まれるファイル名をユーザに通知する方法は上記の例に限られない。情報処理装置100は、例えば音声を用いて、特定情報170に含まれるファイル名をユーザに通知してもよい。また、情報処理装置100は、特定情報170を他の装置に送信してもよい。情報処理装置100は、特定情報170を、構成管理装置202に送信してもよいし、他の装置に送信してもよい。 Note that the information processing apparatus 100 does not have to notify the user of the file name of the target file 201 among the plurality of file names included in the specific information 170. In this case, for example, the display device 5 does not have to display the file name of the target file 201 among the plurality of file names included in the specific information 170. Further, the method in which the information processing apparatus 100 notifies the user of the file name included in the specific information 170 is not limited to the above example. The information processing apparatus 100 may notify the user of the file name included in the specific information 170 by using, for example, voice. Further, the information processing apparatus 100 may transmit the specific information 170 to another apparatus. The information processing apparatus 100 may transmit the specific information 170 to the configuration management apparatus 202 or may transmit it to another apparatus.
 以上のような第1生成処理、第2生成処理及び第3生成処理は、例えば、チェックインの発生ごとに実行されてもよい。図11は、この場合の管理システム500の動作の一例を示すフローチャートである。ステップs1において、構成管理装置202は、新たなチェックインの発生を検出すると、ステップs2において、新たなチェックインの発生に応じて変更履歴情報203を更新する。具体的には、構成管理装置202は、変更履歴情報203に対して、新たなリビジョンIDと、新たなチェックインにおいてリポジトリに書き戻された変更ファイル201のファイル名とを対応付けて登録する。更新された変更履歴情報203は情報処理装置100に入力される。 The first generation process, the second generation process, and the third generation process as described above may be executed, for example, each time a check-in occurs. FIG. 11 is a flowchart showing an example of the operation of the management system 500 in this case. When the configuration management device 202 detects the occurrence of a new check-in in step s1, the configuration management device 202 updates the change history information 203 in response to the occurrence of a new check-in in step s2. Specifically, the configuration management device 202 registers the new revision ID and the file name of the change file 201 written back to the repository at the new check-in in association with the change history information 203. The updated change history information 203 is input to the information processing apparatus 100.
 ステップs2の後、ステップs3において、情報処理装置100の第1生成部111は、更新後の変更履歴情報203を用いた第1生成処理を実行する。つまり、第1生成部111は、更新後の変更履歴情報203に基づいてリスト情報190及び最新チェックイン情報160を新たに生成する。第1生成部111は、最新チェックインの発生に応じて、リスト情報190及び最新チェックイン情報160を生成する。 After step s2, in step s3, the first generation unit 111 of the information processing apparatus 100 executes the first generation process using the updated change history information 203. That is, the first generation unit 111 newly generates the list information 190 and the latest check-in information 160 based on the updated change history information 203. The first generation unit 111 generates the list information 190 and the latest check-in information 160 in response to the occurrence of the latest check-in.
 次にステップs4において、第2生成部112は、ステップs3で生成されたリスト情報190を用いた第2生成処理を実行する。つまり、第2生成部112は、ステップs3で生成されたリスト情報190に基づいて頻度情報150を新たに生成する。第2生成部112は、最新チェックインの発生に応じて頻度情報150を生成する。 Next, in step s4, the second generation unit 112 executes the second generation process using the list information 190 generated in step s3. That is, the second generation unit 112 newly generates the frequency information 150 based on the list information 190 generated in step s3. The second generation unit 112 generates frequency information 150 according to the occurrence of the latest check-in.
 次にステップs5において、特定部120は、ステップs4で生成された頻度情報150(言い換えれば、最新チェックインの発生に応じて生成された頻度情報150)と、ステップs3で生成された最新チェックイン情報160とを用いた第3生成処理を実行する。つまり、特定部120は、ステップs4で生成された頻度情報150とステップs3で生成された最新チェックイン情報160とに基づいて特定情報170を生成する。 Next, in step s5, the specific unit 120 includes the frequency information 150 generated in step s4 (in other words, the frequency information 150 generated in response to the occurrence of the latest check-in) and the latest check-in generated in step s3. The third generation process using the information 160 is executed. That is, the specific unit 120 generates the specific information 170 based on the frequency information 150 generated in step s4 and the latest check-in information 160 generated in step s3.
 ステップs5の後、構成管理装置202が新たなチェックインの発生を検出すると(ステップs1)、ステップs2が再度実行され、以後、管理システム500は同様に動作する。 After step s5, when the configuration management device 202 detects the occurrence of a new check-in (step s1), step s2 is executed again, and thereafter, the management system 500 operates in the same manner.
 以上のように、本実施の形態では、チェックイン単位でのファイル201の変更の履歴を示す変更履歴情報203に基づいて、少なくとも一つの対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201が特定される。対象ファイル201を含む、一括してチェックインされる可能性が高い複数のファイル201において、対象ファイル201以外のファイル201は、対象ファイル201の変更の影響が波及する可能性が高いファイル201であると言える。よって、対象ファイル201を含む、一括してチェックインされる可能性が高い複数のファイル201から、対象ファイル201の変更の影響が波及する可能性が高いファイル201を特定することができる。これにより、ファイル201の変更の抜け・漏れが発生しにくくなる。その結果、管理対象ソフトウェアの品質を向上することができる。 As described above, in the present embodiment, based on the change history information 203 indicating the history of changes in the file 201 in the check-in unit, the changes are collectively checked in including at least one target file 201. Multiple files 201 that are likely to be identified are identified. In a plurality of files 201 that are likely to be checked in all at once, including the target file 201, the files 201 other than the target file 201 are the files 201 that are likely to be affected by the change of the target file 201. It can be said that. Therefore, it is possible to identify the file 201 that is likely to be affected by the change of the target file 201 from the plurality of files 201 that are likely to be checked in all at once, including the target file 201. This makes it difficult for omissions / omissions of changes in the file 201 to occur. As a result, the quality of managed software can be improved.
 また、本実施の形態では、対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201、つまり特定ファイル組の特定には、複数のファイル201の組み合わせごとに、当該組み合わせを構成する複数のファイル201が変更されて一括してチェックインされた頻度を示す頻度情報が用いられる。これにより、特定ファイル組をより精度良く特定することができる。 Further, in the present embodiment, a plurality of files 201 that are likely to be changed and checked in all at once, including the target file 201, that is, a specific file set is specified for each combination of the plurality of files 201. , Frequency information indicating the frequency with which a plurality of files 201 constituting the combination are changed and checked in all at once is used. This makes it possible to specify a specific file set with higher accuracy.
 また、本実施の形態では、注目する対象チェックイン(上記の例では最新チェックイン)の発生に応じて生成した頻度情報150に基づいて、対象チェックインに係るファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201が特定されている。これにより、対象チェックインに関する情報が反映された頻度情報150に基づいて、対象チェックインに係るファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201が特定される。よって、特定ファイル組をより精度良く特定することができる。 Further, in the present embodiment, based on the frequency information 150 generated in response to the occurrence of the target check-in of interest (the latest check-in in the above example), the file 201 related to the target check-in is included and changed in a batch. A plurality of files 201 that are likely to be checked in have been identified. As a result, a plurality of files 201 that are likely to be changed and collectively checked in, including the file 201 related to the target check-in, are identified based on the frequency information 150 in which the information regarding the target check-in is reflected. File. Therefore, the specific file set can be specified more accurately.
 実施の形態2.
 上記の実施の形態1では、チェックインの発生に応じて頻度情報150及び特定情報170が生成されている。これに対して、本実施の形態では、頻度情報150の生成と特定情報170の生成とが独立して行われる。図12は、本実施の形態に係る情報処理装置100Aを含むソフトウェア管理システム500Aの構成の一例を示す概略図である。
Embodiment 2.
In the first embodiment described above, frequency information 150 and specific information 170 are generated according to the occurrence of check-in. On the other hand, in the present embodiment, the generation of the frequency information 150 and the generation of the specific information 170 are performed independently. FIG. 12 is a schematic diagram showing an example of the configuration of the software management system 500A including the information processing apparatus 100A according to the present embodiment.
 ソフトウェア管理システム500A(管理システム500Aともいう)は、構成管理装置202A及び情報処理装置100Aを備える。構成管理装置202Aは、上述の構成管理装置202において、変更履歴情報203以外にも、最新チェックイン情報204を生成して出力するものである。最新チェックイン情報204は、最新チェックインに係る変更ファイル201を特定するための情報である。つまり、最新チェックイン情報204は、最新チェックインにおいてリポジトリに書き戻された変更ファイル201を特定するための情報である。 The software management system 500A (also referred to as a management system 500A) includes a configuration management device 202A and an information processing device 100A. The configuration management device 202A generates and outputs the latest check-in information 204 in addition to the change history information 203 in the above-mentioned configuration management device 202. The latest check-in information 204 is information for identifying the change file 201 related to the latest check-in. That is, the latest check-in information 204 is information for identifying the change file 201 written back to the repository in the latest check-in.
 図13は最新チェックイン情報204の一例を示す図である。図13に示されるように、最新チェックイン情報204には、最新チェックインに対応するリビジョンIDと、最新チェックインに係る変更ファイル201を特定するための特定情報2040とが含まれている。特定情報2040は、例えば、最新チェックインに係る変更ファイル201のファイル名である。図13の例では、最新チェックイン情報204には、最新チェックインに対応するリビジョン13と、最新チェックインに係るファイルCのファイル名とが含まれる。 FIG. 13 is a diagram showing an example of the latest check-in information 204. As shown in FIG. 13, the latest check-in information 204 includes a revision ID corresponding to the latest check-in and specific information 2040 for identifying the change file 201 related to the latest check-in. The specific information 2040 is, for example, the file name of the change file 201 related to the latest check-in. In the example of FIG. 13, the latest check-in information 204 includes the revision 13 corresponding to the latest check-in and the file name of the file C related to the latest check-in.
 情報処理装置100Aは、生成部110Aと、上述の特定部120とを備える。生成部110Aは、第1生成部111Aと、上述の第2生成部112とを備える。第1生成部111Aは、上述の第1生成部111において、最新チェックイン情報160を生成しないものである。第1生成部111Aは、上述の第1生成処理においてステップs33を実行しない。 The information processing apparatus 100A includes a generation unit 110A and the above-mentioned specific unit 120. The generation unit 110A includes a first generation unit 111A and the above-mentioned second generation unit 112. The first generation unit 111A does not generate the latest check-in information 160 in the above-mentioned first generation unit 111. The first generation unit 111A does not execute step s33 in the above-mentioned first generation process.
 図14は生成部110Aの動作の一例を示すフローチャートである。生成部110Aは、図14に示される一連の処理を繰り返し実行する。生成部110Aは、図14に示される一連の処理を例えば一定時間ごとに実行する。 FIG. 14 is a flowchart showing an example of the operation of the generation unit 110A. The generation unit 110A repeatedly executes a series of processes shown in FIG. The generation unit 110A executes a series of processes shown in FIG. 14, for example, at regular time intervals.
 図14に示されるように、ステップs111において、生成部110Aの第1生成部111Aは、変更履歴情報203を取得する。第1生成部111Aは、ステップs111において、例えば、変更履歴情報203の送信要求を示す送信要求情報を生成する。この送信要求情報は、情報処理装置100Aの通信装置4から構成管理装置202Aに送信される。送信要求情報を受信した構成管理装置202Aは、最新の変更履歴情報203を情報処理装置100Aに送信する。情報処理装置100Aでは、通信装置4が変更履歴情報203を受信する。受信された変更履歴情報203は、第1生成部111Aに入力される。これより、第1生成部111Aは、ステップs111において変更履歴情報203を取得する。 As shown in FIG. 14, in step s111, the first generation unit 111A of the generation unit 110A acquires the change history information 203. In step s111, the first generation unit 111A generates, for example, transmission request information indicating a transmission request of the change history information 203. This transmission request information is transmitted from the communication device 4 of the information processing device 100A to the configuration management device 202A. Upon receiving the transmission request information, the configuration management device 202A transmits the latest change history information 203 to the information processing device 100A. In the information processing device 100A, the communication device 4 receives the change history information 203. The received change history information 203 is input to the first generation unit 111A. As a result, the first generation unit 111A acquires the change history information 203 in step s111.
 なお、構成管理装置202Aは、上述の図11のように、新たなチェックインが発生するたびに変更履歴情報203を情報処理装置100に送信してもよい。この場合、情報処理装置100Aは、例えば、受信した変更履歴情報203を記憶装置2に記憶する。そして、情報処理装置100Aは、新たな変更履歴情報203を受信すると、記憶装置2内の変更履歴情報203を、受信した新たな変更履歴情報203で置き換える。第1生成部111Aは、ステップs111の実行タイミングになると、記憶装置2から変更履歴情報203を読み出して取得する。 Note that the configuration management device 202A may transmit the change history information 203 to the information processing device 100 each time a new check-in occurs, as shown in FIG. 11 above. In this case, the information processing device 100A stores, for example, the received change history information 203 in the storage device 2. Then, when the information processing apparatus 100A receives the new change history information 203, the information processing apparatus 100A replaces the change history information 203 in the storage device 2 with the received new change history information 203. The first generation unit 111A reads and acquires the change history information 203 from the storage device 2 at the execution timing of step s111.
 ステップs111の後、ステップs112において、第1生成部111Aは、ステップs111で取得した変更履歴情報203に基づいてリスト情報190を生成する。次にステップs113において、第2生成部112は、ステップs112で生成されたリスト情報190に基づいて頻度情報150を生成する。そして、第2生成部112は、生成した頻度情報150を記憶装置2に記憶する。第2生成部112は、新たに頻度情報150を生成すると、記憶装置2内の頻度情報150を、生成した頻度情報150で置き換える。 After step s111, in step s112, the first generation unit 111A generates the list information 190 based on the change history information 203 acquired in step s111. Next, in step s113, the second generation unit 112 generates frequency information 150 based on the list information 190 generated in step s112. Then, the second generation unit 112 stores the generated frequency information 150 in the storage device 2. When the second generation unit 112 newly generates the frequency information 150, the second generation unit 112 replaces the frequency information 150 in the storage device 2 with the generated frequency information 150.
 図15は特定部120の動作の一例を示すフローチャートである。図15に示されるように、ステップs121において、特定部120は最新チェックイン情報204を取得する。構成管理装置202Aは、例えば、新たなチェックインが発生するたびに最新チェックイン情報204を生成して情報処理装置100Aに送信する。情報処理装置100Aに入力された最新チェックイン情報204は特定部120に入力される。特定部120は、新たなチェックインが発生するたびにステップs121を実行して最新チェックイン情報204を取得する。 FIG. 15 is a flowchart showing an example of the operation of the specific unit 120. As shown in FIG. 15, in step s121, the specific unit 120 acquires the latest check-in information 204. For example, the configuration management device 202A generates the latest check-in information 204 every time a new check-in occurs and transmits the latest check-in information 204 to the information processing device 100A. The latest check-in information 204 input to the information processing apparatus 100A is input to the specific unit 120. The specific unit 120 executes step s121 every time a new check-in occurs to acquire the latest check-in information 204.
 ステップs121の後、ステップs122において、特定部120は、記憶装置2から頻度情報150を読み出して取得する。そしてステップs123において、特定部120は、ステップs122で取得した頻度情報150と、ステップs121で取得した最新チェックイン情報204とに基づいて特定情報170を生成する。特定部120は、上述の第3生成処理において、最新チェックイン情報160の代わりに最新チェックイン情報204を使用する。ステップs123の後、新たなチェックインが発生すると、ステップs121~s123が実行される。 After step s121, in step s122, the specific unit 120 reads out the frequency information 150 from the storage device 2 and acquires it. Then, in step s123, the specific unit 120 generates specific information 170 based on the frequency information 150 acquired in step s122 and the latest check-in information 204 acquired in step s121. The specific unit 120 uses the latest check-in information 204 instead of the latest check-in information 160 in the third generation process described above. When a new check-in occurs after step s123, steps s121 to s123 are executed.
 このように、本実施の形態では、注目する対象チェックイン(上記の例では最新チェックイン)に係るファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201の特定には、対象チェックインの発生前に生成された頻度情報150が使用されている。これにより、実施の形態1のように対象チェックインの発生に応じて頻度情報150が生成される場合と比較して、特定部120は、対象チェックインが発生したときにすぐに頻度情報150を取得することができる。よって、特定部120は、対象チェックインに係るファイル201を含む特定ファイル組を、対象チェックインが発生したときにすぐに特定することができる。 As described above, in the present embodiment, the plurality of files 201 that are likely to be changed and collectively checked in, including the file 201 related to the target check-in of interest (the latest check-in in the above example). For specific purposes, frequency information 150 generated prior to the occurrence of the target check-in is used. As a result, as compared with the case where the frequency information 150 is generated according to the occurrence of the target check-in as in the first embodiment, the specific unit 120 immediately generates the frequency information 150 when the target check-in occurs. Can be obtained. Therefore, the specific unit 120 can immediately specify the specific file set including the file 201 related to the target check-in when the target check-in occurs.
 なお、上述の実施の形態1において、構成管理装置202が最新チェックイン情報204を生成する場合には、特定部120は、構成管理装置202が生成する最新チェックイン情報204を用いて特定情報170を生成してもよい。この場合、第1生成部111は最新チェックイン情報160を生成しなくてもよい。 In the first embodiment described above, when the configuration management device 202 generates the latest check-in information 204, the specific unit 120 uses the latest check-in information 204 generated by the configuration management device 202 to generate the specific information 170. May be generated. In this case, the first generation unit 111 does not have to generate the latest check-in information 160.
 上記の実施の形態1及び2では、ファイル201を特定するための情報としてファイル名が使用されていたが、他の情報が使用されてもよい。ファイル201を特定するための情報としては、例えば、ファイル201の識別番号が使用されてもよい。この場合、リスト情報190等には、ファイル名の替わりにファイル201の識別番号が含まれる。 In the above embodiments 1 and 2, the file name is used as the information for specifying the file 201, but other information may be used. As the information for identifying the file 201, for example, the identification number of the file 201 may be used. In this case, the list information 190 and the like include the identification number of the file 201 instead of the file name.
 また、実施の形態1及び2では、頻度情報150に、頻度(言い換えれば回数)そのものが含まれているが、頻度を間接的に示す情報が含まれてもよい。例えば、頻度が大きい、頻度が中程度、頻度が小さいといった、頻度の程度を表す情報が含まれてもよい。この場合、上述の第3生成処理のステップs54では、頻度情報150に含まれる、処理対象組み合わせに対応する頻度の程度を表す情報が「頻度が大きい」を示すか否かが判定されてもよい。 Further, in the first and second embodiments, the frequency information 150 includes the frequency (in other words, the number of times) itself, but may include information indirectly indicating the frequency. For example, it may contain information indicating the degree of frequency, such as high frequency, medium frequency, and low frequency. In this case, in step s54 of the third generation process described above, it may be determined whether or not the information including the frequency information 150 indicating the degree of frequency corresponding to the processing target combination indicates "high frequency". ..
 また、実施の形態1及び2では、特定情報170は、少なくとも一つの対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201を特定するための情報であったが、少なくとも一つの対象ファイル201を含む、変更されて一括してチェックインされる可能性が高い複数のファイル201のうち、対象ファイル201以外のファイル201を特定するための情報であってもよい。つまり、特定情報170は、対象ファイルの変更が波及する可能性が高いファイル201を特定するための情報であってもよい。この場合、特定情報170には、特定ファイル組を構成する複数のファイル201のうち、対象ファイル201以外のファイル201を特定するための情報が特定ファイル組情報171の替わりに含まれる。 Further, in the first and second embodiments, the specific information 170 is information for identifying a plurality of files 201 that are likely to be changed and collectively checked in, including at least one target file 201. However, even if it is information for identifying a file 201 other than the target file 201 among a plurality of files 201 that are likely to be changed and checked in all at once, including at least one target file 201. good. That is, the specific information 170 may be information for identifying the file 201 in which the change of the target file is likely to spread. In this case, the specific information 170 includes information for specifying a file 201 other than the target file 201 among the plurality of files 201 constituting the specific file set, instead of the specific file set information 171.
 本開示は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、限定的なものではない。例示されていない無数の変形例が想定され得るものと解される。 Although this disclosure has been described in detail, the above description is exemplary and not limiting in all aspects. It is understood that innumerable variations not illustrated can be assumed.
 また、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。 In addition, each embodiment can be freely combined, and each embodiment can be appropriately modified or omitted.
 1 処理回路(処理部)、20 制御プログラム、100 情報処理装置、110 生成部、111 第1生成部、112 第2生成部、120 特定部、150 頻度情報、170 特定情報、190 リスト情報、203 変更履歴情報。 1 processing circuit (processing unit), 20 control program, 100 information processing device, 110 generation unit, 111 first generation unit, 112 second generation unit, 120 specific unit, 150 frequency information, 170 specific information, 190 list information, 203 Change history information.

Claims (6)

  1.  チェックイン単位でのソースファイルの変更の履歴を示す変更履歴情報に基づいて、少なくとも一つの対象ソースファイルを含む、変更されて一括してチェックインされる可能性が高い複数のソースファイルを特定する処理部を備える、情報処理装置。 Identify multiple source files that are likely to be modified and collectively checked in, including at least one target source file, based on change history information that shows the history of source file changes on a check-in basis. An information processing device equipped with a processing unit.
  2.  請求項1に記載の情報処理装置であって、
     前記処理部は、
      前記変更履歴情報に基づいて、複数のソースファイルの組み合わせごとに、当該組み合わせを構成する複数のソースファイルが変更されて一括してチェックインされた頻度を示す頻度情報を生成する生成部と、
      前記少なくも一つの対象ソースファイルを含む、変更されて一括してチェックインされる可能性が高い複数のソースファイルを前記頻度情報に基づいて特定する特定部と
    を有する、情報処理装置。
    The information processing apparatus according to claim 1.
    The processing unit
    Based on the change history information, for each combination of a plurality of source files, a generator that generates frequency information indicating the frequency with which a plurality of source files constituting the combination are changed and checked in all at once, and a generator.
    An information processing apparatus having a specific unit for specifying a plurality of source files that are likely to be changed and collectively checked in, including at least one target source file, based on the frequency information.
  3.  請求項2に記載の情報処理装置であって、
     前記生成部は、
      前記変更履歴情報に基づいて、一括してチェックインされた複数の変更ソースファイルから成る変更ファイル組のリストを示すリスト情報を生成する第1生成部と、
      前記リスト情報に基づいて前記頻度情報を生成する第2生成部と
    を有する、情報処理装置。
    The information processing apparatus according to claim 2.
    The generator is
    Based on the change history information, a first generation unit that generates list information indicating a list of change file sets consisting of a plurality of change source files checked in at once, and a first generation unit.
    An information processing apparatus having a second generation unit that generates the frequency information based on the list information.
  4.  請求項2及び請求項3のいずれか一つに記載の情報処理装置であって、
     前記少なくとも一つの対象ソースファイルは、対象チェックインに係るソースファイルであって、
     前記生成部は、前記対象チェックインの発生に応じて前記頻度情報を生成し、
     前記特定部は、前記生成部が前記対象チェックインの発生に応じて生成した前記頻度情報に基づいて、前記対象チェックインに係るソースファイルを含む、変更されて一括してチェックインされる可能性が高い複数のソースファイルを特定する、情報処理装置。
    The information processing apparatus according to any one of claims 2 and 3.
    The at least one target source file is a source file related to target check-in.
    The generation unit generates the frequency information in response to the occurrence of the target check-in.
    The specific unit may be modified and collectively checked in, including the source file related to the target check-in, based on the frequency information generated by the generation unit in response to the occurrence of the target check-in. An information processing device that identifies multiple source files with a high value.
  5.  請求項2及び請求項3のいずれか一つに記載の情報処理装置であって、
     前記少なくとも一つの対象ソースファイルは、対象チェックインに係るソースファイルであって、
     前記特定部は、前記対象チェックインの発生前に生成された前記頻度情報に基づいて、前記対象チェックインに係るソースファイルを含む、変更されて一括してチェックインされる可能性が高い複数のソースファイルを特定する、情報処理装置。
    The information processing apparatus according to any one of claims 2 and 3.
    The at least one target source file is a source file related to target check-in.
    The specific part is likely to be modified and collectively checked in, including the source file related to the target check-in, based on the frequency information generated before the target check-in occurs. An information processing device that identifies a source file.
  6.  コンピュータ装置に、
     チェックイン単位でのソースファイルの変更の履歴を示す変更履歴情報に基づいて、少なくとも一つの対象ソースファイルを含む、変更されて一括してチェックインされる可能性が高い複数のソースファイルを特定する工程を実行させるためのプログラム。
    For computer equipment
    Identify multiple source files that are likely to be modified and collectively checked in, including at least one target source file, based on change history information that shows the history of source file changes on a check-in basis. A program to execute a process.
PCT/JP2020/022845 2020-06-10 2020-06-10 Information processing device and program WO2021250812A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/022845 WO2021250812A1 (en) 2020-06-10 2020-06-10 Information processing device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/022845 WO2021250812A1 (en) 2020-06-10 2020-06-10 Information processing device and program

Publications (1)

Publication Number Publication Date
WO2021250812A1 true WO2021250812A1 (en) 2021-12-16

Family

ID=78845594

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/022845 WO2021250812A1 (en) 2020-06-10 2020-06-10 Information processing device and program

Country Status (1)

Country Link
WO (1) WO2021250812A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191580A (en) * 2009-02-17 2010-09-02 Nec Corp File management method, system, and program
JP2018112948A (en) * 2017-01-12 2018-07-19 富士通株式会社 Design assist apparatus and design assist method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191580A (en) * 2009-02-17 2010-09-02 Nec Corp File management method, system, and program
JP2018112948A (en) * 2017-01-12 2018-07-19 富士通株式会社 Design assist apparatus and design assist method

Similar Documents

Publication Publication Date Title
US10031841B2 (en) Method and system for incrementally updating a test suite utilizing run-time application executions
US10019256B2 (en) Systems and methods for incremental software development
US10320879B2 (en) Software service discovery and service evolution management
JP6349395B2 (en) Call path finder
US10248537B2 (en) Translation bug prediction classifier
US8918783B2 (en) Managing virtual computers simultaneously with static and dynamic dependencies
US20080126439A1 (en) Change verification in a configuration management database
US8959504B2 (en) Update scanning
US11144302B2 (en) Method and system for contraindicating firmware and driver updates
US11170021B2 (en) Digital content management platform
US20110029767A1 (en) System and Method for Transforming Configuration Data Items in a Configuration Management Database
US11709949B2 (en) Open source library security rating
CN106484389B (en) Action stream segment management
JP2010003224A (en) Test information management server, test information management method and program
WO2021250812A1 (en) Information processing device and program
JP6300750B2 (en) Verification program, verification apparatus, and verification method
US20060225047A1 (en) Generic software requirements analyzer
JP2005332098A (en) Testing item extraction system, testing item extraction device, testing item extraction method used for the device, and program therefor
US20220206763A1 (en) Information processing system, information processing apparatus information processing method, and program
JP6016613B2 (en) Software reliability evaluation apparatus, software reliability evaluation method, and program
JPWO2013018376A1 (en) System parameter setting support system, data processing method of system parameter setting support device, and program
US8307297B2 (en) Modeling configurations of systems
US20230208744A1 (en) Consensus driven service promotion
WO2020162174A1 (en) Analysis device, analysis method, and analysis program
CN116244179B (en) System firmware measuring method capable of self-improving

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: 20939530

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20939530

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP