JP2004326337A - Code analysis program, code analysis automation program and automated code analysis system - Google Patents

Code analysis program, code analysis automation program and automated code analysis system Download PDF

Info

Publication number
JP2004326337A
JP2004326337A JP2003118681A JP2003118681A JP2004326337A JP 2004326337 A JP2004326337 A JP 2004326337A JP 2003118681 A JP2003118681 A JP 2003118681A JP 2003118681 A JP2003118681 A JP 2003118681A JP 2004326337 A JP2004326337 A JP 2004326337A
Authority
JP
Japan
Prior art keywords
program
source code
code
analysis
code analysis
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2003118681A
Other languages
Japanese (ja)
Inventor
Michiyo Wakimoto
美知代 脇本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003118681A priority Critical patent/JP2004326337A/en
Publication of JP2004326337A publication Critical patent/JP2004326337A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a code analysis program, a code analysis automation program and an automated code analysis system that can automate a code analysis of source code and can narrow source code analysis results. <P>SOLUTION: The code analysis program comprises a program registration step of registering a source code program, a registration detection step of detecting the source code program registering operation, a code analysis step of analyzing the source code of the registered source code program, a differential information generation step of generating source code differential information on new and old versions of the source code program according to registration information on the registered source code program, and an analysis result extraction step of narrowing source code analysis results according to the source code differential information. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、コード解析プログラム、コード解析自動化プログラム及び自動コード解析システムに係り、より詳しくは、ソースコードプログラムのソースコードの解析を行うためのコード解析プログラムの改良に関する。
【0002】
【従来の技術】
一般に、プログラム開発において、作成されたプログラム中の不具合を招きやすいコーディングは、コード解析により摘出する必要がある。このコード解析は、プログラム作成に用いられる装置(ツール)とは異なるコード解析専用の装置(ツール)を用いて行われる。このため、プログラムの開発者は、プログラムの登録操作の後に、登録したプログラムをコード解析する場合、改めてコード解析用の装置を起動しなければならなかった。
【0003】
また、プログラムのコード解析により、通常、動作不良などの不具合を生じる可能性のある多数のソースコードがリストアップされる。プログラム開発者は、この解析結果に基づいて、ソースコードを修正し、プログラムのバージョンアップを行う。このバージョンアップされたプログラムに対してもコード解析が行われる。
【0004】
このとき、リストアップされた各ソースコードは、必ずしも不具合を起こすわけではないので、リストアップされたソースコードの全てについてソースコードの修正が行われるわけではない。実際に修正が行われるのは、リストアップされたソースコードのうちの一部分に対してであって、ほとんどのソースコードに対しては修正が行われないという場合が多い。修正されなかったソースコードは、バージョンアップされたプログラムに対するコード解析において、再度リストアップされる。このため、プログラム開発者は、修正する必要のない多数のソースコードをチェックしなければならなかった。そして、コード解析を繰り返すごとに、この様な余分なリストが増えるので、チェック作業に要する時間が増大するという問題があった。
【0005】
図7は、従来のコード解析における処理手順の一例を示した説明図であり、図7(a)は、プログラムの初版に対する解析結果を表し、図7(b)は、プログラムの第2版に対する解析結果を表している。まず、プログラム開発者は、ソースコードの解析を行うコード解析装置を起動させ、作成したプログラムの初版ファイル21を入力する。コード解析装置は、初版ファイル21におけるプログラムのソースコードに対し、コード解析を行う。このコード解析により、警告情報をリストアップした警告情報ファイル22が解析結果として出力される。警告情報は、ソースコードごとに出力される。プログラム開発者は、リストアップされた警告情報に基づいて、各ソースコードに対して修正を行うか否かを判断し、必要に応じてソースコードごとに修正を行う。このときのプログラム開発者による対処の結果が、対処結果ファイル23である。この様にして、プログラムの初版ファイル21はバージョンアップされ、第2版ファイル24が作成される。
【0006】
次に、プログラム開発者は、作成した第2版ファイル24に対するコード解析を行うために、再度コード解析装置を起動させる。そして、第2版ファイル24におけるプログラムのソースコードに対するコード解析が行われ、警告情報がリストアップされた警告情報ファイル25が出力される。リストアップされた警告情報には、初版ファイル21のソースコードに対する警告情報のうち、プログラム開発者によって修正が行われなかったソースコードに対する警告情報27も含まれている。プログラム開発者は、リストアップされた警告情報に基づいて、ソースコードを修正するか否かの判断を行う。このとき、前回修正を行わなかったソースコードに対しても再度チェックしなければならない。
【0007】
修正が行われなかったソースコードに対する警告情報27が再度リストアップされてしまう問題を解決する方法として、初版ファイル21に対する対処結果を記憶し、警告情報27が出力されないようにすることが考えられる。すなわち、旧バージョンのプログラムに対するコード解析後の対処結果を記憶し、この記憶した対処結果と、新バージョンのプログラムに対するコード解析の結果とを照合する。そして、同一の警告情報を削除するということが考えられる。一般に、プログラムのコード解析の結果は、ソースコードの行番号に基づいて生成され、警告情報がソースコードの行番号ごとにリストアップされる。また、ソースコードの修正においては、ソースコードを行単位で追加し、あるいは、削除することが行われる。このため、上述した様な方法では、ソースコードの修正において行の追加または削除が行われた場合に、ソースコードの行番号が変わってしまうので、修正が行われたソースコードに対する警告情報を抽出することは困難である。
【0008】
図8は、ソースコードの修正において行が削除される例を示した説明図である。プログラムの初版ファイル31に対し、ソースコードの2行目を削除する修正が行われ、第2版ファイル32が作成されている。このソースコードの削除により、2行目から4行目のソースコード33の行番号が初版ファイル31とずれる。例えば、初版ファイル31の3行目のソースコードに対し、コード解析により警告情報が出力されたが、修正されなかった場合、第2版ファイル32のコード解析においても、このソースコードに対し警告情報が出力される。しかし、ソースコードの行番号がずれているので、同一の警告情報であるか否かを行番号だけで判別することは困難である。なお、従来例としては、例えば、特許文献1に記載のものがある。
【0009】
【特許文献1】
特開2003−22185号公報
【0010】
【発明が解決しようとする課題】
本発明は、上記事情に鑑みてなされたものであり、ソースコードのコード解析を自動的に行うことができるコード解析プログラム、コード解析自動化プログラム及び自動コード解析システムを提供することを目的としている。また、本発明の他の目的は、ソースコードの解析結果を絞り込むことができるコード解析プログラムを提供することにある。
【0011】
【課題を解決するための手段】
本発明によるコード解析プログラムは、ソースコードプログラムの登録を行うプログラム登録ステップと、登録されたソースコードプログラムに対し、ソースコードの解析を行うコード解析ステップと、登録されたソースコードプログラムの登録情報に基づいて、ソースコードプログラムの新旧バージョンにおけるソースコードの差分情報を生成する差分情報生成ステップと、ソースコードの差分情報に基づいて、ソースコードの解析結果の絞り込みを行う解析結果抽出ステップとを実行するための手順により構成される。
【0012】
この様な構成によれば、ソースコードプログラムが登録されるごとに、ソースコードプログラムのコード解析が行われる。一方、ソースコードプログラムの登録情報に基づいて、ソースコードプログラムの新旧バージョンが判別され、新旧バージョン間のソースコードの差分情報が生成される。このため、新バージョンのソースコードプログラムに対するコード解析結果について、差分情報に基づいて絞り込みを行うことができる。
【0013】
また、本発明によるコード解析プログラムは、上記構成に加え、ソースコードプログラムの登録操作を検出する登録検出ステップを実行するための手順を有し、登録検出ステップにおいて登録操作が検出された場合に、上記コード解析ステップにおいてソースコードの解析が行われるとともに、上記差分情報生成ステップにおいて差分情報の生成が行われるように構成される。
【0014】
この様な構成によれば、ソースコードプログラムの登録操作が検出され、登録操作の検出結果に基づいて、ソースコードの解析及び差分情報の生成が行われる。従って、ソースコードプログラムの登録操作に基づいて、自動的にコード解析を行うことができる。
【0015】
【発明の実施の形態】
実施の形態1.
図1は、本発明の実施の形態1による自動コード解析システムにおけるコード解析の一例を示した説明図である。本実施の形態の自動コード解析システム1は、プログラムの登録管理を行うプログラム登録管理装置2と、コード解析を自動化するためのコード解析自動化装置3と、ソースコードの解析を行うコード解析装置4により構成される。
【0016】
この自動コード解析システム1では、プログラムがプログラム開発者などのユーザによりプログラム登録管理装置2に登録されると、その登録操作が検知され、登録されたプログラムに対するコード解析が自動的に行われる。ここでいうプログラムとは、行番号ごとのソースコードからなるソースコードプログラムのことである。
【0017】
ユーザにより作成されたプログラムからなるソースファイルAがプログラム登録管理装置2に登録されると、ユーザによるソースファイルAの登録操作がコード解析自動化装置3により検知される。コード解析自動化装置3は、登録操作を検知すると、コード解析を行わせるために、登録されたソースファイルAのプログラムに対するコード解析をコード解析装置4に指示する。
【0018】
コード解析装置4は、このコード解析の指示に基づいて起動し、ソースファイルAのプログラムに対し、ソースコードの解析を行う。解析結果は、コード解析自動化装置3を介して出力され、ソースコードに対する警告情報が警告情報ファイルBにリストアップされる。バージョンアップされたソースファイルAの2回目以降の登録に対しては、出力される警告情報が前回の警告情報と重複しないように絞り込まれる。なお、これらの装置2〜4は、それぞれ独立した装置であっても良いし、1つのコンピュータ上で動作するソフトウェアであっても良い。
【0019】
図2は、図1の自動コード解析システムの一構成例を示したブロック図である。プログラム登録管理装置2は、プログラムのバージョン管理及びリリース管理などを行うものであり、例えば、プログラムの構成管理を行う構成管理装置である。このプログラム登録管理装置2は、登録管理用データベース5及び登録管理制御部6からなる。
【0020】
登録管理用データベース5は、ユーザにより作成されたプログラムからなるソースファイルと、ソースファイルのバージョン情報及びリリース情報とを格納する記憶手段である。すなわち、ソースファイルは、バージョンごとに順次に登録管理用データベース5に蓄積される。
【0021】
登録管理制御部6は、登録管理用データベース5に対してソースファイルの登録管理を行っている。登録管理制御部6にソースファイルが入力されると、登録管理制御部6は、ソースファイルと、そのバージョン情報を登録管理用データベース5に書き込む。ソースファイルのバージョンは、ファイル名などに基づいて判別される。また、プログラムがユーザに対してリリースされた場合は、登録管理用データベース5に書き込まれた対応するソースファイルに対し、リリース情報が書き込まれる。
【0022】
また、登録管理制御部6は、ユーザによるソースファイルの登録操作を検出する検出手段でもある。例えば、ソースファイルの登録のためのユーザによるキー操作などが検出されると、登録管理制御部6は、コード解析自動化装置3に登録通知を行う。この登録通知は、プログラム登録管理装置2に対するソースファイルの登録が完了したことを通知するために行われる。この様な登録通知に伴って、登録されたソースファイル及びそのバージョン情報などがファイル情報としてコード解析自動化装置3へ出力される。
【0023】
また、登録管理制御部6は、コード解析自動化装置3からの差分情報要求に基づいて、プログラムの新旧バージョンにおける差分情報を生成する差分情報生成手段でもある。この差分情報は、登録管理用データベース5に格納した新旧バージョンのソースファイルに基づいて、ソースコードの比較から生成される。
【0024】
差分情報としては、例えば、前回格納したプログラムに対し変更されたソースコードの現版における行番号情報が生成される。この様にして生成された差分情報は、コード解析自動化装置3へ出力される。なお、生成する差分情報としては、変更のあったソースコードに対し、前版の行番号及び現版の行番号からなる行番号情報であっても良い。
【0025】
コード解析自動化装置3は、コード解析装置4を起動させ、コード解析を自動的に行わせるとともに、コード解析装置4による解析結果に対し絞り込みを行っている。このコード解析自動化装置3は、コード解析指示部7及び差分情報処理部8からなる。
【0026】
コード解析指示部7は、登録管理制御部6からの登録通知に基づいて、ユーザによるソースファイルの登録操作を検知し、コード解析装置4にコード解析の指示を行っている。このコード解析の指示に伴って、登録されたソースファイルのファイル情報がコード解析装置4及び差分情報処理部8へ出力される。
【0027】
差分情報処理部8は、コード解析指示部7からのファイル情報に基づいて、登録管理制御部6に対し差分情報の問合せを行っている。この差分情報の問合せは、ソースファイルの登録情報としてのバージョン情報に基づいて行われる。例えば、ソースファイルの2回目以降の登録に対し、差分情報の問合せが行われる。差分情報の問合せは、差分情報要求を登録管理制御部6に対して出力することにより行われ、この差分情報要求の出力に伴って、ファイル情報が出力される。
【0028】
また、差分情報処理部8は、登録管理制御部6からの差分情報に基づいて、コード解析装置4による解析結果の絞り込みを行っている。解析結果の絞り込みは、例えば、今回登録されたソースファイルのプログラムに対する解析結果の中から、前回登録されたソースファイルのプログラムに対して変更されたソースコードに対する解析結果だけを抽出することにより行われる。
【0029】
コード解析装置4は、ソースファイルのプログラムに対し、ソースコードの解析を行うものであり、コード解析指示部7からの指示に基づいて、コード解析を行っている。ソースコードの解析により、不具合が生じる可能性のあるコーディングが検出され、解析結果として警告情報が生成される。この警告情報は、ソースコードの行番号ごとにリストアップされる。この様にして生成された警告情報は、差分情報処理部8へ出力される。
【0030】
図3は、図1の自動コード解析システムにおけるコード解析の動作例を示したシーケンス図である。まず、ユーザにより作成されたプログラムのソースファイルがプログラム登録管理装置2に初版登録される(ステップS1)。この初版登録に基づいて、プログラム登録管理装置2は、コード解析自動化装置3に登録通知及びファイル情報を出力する。
【0031】
コード解析自動化装置3は、プログラム登録管理装置2からの登録通知をトリガーとして、コード解析装置4に対しコード解析を指示する(ステップS2)。コード解析装置4は、コード解析自動化装置3からのファイル情報に基づいて、初版登録されたソースファイルのプログラムに対しコード解析を実行し(ステップS3)、解析結果を出力する(ステップS4)。
【0032】
次に、ユーザは、初版登録したソースファイルに対するコード解析の結果に基づいてソースコードの修正を行う。この修正により変更されたソースファイルは、プログラムの第2版としてプログラム登録管理装置2に登録される(ステップS5)。
【0033】
プログラムの第2版登録に基づいて、プログラム登録管理装置2から登録通知及びファイル情報が出力される。コード解析自動化装置3は、この登録通知に基づいて、コード解析装置4に対してコード解析の実行を指示し(ステップS6)、ファイル情報を出力する。
【0034】
コード解析装置4は、コード解析自動化装置3による指示に基づいて、第2版登録されたソースファイルのプログラムに対してコード解析を実行し(ステップS7)、解析結果をコード解析自動化装置3に出力する(ステップS8)。
【0035】
コード解析自動化装置3は、プログラム登録管理装置2からのファイル情報に基づいて、プログラム登録管理装置2に対し差分情報の問合せを行い(ステップS9)、差分情報要求及びファイル情報を出力する。プログラム登録管理装置2は、コード解析自動化装置3からの差分情報要求及びファイル情報に基づいて、第2版プログラム及び初版プログラム間の差分情報を生成する(ステップS10)。生成された差分情報は、コード解析自動化装置3に出力される。
【0036】
コード解析自動化装置3は、差分情報に基づいて、コード解析装置4からの解析結果の絞り込みを行う。この解析結果の絞り込みにより、初版プログラムに対して変更のあったソースコードに対する解析結果だけが抽出され(ステップS11)、抽出結果が出力される(ステップS12)。この様にしてソースファイルの登録に伴ってコード解析が行われ、プログラムの修正が完了するまでステップS5〜S12の処理手順が繰り返される。
【0037】
図4は、図2のプログラム登録管理装置における登録管理の動作例を示したフローチャートである。プログラム登録管理装置2において、ユーザによるソースファイルの登録操作が検出されると、登録管理制御部6は、ソースコードの更新が可能な状態となる(ステップS21)。この状態において、ユーザは、プログラムの編集などを行う。ユーザによる登録の指示により、作成されたソースファイルのソースコードは、登録管理用データベース5に登録される(ステップS22)。
【0038】
登録管理制御部6は、ソースファイルの登録後、コード解析自動化装置3に対し登録通知を行う(ステップS23)。登録管理制御部6は、登録通知の後、コード解析自動化装置3から差分情報要求があれば、差分情報を生成する(ステップS24,S25)。所定時間内に差分情報要求がない場合には、ソースコードの更新が不可の状態となり(ステップS26)、登録管理の処理が終了する。
【0039】
図5は、図2のコード解析自動化装置における動作例を示したフローチャートである。コード解析指示部7は、プログラム登録管理装置2からの登録通知に基づいて、ユーザによるソースファイルの登録を検知する(ステップS31)。コード解析指示部7は、この登録の検知に基づいて、プログラム登録管理装置2からファイル情報を取得し(ステップS32)、コード解析装置4に対してコード解析の実行を指示する(ステップS33)。
【0040】
このコード解析実行の指示に伴ってファイル情報が差分情報処理部8に出力され、差分情報処理部8は、登録されたソースファイルが初版であるか否かの判断を行う(ステップS34)。差分情報処理部8は、登録されたソースファイルが初版でなければ、プログラム登録管理装置2に対し差分情報の要求をする(ステップS35)。
【0041】
差分情報処理部8は、コード解析装置4からコード解析の結果を取得するとともに(ステップS36)、プログラム登録管理装置2からの差分情報に基づいて、解析結果の絞り込みを行う。この絞り込みにより、変更されたソースコードに対する解析結果が抽出される(ステップS37)。登録されたソースファイルが初版である場合には、差分情報要求は行われず、コード解析装置4による解析結果が出力される。
【0042】
図6は、図1の自動コード解析システムにおけるコード解析の一例を示した説明図であり、図6(a)は、ソースファイルの初版に対する解析結果を表し、図6(b)は、ソースファイルの第2版に対する解析結果を表している。ユーザは、作成したプログラムの初版ファイル11をプログラム登録管理装置2に入力する。初版ファイル11の入力操作に基づいて、コード解析装置が自動的に起動し、初版ファイル11におけるプログラムのソースコードに対してコード解析が行われる。
【0043】
このコード解析により、警告情報をリストアップした警告情報ファイル12が解析結果として出力される。警告情報は、ソースコードごとに出力される。ユーザは、リストアップされた警告情報に基づいて、各ソースコードに対して修正を行うか否かを判断し、必要に応じてソースコードごとに修正を行う。このときの対処の結果が、対処結果ファイル13である。この様にして、プログラムの初版ファイル11はバージョンアップされ、第2版ファイル14が作成される。
【0044】
次に、ユーザは、作成した第2版ファイル14をプログラム登録管理装置2に入力する。第2版ファイル14の入力操作に基づいて、コード解析装置4が自動的に起動し、第2版ファイル14のプログラムに対するコード解析が行われる。このコード解析により、警告情報がリストアップされた警告情報ファイル15が出力される。リストアップされた警告情報には、初版ファイル11に対しユーザによって修正が行われたソースコードに対する警告情報17だけが含まれている。すなわち、前回修正が行われなかったソースコードに対する警告情報は除去されている。ユーザは、警告情報17に基づいて修正を行うか否かの判断を行えば良い。
【0045】
本実施の形態によれば、ソースファイルの登録操作が検出され、この検出結果に基づいて、登録管理制御部6により登録通知が出力される。この登録通知に基づいて、コード解析指示部7によりコード解析の指示が出力される。このため、ユーザによる登録操作に基づいて、プログラムのコード解析を自動的に起動させることができる。従って、ユーザは、ソースファイルの登録操作の後に、登録したプログラムのコード解析を実行させるためのキー操作などを改めて行う必要がなくなる。
【0046】
また、2回目以降のプログラムのコード解析に対しては、前回登録されたプログラムのソースコードと、今回登録されたプログラムのソースコードとの差分情報に基づいて、現版のプログラムに対するコード解析の結果を絞り込むことができる。特に、前版に対して変更されたソースコードに対する解析結果だけに絞り込むことができる。このため、変更されなかったソースコードに対する解析結果がリストアップされるのを防止することができる。従って、修正する必要のないソースコードをコード解析ごとにチェックする手間を省略することができるとともに、コード解析ごとに余分なリストが増大することも防止することができる。
【0047】
また、変更のあった現版のソースコードの行番号情報が差分情報として生成され、この差分情報に基づいて、解析結果の絞り込みが行われるので、ソースコードの変更として行の追加または削除が行われた場合であっても、この様な修正が行われたソースコードに対する解析結果だけを抽出することができる。
【0048】
【発明の効果】
以上、説明したように本発明によるコード解析プログラム、コード解析自動化プログラム及び自動コード解析システムによれば、ソースコードプログラムが登録されるごとに、ソースコードプログラムのコード解析が行われる。一方、ソースコードプログラムの登録情報に基づいて、ソースコードプログラムの新旧バージョンが判別され、新旧バージョン間のソースコードプログラムの差分情報が生成される。このため、新バージョンのソースコードプログラムに対するコード解析結果について、差分情報に基づいて絞り込みを行うことができる。
【0049】
また、ソースコードプログラムの登録操作を検出し、登録操作の検出結果に基づいて、ソースコードの解析及び差分情報の生成を行うことにより、ソースコードプログラムの登録操作に基づいて、自動的にコード解析を行うことができる。また、ソースコードプログラムの登録ごとにコード解析が自動的に行われるので、最新のソースコードプログラムに対するコード解析結果を容易に得ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1による自動コード解析システムにおけるコード解析の一例を示した説明図である。
【図2】図1の自動コード解析システムの一構成例を示したブロック図である。
【図3】図1の自動コード解析システムにおけるコード解析の動作例を示したシーケンス図である。
【図4】図2のプログラム登録管理装置における登録管理の動作例を示したフローチャートである。
【図5】図2のコード解析自動化装置における動作例を示したフローチャートである。
【図6】図1の自動コード解析システムにおけるコード解析の一例を示した説明図である。
【図7】従来のコード解析における処理手順の一例を示した説明図である。
【図8】ソースコードの修正において行が削除される例を示した説明図である。
【符号の説明】
1 自動コード解析システム、2 プログラム登録管理装置、
3 コード解析自動化装置、4 コード解析装置、
5 登録管理用データベース、6 登録管理制御部、7 コード解析指示部、
8 差分情報処理部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a code analysis program, a code analysis automation program, and an automatic code analysis system, and more particularly, to an improvement of a code analysis program for analyzing a source code of a source code program.
[0002]
[Prior art]
Generally, in program development, coding that is likely to cause a defect in a created program needs to be extracted by code analysis. This code analysis is performed using an apparatus (tool) dedicated to code analysis, which is different from an apparatus (tool) used for creating a program. For this reason, when analyzing the code of the registered program after the operation of registering the program, the developer of the program has to start up the code analysis device again.
[0003]
In addition, a large number of source codes that are likely to cause malfunctions such as malfunctions are listed by code analysis of the program. The program developer corrects the source code and upgrades the program based on the analysis result. Code analysis is also performed on the upgraded program.
[0004]
At this time, since each listed source code does not necessarily cause a problem, the source code is not corrected for all the listed source codes. Actually, the modification is performed only on a part of the listed source code, and in most cases, the modification is not performed on most of the source code. The source code that has not been modified is listed again in the code analysis for the upgraded program. For this reason, program developers had to check a large number of source codes that did not need to be modified. Then, every time code analysis is repeated, such an extra list increases, so that there is a problem that the time required for the check operation increases.
[0005]
7A and 7B are explanatory diagrams showing an example of a processing procedure in the conventional code analysis. FIG. 7A shows an analysis result for a first version of a program, and FIG. 7B shows an analysis result for a second version of the program. This shows the analysis result. First, a program developer activates a code analysis device that analyzes a source code, and inputs a first version file 21 of a created program. The code analysis device performs a code analysis on the source code of the program in the first version file 21. By this code analysis, a warning information file 22 listing the warning information is output as an analysis result. Warning information is output for each source code. The program developer determines whether or not to correct each source code based on the listed warning information, and makes corrections for each source code as necessary. The result of the action taken by the program developer at this time is the action result file 23. In this way, the first version file 21 of the program is upgraded, and the second version file 24 is created.
[0006]
Next, the program developer activates the code analysis device again to perform code analysis on the created second version file 24. Then, code analysis is performed on the source code of the program in the second version file 24, and a warning information file 25 in which warning information is listed is output. The listed warning information also includes warning information 27 for the source code that has not been modified by the program developer among the warning information for the source code of the first version file 21. The program developer determines whether to modify the source code based on the listed warning information. At this time, the source code that has not been corrected last time must be checked again.
[0007]
As a method for solving the problem that the warning information 27 for the source code that has not been corrected is listed up again, it is conceivable to store the response result for the first version file 21 so that the warning information 27 is not output. That is, the coping result of the old version program after code analysis is stored, and the stored coping result is compared with the code analysis result of the new version program. Then, the same warning information may be deleted. Generally, a result of code analysis of a program is generated based on a line number of a source code, and warning information is listed for each line number of the source code. Further, in the correction of the source code, the source code is added or deleted line by line. For this reason, in the above-described method, when a line is added or deleted in the correction of the source code, the line number of the source code is changed, so that the warning information for the corrected source code is extracted. It is difficult to do.
[0008]
FIG. 8 is an explanatory diagram showing an example in which a line is deleted when the source code is modified. The first version file 31 of the program is modified to delete the second line of the source code, and the second version file 32 is created. Due to the deletion of the source code, the line numbers of the source code 33 in the second to fourth lines are shifted from the first version file 31. For example, if the warning information is output by the code analysis for the source code on the third line of the first edition file 31, but the warning information is not corrected, the warning Is output. However, since the line numbers of the source code are shifted, it is difficult to determine whether or not the warning information is the same based only on the line numbers. As a conventional example, for example, there is one described in Patent Document 1.
[0009]
[Patent Document 1]
JP 2003-22185 A
[Problems to be solved by the invention]
The present invention has been made in view of the above circumstances, and has as its object to provide a code analysis program, a code analysis automation program, and an automatic code analysis system capable of automatically performing code analysis of a source code. Another object of the present invention is to provide a code analysis program capable of narrowing down analysis results of a source code.
[0011]
[Means for Solving the Problems]
A code analysis program according to the present invention includes: a program registration step of registering a source code program; a code analysis step of analyzing a source code of the registered source code program; and a registration information of the registered source code program. A difference information generating step of generating source code difference information between the new and old versions of the source code program based on the source code program, and an analysis result extracting step of narrowing down the source code analysis result based on the source code difference information. It consists of the procedure for.
[0012]
According to such a configuration, every time a source code program is registered, code analysis of the source code program is performed. On the other hand, based on the registration information of the source code program, the new and old versions of the source code program are determined, and source code difference information between the new and old versions is generated. For this reason, it is possible to narrow down the code analysis results for the new version of the source code program based on the difference information.
[0013]
In addition, the code analysis program according to the present invention, in addition to the above configuration, has a procedure for executing a registration detection step of detecting a registration operation of the source code program, when the registration operation is detected in the registration detection step, The source code is analyzed in the code analysis step, and difference information is generated in the difference information generation step.
[0014]
According to such a configuration, the registration operation of the source code program is detected, and the analysis of the source code and the generation of the difference information are performed based on the detection result of the registration operation. Therefore, code analysis can be automatically performed based on the registration operation of the source code program.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Embodiment 1 FIG.
FIG. 1 is an explanatory diagram showing an example of code analysis in the automatic code analysis system according to the first embodiment of the present invention. The automatic code analysis system 1 according to the present embodiment includes a program registration management device 2 for managing program registration, a code analysis automation device 3 for automating code analysis, and a code analysis device 4 for analyzing source code. Be composed.
[0016]
In the automatic code analysis system 1, when a program is registered in the program registration management device 2 by a user such as a program developer, the registration operation is detected, and code analysis of the registered program is automatically performed. The program referred to here is a source code program including a source code for each line number.
[0017]
When the source file A including the program created by the user is registered in the program registration management device 2, the registration operation of the source file A by the user is detected by the code analysis automation device 3. When detecting the registration operation, the code analysis automation apparatus 3 instructs the code analysis apparatus 4 to perform a code analysis on the program of the registered source file A in order to perform the code analysis.
[0018]
The code analysis device 4 is activated based on the instruction of the code analysis, and analyzes the source code of the program of the source file A. The analysis result is output via the code analysis automation device 3, and the warning information for the source code is listed in the warning information file B. For the second and subsequent registrations of the upgraded source file A, the output warning information is narrowed down so as not to overlap with the previous warning information. Note that these devices 2 to 4 may be independent devices, or may be software running on one computer.
[0019]
FIG. 2 is a block diagram showing one configuration example of the automatic code analysis system of FIG. The program registration management device 2 performs version management and release management of a program, and is, for example, a configuration management device that performs configuration management of a program. The program registration management device 2 includes a registration management database 5 and a registration management control unit 6.
[0020]
The registration management database 5 is a storage unit that stores a source file including a program created by a user, and version information and release information of the source file. That is, the source files are sequentially stored in the registration management database 5 for each version.
[0021]
The registration management control unit 6 performs registration management of the source file in the registration management database 5. When the source file is input to the registration management control unit 6, the registration management control unit 6 writes the source file and its version information into the registration management database 5. The version of the source file is determined based on the file name or the like. When the program is released to the user, release information is written to the corresponding source file written in the registration management database 5.
[0022]
Further, the registration management control unit 6 is also a detection unit that detects a source file registration operation by the user. For example, when a key operation by a user for registering a source file is detected, the registration management control unit 6 notifies the code analysis automation device 3 of registration. This registration notification is performed to notify that the registration of the source file to the program registration management device 2 has been completed. Along with such registration notification, the registered source file and its version information are output to the code analysis automation device 3 as file information.
[0023]
Further, the registration management control unit 6 is also a difference information generation unit that generates difference information in new and old versions of the program based on a difference information request from the code analysis automation device 3. This difference information is generated by comparing source codes based on the new and old version source files stored in the registration management database 5.
[0024]
As the difference information, for example, line number information in the current version of the source code changed from the previously stored program is generated. The difference information generated in this way is output to the code analysis automation device 3. Note that the generated difference information may be line number information including a line number of a previous version and a line number of a current version with respect to a changed source code.
[0025]
The code analysis automation device 3 activates the code analysis device 4 to automatically perform the code analysis, and narrows down the analysis result by the code analysis device 4. The automatic code analysis device 3 includes a code analysis instruction unit 7 and a difference information processing unit 8.
[0026]
The code analysis instructing unit 7 detects a user's registration operation of the source file based on the registration notification from the registration management control unit 6 and instructs the code analysis device 4 to perform code analysis. In accordance with the instruction of the code analysis, the file information of the registered source file is output to the code analysis device 4 and the difference information processing unit 8.
[0027]
The difference information processing unit 8 makes an inquiry about the difference information to the registration management control unit 6 based on the file information from the code analysis instruction unit 7. The inquiry about the difference information is performed based on the version information as the registration information of the source file. For example, an inquiry about difference information is made for the second and subsequent registrations of the source file. The inquiry about the difference information is performed by outputting the difference information request to the registration management control unit 6, and the file information is output with the output of the difference information request.
[0028]
Further, the difference information processing unit 8 narrows down the analysis result by the code analysis device 4 based on the difference information from the registration management control unit 6. The narrowing down of the analysis result is performed by, for example, extracting only the analysis result of the source code changed with respect to the program of the previously registered source file from the analysis result of the program of the source file registered this time. .
[0029]
The code analysis device 4 analyzes a source code of a program of a source file, and performs a code analysis based on an instruction from a code analysis instruction unit 7. By analyzing the source code, coding that may cause a failure is detected, and warning information is generated as an analysis result. This warning information is listed for each line number in the source code. The warning information generated in this manner is output to the difference information processing unit 8.
[0030]
FIG. 3 is a sequence diagram showing an operation example of code analysis in the automatic code analysis system of FIG. First, the source file of the program created by the user is registered in the program registration management device 2 in the first version (step S1). Based on this initial version registration, the program registration management device 2 outputs a registration notification and file information to the code analysis automation device 3.
[0031]
The code analysis automation device 3 instructs the code analysis device 4 to perform code analysis, triggered by the registration notification from the program registration management device 2 (step S2). The code analysis device 4 performs a code analysis on the program of the source file registered in the first version based on the file information from the code analysis automation device 3 (step S3), and outputs an analysis result (step S4).
[0032]
Next, the user corrects the source code based on the result of the code analysis on the source file registered in the first edition. The source file changed by this modification is registered in the program registration management device 2 as a second version of the program (step S5).
[0033]
A registration notification and file information are output from the program registration management device 2 based on the second version registration of the program. The code analysis automation apparatus 3 instructs the code analysis apparatus 4 to execute code analysis based on the registration notification (step S6), and outputs file information.
[0034]
The code analysis device 4 executes the code analysis on the program of the source file registered in the second version based on the instruction from the code analysis automation device 3 (step S7), and outputs the analysis result to the code analysis automation device 3. (Step S8).
[0035]
The code analysis automation apparatus 3 makes an inquiry about difference information to the program registration management apparatus 2 based on the file information from the program registration management apparatus 2 (step S9), and outputs a difference information request and file information. The program registration management device 2 generates difference information between the second version program and the first version program based on the difference information request and the file information from the code analysis automation device 3 (Step S10). The generated difference information is output to the code analysis automation device 3.
[0036]
The code analysis automation device 3 narrows down analysis results from the code analysis device 4 based on the difference information. By narrowing down the analysis results, only the analysis results for the source code that has been changed with respect to the first version program are extracted (step S11), and the extraction results are output (step S12). In this way, the code analysis is performed along with the registration of the source file, and the processing procedures of steps S5 to S12 are repeated until the correction of the program is completed.
[0037]
FIG. 4 is a flowchart showing an operation example of registration management in the program registration management device of FIG. When the program registration management device 2 detects a source file registration operation by the user, the registration management control unit 6 enters a state in which the source code can be updated (step S21). In this state, the user edits the program. According to the registration instruction by the user, the source code of the created source file is registered in the registration management database 5 (step S22).
[0038]
After registering the source file, the registration management control unit 6 notifies the code analysis automation device 3 of the registration (step S23). After receiving the registration notification, the registration management control unit 6 generates difference information if there is a difference information request from the code analysis automation apparatus 3 (steps S24 and S25). If there is no difference information request within the predetermined time, the source code cannot be updated (step S26), and the registration management process ends.
[0039]
FIG. 5 is a flowchart showing an operation example of the code analysis automation apparatus of FIG. The code analysis instructing unit 7 detects the registration of the source file by the user based on the registration notification from the program registration management device 2 (Step S31). The code analysis instructing unit 7 acquires file information from the program registration management device 2 based on the detection of the registration (Step S32), and instructs the code analysis device 4 to execute code analysis (Step S33).
[0040]
The file information is output to the difference information processing unit 8 in accordance with the instruction to execute the code analysis, and the difference information processing unit 8 determines whether or not the registered source file is the first version (step S34). If the registered source file is not the first version, the difference information processing unit 8 requests the program registration management device 2 for difference information (step S35).
[0041]
The difference information processing unit 8 acquires the result of the code analysis from the code analysis device 4 (step S36), and narrows down the analysis result based on the difference information from the program registration management device 2. As a result of the narrowing down, an analysis result for the changed source code is extracted (step S37). If the registered source file is the first version, the difference information request is not made and the analysis result by the code analysis device 4 is output.
[0042]
FIG. 6 is an explanatory diagram showing an example of code analysis in the automatic code analysis system of FIG. 1. FIG. 6A shows an analysis result for a first version of a source file, and FIG. Of the second edition of the above. The user inputs the created first version file 11 of the program to the program registration management device 2. Based on the input operation of the first edition file 11, the code analysis device is automatically started, and the code analysis is performed on the source code of the program in the first edition file 11.
[0043]
By this code analysis, a warning information file 12 listing warning information is output as an analysis result. Warning information is output for each source code. The user determines whether or not to correct each source code based on the listed warning information, and makes corrections for each source code as necessary. The result of the measure at this time is the measure result file 13. In this way, the first version file 11 of the program is upgraded, and the second version file 14 is created.
[0044]
Next, the user inputs the created second version file 14 to the program registration management device 2. Based on the input operation of the second version file 14, the code analysis device 4 automatically starts up, and the code analysis of the program of the second version file 14 is performed. By this code analysis, a warning information file 15 listing warning information is output. The listed warning information includes only the warning information 17 for the source code whose first version file 11 has been corrected by the user. That is, the warning information for the source code that has not been corrected last time has been removed. The user may determine whether or not to make correction based on the warning information 17.
[0045]
According to the present embodiment, the registration operation of the source file is detected, and the registration management control unit 6 outputs a registration notification based on the detection result. Based on the registration notification, the code analysis instruction unit 7 outputs a code analysis instruction. Therefore, the code analysis of the program can be automatically started based on the registration operation by the user. This eliminates the need for the user to perform another key operation for executing code analysis of the registered program after the source file registration operation.
[0046]
For the code analysis of the second and subsequent programs, the result of code analysis for the current version of the program is performed based on the difference information between the source code of the previously registered program and the source code of the currently registered program. Can be narrowed down. In particular, it is possible to narrow down the analysis to only the source code changed from the previous version. For this reason, it is possible to prevent the analysis result of the source code that has not been changed from being listed. Therefore, it is possible to omit the trouble of checking the source code that does not need to be modified for each code analysis, and it is possible to prevent an unnecessary list from increasing for each code analysis.
[0047]
Also, the line number information of the source code of the changed current version is generated as difference information, and the analysis result is narrowed down based on this difference information. Even in this case, it is possible to extract only the analysis result of the source code with such a modification.
[0048]
【The invention's effect】
As described above, according to the code analysis program, the code analysis automation program, and the automatic code analysis system of the present invention, each time the source code program is registered, the code analysis of the source code program is performed. On the other hand, the old and new versions of the source code program are determined based on the registration information of the source code program, and difference information of the source code program between the new and old versions is generated. For this reason, it is possible to narrow down the code analysis results for the new version of the source code program based on the difference information.
[0049]
Also, by detecting the registration operation of the source code program, and analyzing the source code and generating the difference information based on the detection result of the registration operation, the code analysis is automatically performed based on the registration operation of the source code program. It can be performed. Further, since the code analysis is automatically performed every time the source code program is registered, the result of the code analysis for the latest source code program can be easily obtained.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing an example of code analysis in an automatic code analysis system according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration example of the automatic code analysis system of FIG.
FIG. 3 is a sequence diagram showing an operation example of code analysis in the automatic code analysis system of FIG. 1;
FIG. 4 is a flowchart showing an operation example of registration management in the program registration management device of FIG. 2;
FIG. 5 is a flowchart showing an operation example in the code analysis automation apparatus of FIG. 2;
FIG. 6 is an explanatory diagram showing an example of code analysis in the automatic code analysis system of FIG. 1;
FIG. 7 is an explanatory diagram showing an example of a processing procedure in a conventional code analysis.
FIG. 8 is an explanatory diagram showing an example in which a line is deleted in modifying a source code.
[Explanation of symbols]
1 automatic code analysis system, 2 program registration management device,
3 code analysis automation device, 4 code analysis device,
5 registration management database, 6 registration management control unit, 7 code analysis instruction unit,
8 Difference information processing unit

Claims (5)

ソースコードプログラムの登録を行うプログラム登録ステップと、
登録されたソースコードプログラムに対し、ソースコードの解析を行うコード解析ステップと、
登録されたソースコードプログラムの登録情報に基づいて、ソースコードプログラムの新旧バージョンにおけるソースコードの差分情報を生成する差分情報生成ステップと、
ソースコードの差分情報に基づいて、ソースコードの解析結果の絞り込みを行う解析結果抽出ステップとを実行するための手順からなることを特徴とするコード解析プログラム。
A program registration step for registering a source code program;
A code analysis step for analyzing the source code of the registered source code program;
A difference information generating step of generating difference information of source code in new and old versions of the source code program based on the registered information of the registered source code program;
A code analysis program for executing an analysis result extraction step of narrowing down the analysis result of the source code based on the difference information of the source code.
ソースコードプログラムの登録操作を検出する登録検出ステップを実行するための手順を有し、
登録検出ステップにおいて登録操作が検出された場合に、上記コード解析ステップにおいてソースコードの解析が行われるとともに、上記差分情報生成ステップにおいて差分情報の生成が行われることを特徴とする請求項1に記載のコード解析プログラム。
Having a procedure for performing a registration detection step of detecting a registration operation of the source code program,
2. The method according to claim 1, wherein when a registration operation is detected in the registration detection step, a source code is analyzed in the code analysis step, and difference information is generated in the difference information generation step. 3. Code analysis program.
上記コード解析ステップにおいて、ソースコードの解析結果がソースコードの行番号ごとに生成され、
上記差分情報生成ステップにおいて、変更されたソースコードの行番号情報が差分情報として生成され、
上記解析結果抽出ステップにおいて、ソースコードの解析結果が変更されたソースコードに対するものに絞り込まれることを特徴とする請求項1に記載のコード解析プログラム。
In the code analysis step, an analysis result of the source code is generated for each line number of the source code,
In the difference information generating step, line number information of the changed source code is generated as difference information,
2. The code analysis program according to claim 1, wherein, in the analysis result extracting step, an analysis result of the source code is narrowed down to an analysis result of the changed source code.
ソースコードプログラムの登録操作を検知する登録検知ステップと、
登録操作が検知された場合に、登録されたソースコードプログラムに対し、ソースコードの解析を指示するコード解析指示ステップと、
登録操作が検知された場合に、登録されたソースコードプログラムの登録情報に基づいて、ソースコードプログラムの新旧バージョンにおけるソースコードの差分情報を要求する差分情報要求ステップと、
ソースコードの差分情報に基づいて、ソースコードの解析結果の絞り込みを行う解析結果抽出ステップとを実行するための手順からなることを特徴とするコード解析自動化プログラム。
A registration detecting step of detecting a registration operation of the source code program;
A code analysis instruction step of instructing the registered source code program to analyze a source code when a registration operation is detected;
When a registration operation is detected, based on the registered information of the registered source code program, a difference information requesting step of requesting source code difference information between the new and old versions of the source code program;
An analysis result extracting step of narrowing down analysis results of the source code based on the difference information of the source code.
ソースコードプログラムの登録管理を行うプログラム登録管理装置と、
ソースコードの解析を行うコード解析装置と、
ソースコードの解析結果の絞り込みを行うコード解析自動化装置とを備え、
上記コード解析自動化装置は、ソースコードプログラムの登録操作を検知し、登録されたソースコードプログラムに対するソースコードの解析をコード解析装置に指示するコード解析指示手段と、
登録操作が検知された場合に、登録されたソースコードプログラムの登録情報に基づいて、ソースコードプログラムの新旧バージョンにおけるソースコードの差分情報をプログラム登録管理装置に要求し、プログラム登録管理装置により生成されたソースコードの差分情報に基づいて、コード解析装置によるソースコードの解析結果に対し絞り込みを行う差分情報処理手段とからなることを特徴とする自動コード解析システム。
A program registration management device for performing registration management of a source code program;
A code analyzer for analyzing source code,
A code analysis automation device that narrows down the source code analysis results,
The code analysis automation device detects a registration operation of a source code program, a code analysis instructing unit that instructs the code analysis device to analyze the source code for the registered source code program,
When a registration operation is detected, the program registration management device requests the difference information of the source code between the old and new versions of the source code program based on the registration information of the registered source code program, and the difference information is generated by the program registration management device. An automatic code analysis system comprising: difference information processing means for narrowing down the analysis result of the source code by the code analysis device based on the difference information of the source code.
JP2003118681A 2003-04-23 2003-04-23 Code analysis program, code analysis automation program and automated code analysis system Pending JP2004326337A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003118681A JP2004326337A (en) 2003-04-23 2003-04-23 Code analysis program, code analysis automation program and automated code analysis system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003118681A JP2004326337A (en) 2003-04-23 2003-04-23 Code analysis program, code analysis automation program and automated code analysis system

Publications (1)

Publication Number Publication Date
JP2004326337A true JP2004326337A (en) 2004-11-18

Family

ID=33498159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003118681A Pending JP2004326337A (en) 2003-04-23 2003-04-23 Code analysis program, code analysis automation program and automated code analysis system

Country Status (1)

Country Link
JP (1) JP2004326337A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007089349A1 (en) * 2006-01-30 2007-08-09 Microsoft Corporation Context based code analysis
JP2010067188A (en) * 2008-09-12 2010-03-25 Internatl Business Mach Corp <Ibm> Information processor for supporting programming, information processing system, and programming support method and program
CN102156832A (en) * 2011-03-25 2011-08-17 天津大学 Security defect detection method for Firefox expansion
CN102768642A (en) * 2012-06-25 2012-11-07 浪潮电子信息产业股份有限公司 LINUX kernel reliability evaluating system and LINUX kernel reliability evaluating method based on source code analysis
CN102880702A (en) * 2012-09-24 2013-01-16 杭州安恒信息技术有限公司 Method and system for detecting database kernel invasion hidden trigger
CN103645985A (en) * 2013-11-28 2014-03-19 广州视源电子科技股份有限公司 Source code macro-matching detection method
US20150186524A1 (en) * 2012-06-06 2015-07-02 Microsoft Technology Licensing, Llc Deep application crawling
WO2018146757A1 (en) * 2017-02-08 2018-08-16 三菱電機株式会社 Information processing device, information processing method, and information processing program

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595703B2 (en) 2006-01-30 2013-11-26 Microsoft Corporation Context based code analysis
US8997055B2 (en) 2006-01-30 2015-03-31 Microsoft Corporation Context based code analysis
WO2007089349A1 (en) * 2006-01-30 2007-08-09 Microsoft Corporation Context based code analysis
CN101589380B (en) * 2006-01-30 2012-07-04 微软公司 Context based code analysis
JP2010067188A (en) * 2008-09-12 2010-03-25 Internatl Business Mach Corp <Ibm> Information processor for supporting programming, information processing system, and programming support method and program
CN102156832A (en) * 2011-03-25 2011-08-17 天津大学 Security defect detection method for Firefox expansion
US20150186524A1 (en) * 2012-06-06 2015-07-02 Microsoft Technology Licensing, Llc Deep application crawling
US10055762B2 (en) * 2012-06-06 2018-08-21 Microsoft Technology Licensing, Llc Deep application crawling
CN102768642A (en) * 2012-06-25 2012-11-07 浪潮电子信息产业股份有限公司 LINUX kernel reliability evaluating system and LINUX kernel reliability evaluating method based on source code analysis
CN102768642B (en) * 2012-06-25 2016-08-03 浪潮电子信息产业股份有限公司 A kind of LINUX kernel reliability evaluating system and method analyzed based on source code
CN102880702A (en) * 2012-09-24 2013-01-16 杭州安恒信息技术有限公司 Method and system for detecting database kernel invasion hidden trigger
CN103645985A (en) * 2013-11-28 2014-03-19 广州视源电子科技股份有限公司 Source code macro-matching detection method
WO2018146757A1 (en) * 2017-02-08 2018-08-16 三菱電機株式会社 Information processing device, information processing method, and information processing program
JPWO2018146757A1 (en) * 2017-02-08 2019-06-27 三菱電機株式会社 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM

Similar Documents

Publication Publication Date Title
TWI540424B (en) Method, device and system of repairing software run-time error
US9940225B2 (en) Automated error checking system for a software application and method therefor
US8627289B2 (en) Detecting configuration problems in an eclipse-based software application
RU2565109C2 (en) Method and apparatus for recovering backup database
CN108196878B (en) Method and device for generating application program installation package, electronic equipment and storage medium
US9027014B2 (en) Updating firmware compatibility data
CN107783776B (en) Processing method and device of firmware upgrade package and electronic equipment
WO2015078333A1 (en) Method for offline updating virtual machine images
JP5208635B2 (en) Information processing apparatus, information processing system, programming support method and program for supporting programming
KR20130122747A (en) Repairing corrupt software
US20030088810A1 (en) Methods and apparatus for determining software component sizes associated with errors
JP2004326337A (en) Code analysis program, code analysis automation program and automated code analysis system
WO2022156277A1 (en) Application program installation method and apparatus, and computing device and readable storage medium
CN108664255B (en) Software upgrading method and device
US10599424B2 (en) Committed program-code management
CN109933976B (en) Android application similarity detection method, mobile terminal and storage device
JP2010198522A (en) Method and support system for analyzing source code
CN114816437A (en) Method, system and equipment for reversely generating Java entity class
CN109240906B (en) Database configuration information adaptation method and device, computer equipment and storage medium
JP2005025543A (en) Consistency check system, consistency check method, consistency check program and management information creation system
JP2003316581A (en) Software installation device
CN112765608A (en) Target apk source code acquisition method, electronic device and medium
JP2010191580A (en) File management method, system, and program
JP2010176594A (en) Source code version management program and source code version managing method
JP4937387B2 (en) Automatic rewriting program and automatic rewriting device