JP2018128792A - 分析支援装置、分析支援方法および分析支援プログラム - Google Patents

分析支援装置、分析支援方法および分析支援プログラム Download PDF

Info

Publication number
JP2018128792A
JP2018128792A JP2017020554A JP2017020554A JP2018128792A JP 2018128792 A JP2018128792 A JP 2018128792A JP 2017020554 A JP2017020554 A JP 2017020554A JP 2017020554 A JP2017020554 A JP 2017020554A JP 2018128792 A JP2018128792 A JP 2018128792A
Authority
JP
Japan
Prior art keywords
source code
analysis support
script
elements
conversion
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.)
Granted
Application number
JP2017020554A
Other languages
English (en)
Other versions
JP6851210B2 (ja
Inventor
正実 岩橋
Masami Iwahashi
正実 岩橋
宙祥 平松
Michiyasu Hiramatsu
宙祥 平松
堅登 西辻
Kento Nishitsuji
堅登 西辻
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 JP2017020554A priority Critical patent/JP6851210B2/ja
Publication of JP2018128792A publication Critical patent/JP2018128792A/ja
Application granted granted Critical
Publication of JP6851210B2 publication Critical patent/JP6851210B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ソフトウェア構造解析ツールによって正確な依存関係を特定できるようにすることを目的とする。
【解決手段】分析支援装置100は、複数の要素を含むソースコード51の分析を支援する。分析支援装置100のスクリプト取得部120は、ソースコード51を、ソースコード51に含まれる複数の要素のうちの互いに依存する要素を関連付けた形式に変換する変換規則8を記述したスクリプト52を取得する。変換部130は、スクリプト52に記述された変換規則8に従って、ソースコード51を互いに依存する要素を関連付けた形式に変換する。
【選択図】図1

Description

本発明は、ソフトウェアの依存関係の分析を支援する分析支援装置、分析支援方法および分析支援プログラムに関する。
ソフトウェア開発において、ソフトウェアの仕様変更のためにソースコードに変更を加えると、その変更を加えた箇所とは別の箇所に予期しない悪影響が及ぼされ、不具合が発生することがある。そのためソフトウェア開発者にとってソースコードの変更箇所の影響範囲を正確に認識することは非常に重要である。
しかし、近年のソフトウェア多機能化に伴い、ソースコードの規模と複雑さが増大しているため、人手で影響範囲を特定することは困難になってきている。そこで、この問題を解決するため、ソースコードを解析して、任意の箇所の影響範囲を特定することができるソフトウェア構造解析ツールが存在する。
特開2015−043140号公報 特開2005−250555号公報
ある処理に関連する関数のポインタおよび変数といった情報を配列に規則的に定義したものは一般的にテーブルと呼ばれ、その定義規則に従ってテーブルにアクセスすることで処理を簡素化するプログラミング技法が多くのプログラムで採用されている。
このようなプログラムでは、具体例として、テーブル上のある行に定義された関数ポインタが示す関数に、その関数ポインタと同じ行に定義された変数が引数として代入されるといった処理が行われる。この場合、これらの関数ポインタと変数はお互いに変更による影響を受ける。つまり、依存関係が成り立つ。このように、テーブルの処理方法に応じて、テーブルの行単位もしくは列単位で局所的に依存関係が生じる。
しかし、ソフトウェア構造解析ツールは参照情報から依存関係を解釈するため、ある処理がテーブルを参照して処理する場合、その処理方法に関わらず、当該処理とテーブル上の全ての要素間に依存関係があるという結果を示す。このように、正確な依存関係を特定できないことが課題となっている。
また、ソフトウェア構造解析ツールはソースコードの全ての依存関係をそのまま表示するため、使用者が興味のない要素の依存関係も表示され、解析結果が煩雑になり、確認し難いことも課題になっている。
本発明は、ソースコードを、ソフトウェア構造解析ツールが依存関係を正確に解釈できる記述形式のソースコードに変換することで、ソフトウェア構造解析ツールによって正確な依存関係を特定できるようにすることを目的とする。
本発明に係る分析支援装置は、複数の要素を含むソースコードの分析を支援する分析支援装置において、
前記ソースコードを、前記ソースコードに含まれる前記複数の要素のうちの互いに依存する要素を関連付けた形式に変換する変換規則を記述したスクリプトを取得するスクリプト取得部と、
前記スクリプトに記述された前記変換規則に従って、前記ソースコードを変換する変換部とを備えた。
本発明に係る分析支援装置では、スクリプト取得部が、ソースコードを、ソースコードに含まれる複数の要素のうちの互いに依存する要素を関連付けた形式に変換する変換規則を記述したスクリプトを取得する。変換部が、スクリプトに記述された変換規則に従って、ソースコードを変換する。よって、ソフトウェアの依存関係をより正確かつ簡単に特定することができるようになる。
実施の形態1に係る分析支援装置100の構成図。 実施の形態1に係る分析支援装置100の分析支援方法610および分析支援プログラム620の分析支援処理S100を示すフローチャート。 実施の形態1に係るソースコード51の一例を示す図。 実施の形態1に係るスクリプト52の一例を示す図。 実施の形態1に係るスクリプト52の別例であるスクリプト52aを示す図。 実施の形態1に係る変換後ソースコード53の例を示す図。 実施の形態1に係る変換後ソースコード53の別例を示す図。 実施の形態1の変形例に係る分析支援装置100の構成図。
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係る分析支援装置100の構成について説明する。
図1に示すように、分析支援装置100は、コンピュータである。
分析支援装置100は、プロセッサ910、記憶装置920、入力インタフェース930、出力インタフェース940、および通信装置950といったハードウェアを備える。記憶装置920は、メモリ921と補助記憶装置922とを含む。
分析支援装置100は、機能構成として、ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140と、記憶部150とを備える。記憶部150には、ソースコード51と、スクリプト52とが記憶される。
ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能は、ソフトウェアで実現される。
記憶部150は、メモリ921により実現される。また、記憶部150は、補助記憶装置922のみ、あるいは、メモリ921および補助記憶装置922で実現されてもよい。記憶部150の実現方法は任意である。
プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910は、CPU(Central Processing Unit)あるいはMPU(Micro−Processing Unit)である。
補助記憶装置922は、具体的には、ROM(Read Only Memory)、フラッシュメモリ、または、HDD(Hard Disk Drive)である。メモリ921は、具体的には、RAM(Random Access Memory)である。
入力インタフェース930は、マウス、キーボード、タッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB(Universal Serial Bus)端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。ソースコード51およびスクリプト52は、入力インタフェース930を介して分析支援装置100に入力され、記憶部150に記憶される。
出力インタフェース940は、ディスプレイといった表示機器のケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)(High Definition Multimedia Interface)端子である。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。変換後コード出力部140は、変換後ソースコード53を、出力インタフェース940を介して、ディスプレイといった出力機器に出力する。
通信装置950は、ネットワークを介して他の装置と通信を行う。ソースコード51およびスクリプト52は、通信装置950を介して、他の装置から受信してもよい。また、変換後コード出力部140は、通信装置950を介して、他の装置に送信されてもよい。通信装置950は、レシーバとトランスミッタとを有する。通信装置950は、具体的には、通信チップまたはNIC(Network Interface Card)である。通信装置950は、データを通信する通信部である。レシーバは、データを受信する受信部である。トランスミッタは、データを送信する送信部である。
補助記憶装置922には、ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能を実現するプログラムが記憶されている。ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能を実現するプログラムを分析支援プログラム620ともいう。このプログラムは、メモリ921にロードされ、プロセッサ910に読み込まれ、プロセッサ910によって実行される。また、補助記憶装置922には、OSが記憶されている。OSの少なくとも一部がメモリ921にロードされる。プロセッサ910はOSを実行しながら、分析支援プログラム620を実行する。図1では、プロセッサ910がソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能を実現するプログラムを実行している状態を模式的に表している。
分析支援装置100は、1つのプロセッサ910のみを備えていてもよいし、複数のプロセッサ910を備えていてもよい。複数のプロセッサ910がソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能を実現するプログラムを連携して実行してもよい。
ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との処理の結果を示す情報、データ、信号値、および変数値は、分析支援装置100の補助記憶装置922、メモリ921、または、プロセッサ910内のレジスタまたはキャッシュメモリに記憶される。
ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能を実現するプログラムは、可搬記録媒体に記憶されてもよい。可搬記録媒体とは、具体的には、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disc)である。
なお、分析支援プログラムプロダクトとは、分析支援プログラム620が記録された記憶媒体および記憶装置である。分析支援プログラムプロダクトは、外観に関わらず、コンピュータ読み取り可能なプログラムをロードしているものを指す。
***動作の説明***
図2は、本実施の形態に係る分析支援装置100の分析支援方法610および分析支援プログラム620の分析支援処理S100を示すフローチャートである。分析支援プログラム620は、以下に示す各処理をコンピュータである分析支援装置100に実行させる。
分析支援装置100は、複数の要素を含むソースコード51の分析を支援する。分析支援装置100は、テーブルの要素の変換規則8を簡略的に記述したスクリプト52を取得し、そのスクリプト52をもとに、ソースコード51のテーブル処理部分をソフトウェア構造解析ツールで正確に依存関係を解釈できる記述形式に変換する。ソースコード51のテーブル処理部分をソフトウェア構造解析ツールで正確に依存関係を解釈できる記述形式とは、ソースコードに含まれる複数の要素のうちの互いに依存する要素を関連付けた形式である。分析支援装置100は、依存関係分析支援装置ともいう。
分析支援処理S100は、ソースコード取得処理S110と、スクリプト取得処理S120と、変換処理S130と、変換後コード出力処理S140とを有する。
<ソースコード取得処理S10>
ステップS110において、ソースコード取得部110は、ソースコード取得処理S10を実行する。ソースコード取得処理S10において、ソースコード取得部110は、記憶部150からソースコード51を取得し、ソースコード51からソースコード51のデータをソースコードデータ5として読み取る。ソースコード取得部110は、ソースコード読取部ともいう。
図3を用いて、本実施の形態に係るソースコード51の一例について説明する。
ソースコード51は、テーブル12に対する処理である関数13を記述する。具体的には、図3に示すように、ソースコード51は、テーブル12である定義テーブルに対する処理である関数13、すなわちmain関数を記述している。
ソースコード51は、テーブル12の要素11として複数の要素511を含む。具体的には、テーブル12である定義テーブルの要素11として、条件1、関数1、引数1、条件2、関数2、引数2、・・・といった複数の要素511を含む。実際には、定義テーブルに設定される関数1および関数2の各々は、関数1および関数2の各々を示す関数ポインタである。具体的には、定義テーブルには条件、関数および引数が複数定義されており、foreach文で定義テーブルから一行ずつ「テーブル定義」として取り出される。そのテーブル定義に含まれる条件が満たされた時に、テーブル定義に含まれる関数が呼び出され、その関数にテーブル定義に含まれる引数が代入される。
具体例としては、main関数では、テーブル定義に含まれる条件1が満たされた時に、テーブル定義に含まれる関数1が呼び出され、その関数1にテーブル定義に含まれる引数1が代入される。
以上のように、ソースコード51のmain関数では、定義テーブルのある行に定義された条件1が満たされると、関数ポインタが示す関数1に、その関数1と同じ行に定義された変数が引数1として代入されるといった処理が行われる。この場合、これらの条件1と関数1と変数1とはお互いに変更による影響を受ける。つまり、条件1と関数1と変数1とは依存関係が成り立つ。条件1と関数1と変数1とは、互いに依存する要素14である。このように、テーブルの処理方法に応じて、テーブルの行単位もしくは列単位で局所的に依存関係が生じる。
<スクリプト取得処理S20>
ステップS120において、スクリプト取得部120は、スクリプト取得処理S20を実行する。スクリプト取得処理S20において、スクリプト取得部120は、ソースコード51を、ソースコード51に含まれる複数の要素511のうちの互いに依存する要素14を関連付けた形式に変換する変換規則8を記述したスクリプト52を取得する。スクリプト52は、複数の要素511を互いに依存する要素14ごとに展開する規則を変換規則8として記述している。また、スクリプト52は、変換規則8と変換規則8を用いて変換する関数7とを含む。図3の例では、変換する関数7は、main関数である。
具体的には、スクリプト取得部120は、記憶部150からスクリプト52を取得する。スクリプト52は予め利用者により生成され、入力インタフェース930を介して記憶部150に記憶されている。スクリプト取得部120は、変換規則8と、変換規則8を用いて変換する関数7であるmain関数とをスクリプト52から抽出する。つまり、スクリプト取得部120は、スクリプト52から、変換する関数7と変換規則8を読み取るスクリプト読取部ともいう。
図4を用いて、本実施の形態に係るスクリプト52の一例について説明する。
一行目の「SCRIPT main()」ではmain関数を変換する関数7として変換することを指定している。二行目の「TABLE “定義テーブル”」では「定義テーブル」という名前のテーブル12を扱うことを指定している。一行目で指定された関数は、二行目で指定されたテーブルの行ごとの処理単位で展開されることになる。三行目以降は「定義テーブル」の展開後の関数の雛形および形式を指定している。ここで使われている「$COL[0]」は一行目で指定されたテーブルの一列目をこの位置に挿入することを意味する。
なお、図4の例では、C言語の構文にあわせて書いているが、抽象化した書式を使うことで多言語に対応できる。
次に、図5を用いて、本実施の形態に係るスクリプト52の別例であるスクリプト52aについて説明する。
スクリプト取得部120は、複数の要素511のうち変換しない要素9を指定したスクリプト52aを取得してもよい。
図5に示すスクリプト52aは、図4で示したスクリプト52に、不要な行を指定する条件を追加したものの例である。スクリプト52aにおいて、2行目の「EXCLUDE COL[n]=X」のように、変換しない要素9を指定することで、分析支援装置100は、n列目の要素がXになる時に、展開しないように指定することができる。
このように、分析支援装置100は、テーブルの要素の処理の内、不要なものを展開ないようにできる。このとき、分析支援装置100は、不要なものの条件をスクリプトで指定することができる。
この条件はユーザインタフェースから指定できるものとする。具体例としては、分析支援装置100は、このスクリプト52aにおいて不要なものの条件を、ユーザから入力機器および入力インタフェース930を介して取得する条件取得部を備えていてもよい。
<変換処理S30>
ステップS130において、変換部130は、変換処理S30を実行する。変換処理S30において、変換部130は、スクリプト52に記述された変換規則8に従って、ソースコード51を変換する。変換部130は、ソースコード51に記述された変換する関数7を変換規則8に従って変換し、複数の要素511を互いに依存する要素14ごとに展開する。
具体的には、変換部130は、ソースコードデータ5から変換する関数7を検索する。変換部130は、ソースコード51において見つかった関数13を変換規則8に従って変換し、変換後ソースコードデータ10を生成する。
<変換後コード出力処理S40>
ステップS140において、変換後コード出力部140は、変換後コード出力処理S40を実行する。変換後コード出力処理S40において、変換後コード出力部140は、変換後ソースコードデータ10を元に変換後ソースコード53を生成する。変換後コード出力部140は、出力インタフェース940を介して、生成した変換後ソースコード53をディスプレイといった出力機器に出力する。
次に、図6および図7を用いて、本実施の形態に係る変換後ソースコード53の例について説明する。
変換部130は、互いに依存する要素14ごとの処理を、複数の関数の各関数に展開する。あるいは、変換部130は、互いに依存する要素14ごとの処理を、一の関数に展開してもよい。
図6は、ソースコード51について、互いに依存する要素14ごとの処理を、複数の関数17の各関数18に展開した変換後ソースコード53の例である。
図6において、main_テーブル処理1行目関数とmain_テーブル処理2行目関数とが複数の関数17の例である。ソースコード51は、互いに依存する要素14ごとの処理が、複数の関数17の各関数18において展開されている。すなわち、条件1、関数1および引数1の処理が、main_テーブル処理1行目関数において展開され、条件2、関数2および引数2の処理が、main_テーブル処理2行目関数において展開されている。
以上のように、図6では、定義テーブルの各行に対する処理が一つ一つの関数に展開される。
図7は、ソースコード51について、互いに依存する要素14ごとの処理を、一の関数19に展開した変換後ソースコード53の例である。
図7において、main関数が一の関数19の例である。ソースコード51は、互いに依存する要素14ごとの処理が、一の関数19に展開されている。すなわち、条件1、関数1および引数1の処理と、条件2、関数2および引数2の処理とが、一のmain関数において展開されている。
図6では、テーブル定義1列ごとの関数の展開方法を示したが、図7のように一つの関数に定義テーブルの各行に対する処理を展開してもよい。
***他の構成***
本実施の形態では、ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能がソフトウェアで実現される。しかし、変形例として、ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能がハードウェアで実現されてもよい。
図8を用いて、本実施の形態の変形例に係る分析支援装置100の構成について説明する。
図8に示すように、分析支援装置100は、処理回路909、入力インタフェース930、出力インタフェース940、および通信装置950といったハードウェアを備える。
処理回路909は、上述したソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能および記憶部150を実現する専用の電子回路である。処理回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field−Programmable Gate Arrayの略語である。
ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能は、1つの処理回路909で実現されてもよいし、複数の処理回路909に分散して実現されてもよい。
別の変形例として、分析支援装置100の機能がソフトウェアとハードウェアとの組合せで実現されてもよい。すなわち、分析支援装置100の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
分析支援装置100のプロセッサ910、記憶装置920、および、処理回路909を、総称して「プロセッシングサーキットリ」という。つまり、分析支援装置100の構成が図1および図8のいずれに示した構成であっても、ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との機能および記憶部150は、プロセッシングサーキットリにより実現される。
「部」を「工程」または「手順」または「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。
***本実施の形態の効果の説明***
本実施の形態に係る分析支援装置100では、ソースコードを、ソフトウェア構造解析ツールが依存関係を正確に解釈できる記述形式のソースコードに変換する。よって、本実施の形態に係る分析支援装置100によれば、ソフトウェアの依存関係をより正確かつ簡単に特定することができるようになる。
また、本実施の形態に係る分析支援装置100によれば、ソフトウェア流用開発時にテーブル上のある要素を変更する場合、その要素の変更が影響を及ぼす範囲を適切に特定することができる。よって、本実施の形態に係る分析支援装置100によれば、ソフトウェアのデグレーション発生の防止による品質向上と再試験範囲を限定することによる試験工数の削減とを見込める。
また、本実施の形態に係る分析支援装置100では、スクリプト形式でテーブルの要素の処理方法を簡略的に記述し、その情報をもとに、ソースコードのテーブル処理部分をソフトウェア構造解析ツールで正確に依存関係を解釈できる記述形式に変換する。よって、この変換後のソースコードをソフトウェア構造解析ツールで解析することで正確な依存関係を特定することができる。
また、本実施の形態に係る分析支援装置100では、依存関係の分析に不要な要素を省くことをスクリプトで指定することができる。よって、本実施の形態に係る分析支援装置100によれば、解析結果を単純にすることができる。
本実施の形態では、ソースコード取得部110と、スクリプト取得部120と、変換部130と、変換後コード出力部140との各々が独立した機能ブロックとして分析支援装置100を構成している。しかし、上述した実施の形態のような構成でなくてもよく、分析支援装置100の構成は任意である。分析支援装置100の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、任意である。これらの機能ブロックを、他のどのような組み合わせ、あるいは任意のブロック構成で、分析支援装置を構成しても構わない。
また、分析支援装置は、1つの装置でなく、複数の装置から構成された分析支援システムでもよい。
実施の形態1について説明したが、この実施の形態のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、1つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明、その適用物および用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
5 ソースコードデータ、7 変換する関数、8 変換規則、9 変換しない要素、10 変換後ソースコードデータ、11 要素、12 テーブル、13,18 関数、14 互いに依存する要素、17 複数の関数、19 一の関数、51 ソースコード、511 複数の要素、52,52a スクリプト、53 変換後ソースコード、100 分析支援装置、110 ソースコード取得部、120 スクリプト取得部、130 変換部、140 変換後コード出力部、150 記憶部、610 分析支援方法、620 分析支援プログラム、909 処理回路、910 プロセッサ、920 記憶装置、921 メモリ、922 補助記憶装置、930 入力インタフェース、940 出力インタフェース、950 通信装置、S10 ソースコード取得処理、S20 スクリプト取得処理、S30 変換処理、S40 変換後コード出力処理、S100 分析支援処理。

Claims (8)

  1. 複数の要素を含むソースコードの分析を支援する分析支援装置において、
    前記ソースコードを、前記ソースコードに含まれる前記複数の要素のうちの互いに依存する要素を関連付けた形式に変換する変換規則を記述したスクリプトを取得するスクリプト取得部と、
    前記スクリプトに記述された前記変換規則に従って、前記ソースコードを変換する変換部と
    を備えた分析支援装置。
  2. 前記ソースコードは、テーブルの要素として前記複数の要素を含み、
    前記スクリプト取得部は、
    前記複数の要素を前記互いに依存する要素ごとに展開する規則を前記変換規則として記述した前記スクリプトを取得する請求項1に記載の分析支援装置。
  3. 前記ソースコードは、前記テーブルに対する処理である関数を記述し、
    前記スクリプト取得部は、
    前記変換規則と前記変換規則を用いて変換する前記関数とを前記スクリプトから抽出し、
    前記変換部は、
    前記ソースコードに記述された前記関数を前記変換規則に従って変換し、前記複数の要素を前記互いに依存する要素ごとに展開する請求項2に記載の分析支援装置。
  4. 前記変換部は、
    前記互いに依存する要素ごとの処理を、一の関数に展開する請求項3に記載の分析支援装置。
  5. 前記変換部は、
    前記互いに依存する要素ごとの処理を、複数の関数の各関数に展開する請求項3に記載の分析支援装置。
  6. 前記スクリプト取得部は、
    前記複数の要素のうち変換しない要素を指定した前記スクリプトを取得する請求項1から5のいずれか1項に記載の分析支援装置。
  7. 複数の要素を含むソースコードの分析を支援する分析支援装置の分析支援方法において、
    スクリプト取得部が、前記ソースコードを、前記ソースコードに含まれる前記複数の要素のうちの互いに依存する要素を関連付けた形式に変換する変換規則を記述したスクリプトを取得し、
    変換部が、前記スクリプトに記述された前記変換規則に従って、前記ソースコードを変換する分析支援方法。
  8. 複数の要素を含むソースコードの分析を支援する分析支援装置の分析支援プログラムにおいて、
    前記ソースコードを、前記ソースコードに含まれる前記複数の要素のうちの互いに依存する要素を関連付けた形式に変換する変換規則を記述したスクリプトを取得するスクリプト取得処理と、
    前記スクリプトに記述された前記変換規則に従って、前記ソースコードを変換する変換処理と
    をコンピュータである前記分析支援装置に実行させる分析支援プログラム。
