JP6902513B2 - ソースコード生成支援装置およびソースコード生成支援方法 - Google Patents
ソースコード生成支援装置およびソースコード生成支援方法 Download PDFInfo
- Publication number
- JP6902513B2 JP6902513B2 JP2018165636A JP2018165636A JP6902513B2 JP 6902513 B2 JP6902513 B2 JP 6902513B2 JP 2018165636 A JP2018165636 A JP 2018165636A JP 2018165636 A JP2018165636 A JP 2018165636A JP 6902513 B2 JP6902513 B2 JP 6902513B2
- Authority
- JP
- Japan
- Prior art keywords
- parts
- component
- existing
- specifications
- disassembled
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
のとする技術を提供することにある。
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態のソースコード生成支援装置100の構成例を示す図である。図1に示すソースコード生成支援装置100は、部品を活用したソースコード生成の効率および精度を良好なものとするコンピュータ装置である。
の修正処理を経たソースコードを、変更後生成コード128(例えば、図6の変更後生成コード128)とする。
また、ソースコード生成支援装置100のハードウェア構成は以下の如くとなる。図7は、本実施形態のソースコード生成支援装置100のハードウェア構成例を示す図である。 ソースコード生成支援装置100は、SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶部101、RAMなど揮発性記憶素子で構成されるメモリ103、記憶部101に保持されるプログラム102をメモリ103に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUなどの演算部104、ユーザからのキー入力
や音声入力を受け付ける入力部105、処理データの表示を行うディスプレイ等の出力部106、プログラムやデータ等を外部媒体から読み取るインターフェイスたる外部媒体入出力部107、を備える。
以下、本実施形態におけるソースコード生成支援方法の実際手順について図に基づき説明する。以下で説明するソースコード生成支援方法に対応する各種動作は、ソースコード生成支援装置100がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
続いて、部品仕様抽出部115における処理について説明する。図10は、本実施形態におけるソースコード生成支援方法のフロー例2を示す図である。
ル操作、といった値が仕様が、その有無に応じて特定されることとなる。
続いて、部品仕様比較判定部117における処理について説明する。図12、図13、および、図17は、それぞれ本実施形態におけるソースコード生成支援方法のフロー例3、4、5を示す図である。
続いて、部品追加部118における処理について説明する。図20は、本実施形態におけるソースコード生成支援方法のフロー例6を示す図である。
示す。
続いて、変更部品が複数存在する場合における、部品仕様比較判定部117ないし部品追加部118の処理について説明する。図22は、本実施形態におけるソースコード生成支援方法のフロー例7を示す図である。ここでは、部品追加部118が処理を実行するものとして説明を行う。
続いて、部品削除部119における処理について説明する。図23は、本実施形態におけるソースコード生成支援方法のフロー例8を示す図である。
続いて、部品結合部120における処理について説明する。図24は、本実施形態におけるソースコード生成支援方法のフロー例9を示す図である。
続いて、コード更新部121における処理について説明する。図25は、本実施形態におけるソースコード生成支援方法のフロー例10を示す図である。
、ひいては、部品を活用したソースコード生成の効率および精度をさらに良好なものとできる。
101 記憶部
102 プログラム
103 メモリ
104 演算部
105 入力部
106 出力部
107 外部媒体入出力部
110 既存部品保持部
111 コード作成部
112 コード保持部
113 コード編集部
114 変更部品特定部
115 部品仕様抽出部
116 変更部品仕様保持部
117 部品仕様比較判定部
118 部品追加部
119 部品削除部
120 部品結合部
121 コード更新部
125 テンプレート部品
126 ブロック部品
127 生成コード
128 変更後生成コード
129 変更部品
130 部品仕様
131 既存部品組合せ
132 分解前部品
133 分解部品
134 更新後生成コード
Claims (9)
- ユーザによる変更が施されたコードを保持する記憶部と、
前記コードにおける前記変更の対象箇所を含む部品に対し、記号実行を行うことで当該部品の仕様を抽出する処理と、前記抽出した仕様と、1または複数の既存部品ないし当該既存部品の1または複数の分解部品の仕様とを比較する処理と、前記比較の結果、前記部品の仕様と一致する1または複数の既存部品ないし分解部品を特定できた場合、前記コードにおける前記対象箇所の部品を前記特定した1または複数の既存部品ないし分解部品で置換する処理と、を実行する演算部と、
を含むことを特徴とするソースコード生成支援装置。 - 前記記憶部は、前記既存部品を保持するものであり、
前記演算部は、前記比較の結果、前記特定した1または複数の分解部品を、新たな前記既存部品として記憶部に格納する処理を更に実行するものである、
ことを特徴とする請求項1に記載のソースコード生成支援装置。 - 前記演算部は、
前記新たな既存部品の格納後の記憶部から、削除候補である1または複数の既存部品、および、その他の1または複数の既存部品を抽出し、前記抽出した既存部品の間で前記仕様の比較を実行し、当該比較の結果、仕様の一致がみられた場合、前記削除候補である1または複数の既存部品を、前記記憶部から削除する処理を更に実行するものである、
ことを特徴とする請求項2に記載のソースコード生成支援装置。 - 前記演算部は、
前記置換がなされた後の記憶部から、所定のコードを抽出し、当該コードを構成する部品のうち互いに所定関係を有する部品群が、前記記憶部で保持する前記コード以外の他のコードでも同じ関係を持って使用されているか判定し、前記判定の結果、前記部品群が前記他のコードでも同じ関係を持って使用されている場合、当該部品群を構成する各部品を結合した新たな既存部品を記憶部に格納し、前記部品群を記憶部から削除する処理を更に実行するものである、
ことを特徴とする請求項1に記載のソースコード生成支援装置。 - 前記演算部は、
前記比較の結果、前記特定ができなかった前記部品が複数存在する場合、
当該複数の前記部品のうち所定の1つとそれ以外の他部品に関して、前記1つの部品により、前記他部品と仕様が同じ既存部品の組合せを作成できるか、および、前記1つの部品を分解して作成した分解部品により、前記他部品と仕様が同じ既存部品の組合せを作成できるか、を判定する処理と、
前記判定の結果、既存部品の組合せを作成できる事象の数を、前記1つの部品に関する置換可能数としてカウントする処理と、
前記複数の前記部品のうち、前記置換可能数が最大のものを、新たな前記既存部品として記憶部に格納する処理と、
を更に実行するものである、
ことを特徴とする請求項1に記載のソースコード生成支援装置。 - 前記演算部は、
前記比較の結果、前記部品の仕様と部分一致する1または複数の既存部品ないし分解部品を特定できた場合、当該特定した1または複数の既存部品ないし分解部品に関するユーザ判断を所定装置から受け付け、当該ユーザ判断が仕様は一致しているとみなす旨を示すものであれば、前記コードにおける前記対象箇所の部品を前記特定した1または複数の既
存部品ないし分解部品で置換するものである、
ことを特徴とする請求項1に記載のソースコード生成支援装置。 - 前記演算部は、
前記部品に対する前記記号実行において、プログラム実行パスを探索する際に、変数値に関する条件に加え、当該プログラム実行パスで実行されるファイル操作をパス条件として抽出し、前記変数値に関する条件および前記パス条件を、前記部品の仕様として抽出するものである、
ことを特徴とする請求項1に記載のソースコード生成支援装置。 - 前記演算部は、
前記既存部品から1または複数の分解部品を生成する処理を更に実行するものであって、当該分解部品の生成に際し、前記既存部品のコードにおけるネスト構造外の行を分解点として取得し、当該分解点のうち所定の分解点にてコードを分解した場合に得られる分解部品が規定の条件を満たすか判定し、前記判定の結果、前記規定の条件を満たす場合、前記所定の分解点にて既存部品を分解することで分解部品を生成するものである、
ことを特徴とする請求項1に記載のソースコード生成支援装置。 - ユーザによる変更が施されたコードを保持する記憶部を備える情報処理装置が、
前記コードにおける前記変更の対象箇所を含む部品に対し、記号実行を行うことで当該部品の仕様を抽出する処理と、
前記抽出した仕様と、1または複数の既存部品ないし当該既存部品の1または複数の分解部品の仕様とを比較する処理と、
前記比較の結果、前記部品の仕様と一致する1または複数の既存部品ないし分解部品を特定できた場合、前記コードにおける前記対象箇所の部品を前記特定した1または複数の既存部品ないし分解部品で置換する処理と、
を実行することを特徴とするソースコード生成支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165636A JP6902513B2 (ja) | 2018-09-05 | 2018-09-05 | ソースコード生成支援装置およびソースコード生成支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165636A JP6902513B2 (ja) | 2018-09-05 | 2018-09-05 | ソースコード生成支援装置およびソースコード生成支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020038521A JP2020038521A (ja) | 2020-03-12 |
JP6902513B2 true JP6902513B2 (ja) | 2021-07-14 |
Family
ID=69738034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018165636A Active JP6902513B2 (ja) | 2018-09-05 | 2018-09-05 | ソースコード生成支援装置およびソースコード生成支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6902513B2 (ja) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03223926A (ja) * | 1990-01-29 | 1991-10-02 | Shimadzu Corp | プログラム部品の二重登録防止装置 |
JPH0916389A (ja) * | 1995-07-03 | 1997-01-17 | Nippon Telegr & Teleph Corp <Ntt> | プログラム部品自動生成方法及び装置 |
JPH09292986A (ja) * | 1996-04-26 | 1997-11-11 | Hitachi Ltd | 部品抽出方法 |
JPH10198557A (ja) * | 1997-01-08 | 1998-07-31 | Mitsubishi Electric Corp | 画面設計支援システム及び画面設計支援ツールを記録した媒体 |
JP4613214B2 (ja) * | 2008-02-26 | 2011-01-12 | 日立オートモティブシステムズ株式会社 | ソフトウェア自動構成装置 |
WO2013161057A1 (ja) * | 2012-04-27 | 2013-10-31 | 株式会社日立製作所 | ソースコード検査方法及び装置 |
US20140143762A1 (en) * | 2012-11-21 | 2014-05-22 | Fujitsu Limited | Symbolic execution of dynamic programming languages |
JP5903038B2 (ja) * | 2012-12-26 | 2016-04-13 | 株式会社日立製作所 | ソースコード等価性検証装置、および、ソースコード等価性検証方法 |
US20180181485A1 (en) * | 2015-04-28 | 2018-06-28 | Hitachi, Ltd. | Source code equivalence verification device and source code equivalence verification method |
WO2016189721A1 (ja) * | 2015-05-28 | 2016-12-01 | 三菱電機株式会社 | ソースコード評価装置及びソースコード評価方法及びソースコード評価プログラム |
-
2018
- 2018-09-05 JP JP2018165636A patent/JP6902513B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020038521A (ja) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762743B (zh) | 一种数据表操作代码生成方法及装置 | |
JP4368336B2 (ja) | カテゴリ設定支援方法及び装置 | |
US20080120601A1 (en) | Information processing apparatus, method and program for deciding priority of test case to be carried out in regression test background of the invention | |
US9632754B2 (en) | Auto generation and linkage of source code to test cases | |
US9626164B1 (en) | Test-driven development module for repository-based development | |
CN109308254B (zh) | 一种测试方法、装置及测试设备 | |
CN111026433A (zh) | 基于代码变更历史的软件代码质量问题自动修复方法、系统及介质 | |
US11163560B1 (en) | Methods and arrangements to process comments | |
JP6440895B2 (ja) | ソフトウェア分析装置及びソフトウェア分析方法 | |
CN111290785A (zh) | 评估深度学习框架系统兼容性的方法、装置、电子设备以及存储介质 | |
JP5900193B2 (ja) | 更新判定プログラムおよび更新判定装置 | |
JP2016126552A (ja) | テスト選択プログラム、テスト選択方法、及びテスト選択装置 | |
US10678864B2 (en) | Analysis model preparing system, programming apparatus, and analysis model preparing method | |
KR20200073700A (ko) | 문서를 생성하고 관리하기 위한 장치 및 방법 | |
JP2006285707A (ja) | 業務仕様作成支援システム及び方法 | |
US10241899B2 (en) | Test input information search device and method | |
JP6902513B2 (ja) | ソースコード生成支援装置およびソースコード生成支援方法 | |
CN114201382A (zh) | 测试用例生成方法、装置、存储介质和电子设备 | |
JP7284687B2 (ja) | マッピングシステム及びマッピング方法 | |
CN114564228A (zh) | 一种应用程序更新方法、装置、计算机设备及存储介质 | |
CN114237588A (zh) | 一种代码仓库选择方法、装置、设备及存储介质 | |
CN114281688A (zh) | 一种无码或低码的自动化用例管理方法和装置 | |
CN114385155A (zh) | vue项目可视化工具生成方法、装置、设备及存储介质 | |
CN109019217B (zh) | 一种电梯控制软件现场调试系统 | |
US20190026795A1 (en) | Evaluation device and evaluation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200828 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210609 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210615 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210621 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6902513 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |