IMPACT ANALYSIS APPARATUS, IMPACT ANALYSIS METHOD AND PROGRAM
An impact analysis device acquires a list of method information related to a difference between a new version of a library and an old version of the library, based on a source code of the new version of the library and a source code of the old version of the library; extracts, from the list, a first difference related to a method existing in a first call graph of software that uses the old version of the library; extracts, from the list, a second difference related to a method added to a second call graph of the software that uses the new version of the library; extracts a set of method information of a caller of a transition added to the second call graph in comparison with the first call graph; and outputs a union of the first difference, the second difference, and the set, thereby enhancing support for determining a likelihood that a library update could affect operations of software.
1 . An impact analysis device comprising:
acquiring a list of method information related to a difference between a new version of a library and an old version of the library, based on a source code of the new version of the library and a source code of the old version of the library;
extracting, from the list, a first difference related to a method existing in a first call graph of software that uses the old version of the library;
extracting, from the list, a second difference related to a method added to a second call graph of the software that uses the new version of the library;
extracting a set of method information of a caller of a transition added to the second call graph in comparison with the first call graph; and
output a union of the first difference, the second difference, and the set.
2 . The impact analysis device according to claim 1 , wherein the difference between the new version of the library and the old version of the library is a difference between an abstract syntax tree of the new version of the library and an abstract syntax tree of the old version of the library.
3 . The impact analysis device according to claim 1 , wherein the method information is information including a class name and a method name of the method.
4 . An impact analysis method causing a computer to execute, the method comprising:
acquiring a list of method information related to a difference between a new version of a library and an old version of the library, based on a source code of the new version of the library and a source code of the old version of the library;
extracting, from the list, a first difference related to a method existing in a first call graph of software that uses the old version of the library;
extracting, from the list, a second difference related to a method added to a second call graph of the software that uses the new version of the library;
extracting a set of method information of a caller of a transition added to the second call graph in comparison with the first call graph; and
outputting a union of the first difference, the second difference, and the set.
5 . A computer-readable non-transitory recording medium storing computer-executable program instructions that when executed by a processor cause a computer to execute an impact analysis method comprising:
acquiring a list of method information related to a difference between a new version of a library and an old version of the library, based on a source code of the new version of the library and a source code of the old version of the library;
extracting, from the list, a first difference related to a method existing in a first call graph of software that uses the old version of the library;
extracting, from the list, a second difference related to a method added to a second call graph of the software that uses the new version of the library;
extracting a set of method information of a caller of a transition added to the second call graph in comparison with the first call graph; and
outputting a union of the first difference, the second difference, and the set.
6 . The impact analysis method according to claim 4 , wherein the difference between the new version of the library and the old version of the library is a difference between an abstract syntax tree of the new version of the library and an abstract syntax tree of the old version of the library.
7 . The impact analysis method according to claim 4 , wherein the method information is information including a class name and a method name of the method.
8 . The computer-readable non-transitory recording medium according to claim 5 wherein the impact analysis method further comprises:
the difference between the new version of the library and the old version of the library is a difference between an abstract syntax tree of the new version of the library and an abstract syntax tree of the old version of the library.
9 . The computer-readable non-transitory recording medium according to claim 5 wherein the impact analysis method further comprises, wherein the method information is information including a class name and a method name of the method.
10 . The impact analysis device according to claim 2 , wherein a first call graph is generated based on the old version of the library and a second call graph is generated based on the new version of the library and extract a set of method information of a caller of a transition added to the second call graph by comparing the second call graph with the first call graph.