JP2017020554A 2017-02-07 2017-02-07 分析支援装置、分析支援方法および分析支援プログラム Active JP6851210B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017020554A JP6851210B2 (ja) 2017-02-07 2017-02-07 分析支援装置、分析支援方法および分析支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017020554A JP6851210B2 (ja) 2017-02-07 2017-02-07 分析支援装置、分析支援方法および分析支援プログラム

Publications (2)

Publication Number Publication Date
JP2018128792A true JP2018128792A (ja) 2018-08-16
JP6851210B2 JP6851210B2 (ja) 2021-03-31

Family

ID=63172959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017020554A Active JP6851210B2 (ja) 2017-02-07 2017-02-07 分析支援装置、分析支援方法および分析支援プログラム

Country Status (1)

Country Link
JP (1) JP6851210B2 (ja)

Also Published As

Publication number Publication date
JP6851210B2 (ja) 2021-03-31

Similar Documents

Publication Publication Date Title
US9558016B2 (en) Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product
CN109086199B (zh) 一种自动化生成测试脚本的方法、终端和可存储介质
US9842043B2 (en) System and method to implement an electronic document based automated testing of a software application
CN107515759B (zh) 截屏方法、装置、电子设备及可读存储介质
US9454466B2 (en) Explaining partially illegal combinations in combinatorial models
CN110781091B (zh) 应用程序的测试方法、装置、电子设备及存储介质
JP6440895B2 (ja) ソフトウェア分析装置及びソフトウェア分析方法
CN108228443B (zh) 一种web应用的测试方法及装置
CN111427760B (zh) 页面测试方法、装置、设备及存储介质
US8813036B2 (en) Visual representation of a difference between Cartesian product models
CN114691371A (zh) 多线程同时转换Pattern的方法及装置
CN111078217A (zh) 脑图生成方法、装置和计算机可读存储介质
JP6851210B2 (ja) 分析支援装置、分析支援方法および分析支援プログラム
CN107341038B (zh) 兼容性处理方法、装置及电子设备
CN110636480A (zh) 一种设备数据处理方法及蓝牙镜像设备
US20140331199A1 (en) Detecting corresponding paths in combinationally equivalent circuit designs
JP6873332B2 (ja) 点数化装置、点数化プログラム及び点数化方法
CN114594945A (zh) 高级弹窗选择框的生成方法、装置、系统、设备以及介质
CN107357926B (zh) 网页处理方法、装置及电子设备
CN114968751A (zh) 一种无代码开发平台的程序调试方法和程序调试装置
CN104809061A (zh) 回归测试方法及装置
CN115455876B (zh) 用于调试逻辑系统设计的方法及电子设备
US20200081821A1 (en) Program analysis device, program analysis system, program analysis method and computer readable medium
US20180081780A1 (en) Trace-information management system, trace-information management method, and trace-information management program product
US8881096B2 (en) Computer product, IP model generating apparatus, and IP model generating method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210309

R150 Certificate of patent or registration of utility model

Ref document number: 6851210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250