JP5825231B2 - ソフトウェア設計支援装置及びソフトウェア設計支援方法 - Google Patents
ソフトウェア設計支援装置及びソフトウェア設計支援方法 Download PDFInfo
- Publication number
- JP5825231B2 JP5825231B2 JP2012195729A JP2012195729A JP5825231B2 JP 5825231 B2 JP5825231 B2 JP 5825231B2 JP 2012195729 A JP2012195729 A JP 2012195729A JP 2012195729 A JP2012195729 A JP 2012195729A JP 5825231 B2 JP5825231 B2 JP 5825231B2
- Authority
- JP
- Japan
- Prior art keywords
- source code
- element information
- model
- unit
- functional requirement
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
図1は、実施の形態1に係るソフトウェア設計支援装置100を示すブロック図である。ソフトウェア設計支援装置100は、UI(User Interface)101からソースコード102が入力されるとソースコード解析部103に出力し、ソースコード解析部103においてソースコード102を解析し、解析した情報を解析情報蓄積部104へ蓄積する。抽象化フィルタ作成部105は、UI101を介してユーザに問い合わせながら、仕様106に記載された機能要件と、解析情報蓄積部104に蓄積されたソースコード102の解析情報とを関連付けて抽象化フィルタ107を作成する。
ソースコード102をソースコード解析部にて解析した結果を図2に示す。図2は、実施の形態1に係るユーザ関数リスト200、大域変数リスト201、大域定数リスト202の例を示す図である。
図3は、実施の形態1に係る抽象化フィルタ作成部105の動作を示すフローチャートである。抽象化フィルタ作成部105は、解析情報蓄積部104に蓄積された解析情報から機能要件に関連する要素情報を抽出し、抽象化フィルタ107を作成する。
図5は、実施の形態1に係る抽象化フィルタ作成部105により作成された抽象化フィルタ107a〜dの例を示す図である。
図6は、実施の形態1に係る機能要件に対応した抽象化フィルタ107a〜dによりモデル111a〜dが抽出される過程を示す図である。抽象化フィルタ107a〜dは、抽象化フィルタ作成部105によって作成されたものである。
図7は、実施の形態1に係る書換規則テーブル109の例を示す図である。図7は、ソースコード記述言語をC言語、形式言語をB言語としたときの書換規則テーブル109に格納された書換規則の例である。変数名や定数名は、形式言語における構文規則などに特に支障がない限りそのまま使用する。
以上の実施の形態1では、抽象化フィルタ作成部105により作成された抽象化フィルタ107によってソースコード102から機能要件と関連する部分ソースコード600a〜dを抽出し、ソースコード102が記述されたソースコード記述言語から形式言語への書換規則を定義した書換規則に基づいて、モデル構築部108が部分ソースコード600a〜dから形式言語で記述されたモデル111を構築するようにしたものであるが、本実施の形態においては、機能要件が変更された場合にソフトウェア設計支援装置800がソースコード102の修正を支援する実施の形態を示す。
なお、実施の形態2におけるコード修正支援部801と抽象化フィルタ作成部105以外の部分は実施の形態1と同じであるため、説明を割愛する。
図11は、実施の形態2に係る修正対象候補リスト1100の例を示す図である。コード修正支援部801が修正対象候補リスト1100を作成する。
コード修正支援部801は、ユーザよりUI101を通して変更のある機能要件(機能要件xとする)が入力されると、ステップS1000より処理が始まる。処理はステップS1001へ進み、コード修正支援部801は、ユーザから提示された機能要件xに関連する要素情報を抽象化フィルタ作成部105に問い合わせる。抽象化フィルタ作成部105は要素情報リスト900を参照し、機能要件xに関連する要素情報をコード修正支援部801へ通知する。処理はステップS1002へ進む。
以上の実施の形態2では、機能要件が変更された場合にソースコード102の修正を支援するものであるが、本実施の形態においては、機能要件の変更に伴うモデル111の修正を支援する実施の形態を示す。
なお、実施の形態2におけるコード修正支援部801とモデル構築部108以外の部分は実施の形態2と同じであるため、説明を割愛する。
以上の実施の形態3では、機能要件の変更に伴うモデル111の修正を支援するものであるが、本実施の形態においては、複数の書換規則から選択してモデル111を構築する実施の形態を示す。
なお、実施の形態4における書換規則テーブル1201、書換規則選択部1202以外の部分は実施の形態1と同じであるため、説明を割愛する。
さらに、以下は、実施の形態1に対する変更について説明するが、実施の形態2または実施の形態3に対する変更としても構成可能である。
図12は、実施の形態4に係るソフトウェア設計支援装置1200を示すブロック図である。書換規則テーブル1201は複数の書換規則を保持し、書換規則選択部1202は書換規則テーブル1201からモデル構築に適用する書換規則を選択する。
書換規則テーブル1201は、1つのソースコード記述言語に対して複数の形式言語への書換規則を保持する。通常、書換規則選択部1202はモデル構築の際に適用する書換規則を1つ決めておく。書換規則をユーザに選択させる場合、書換規則選択部1202はUI101を通してユーザに選択肢となる書換規則を提示して、選択させる。
101 UI
102 ソースコード
103 ソースコード解析部
104 解析情報蓄積部
105 抽象化フィルタ作成部
106 仕様
107、107a〜d 抽象化フィルタ
108 モデル構築部
109、1201 書換規則テーブル
110 定理証明器
111、111a〜d モデル
200 ユーザ関数リスト
201 大域変数リスト
202 大域定数リスト
400 選択可能機能要件リスト
401 選択可能ユーザ関数リスト
402 選択可能大域変数リスト
403 選択可能大域定数リスト
600a〜d 部分ソースコード
801 コード修正支援部
900 要素情報リスト
1100 修正対象候補リスト
1202 書換規則選択部
Claims (7)
- 関数や変数、定数から成る要素情報を含むソースコードから機能要件に関連する前記要素情報を含むステートメントを抽出する抽象化フィルタを作成する抽象化フィルタ作成部と、
前記ソースコードが記述されたソースコード記述言語から形式言語への書換規則に基づいて、1以上の前記ステートメントの集合である部分ソースコードから前記形式言語で記述されたモデルを構築するモデル構築部と、
を備えることを特徴とするソフトウェア設計支援装置。 - 前記抽象化フィルタ作成部は、前記抽象化フィルタを作成する際に機能要件と関連する前記要素情報とを対応付けた要素情報リストを作成し、
コード修正支援部は、機能要件が変更された場合に、前記要素情報リストに基づいて前記抽象化フィルタ作成部から通知される変更された機能要件に関連する前記要素情報を提示することを特徴とする請求項1に記載のソフトウェア設計支援装置。 - 前記コード修正支援部は、機能要件が変更され、関連する前記要素情報が他の機能要件にも関連し、前記他の機能要件に変更がある場合、前記要素情報リストに基づいて前記抽象化フィルタ作成部から通知される前記他の機能要件に関連する前記要素情報を提示する
ことを特徴とする請求項2に記載のソフトウェア設計支援装置。 - 前記モデル構築部は、モデルを構築する際に機能要件とモデルとの対応付けを保持し、
前記コード修正支援部は、機能要件が変更された場合に、前記対応付けに基づいて前記モデル構築部から通知される変更された機能要件に関連するモデルを提示することを特徴とする請求項2または3に記載のソフトウェア設計支援装置。 - 1つのソースコード記述言語から複数の形式言語への書換規則を保持する書換規則テーブルと、
前記書換規則テーブルから前記書換規則を選択する書換規則選択部
を備えることを特徴とする請求項1乃至4のいずれか一項に記載のソフトウェア設計支援装置。 - 前記書換規則選択部は、前記書換規則テーブルの前記書換規則を提示して選択させることを特徴とする請求項5に記載のソフトウェア設計支援装置。
- 関数や変数、定数から成る要素情報を含むソースコードから機能要件に関連する前記要素情報を含むステートメントを抽出する抽象化フィルタを作成する抽象化フィルタ作成ステップと、
前記ソースコードが記述されたソースコード記述言語から形式言語への書換規則に基づいて、1以上の前記ステートメントの集合である部分ソースコードから前記形式言語で記述されたモデルを構築するモデル構築ステップと、
を有するソフトウェア設計支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012195729A JP5825231B2 (ja) | 2012-09-06 | 2012-09-06 | ソフトウェア設計支援装置及びソフトウェア設計支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012195729A JP5825231B2 (ja) | 2012-09-06 | 2012-09-06 | ソフトウェア設計支援装置及びソフトウェア設計支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014052757A JP2014052757A (ja) | 2014-03-20 |
JP5825231B2 true JP5825231B2 (ja) | 2015-12-02 |
Family
ID=50611217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012195729A Expired - Fee Related JP5825231B2 (ja) | 2012-09-06 | 2012-09-06 | ソフトウェア設計支援装置及びソフトウェア設計支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5825231B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7085938B2 (ja) * | 2018-08-03 | 2022-06-17 | 三菱電機株式会社 | 変更影響分析装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008191963A (ja) * | 2007-02-06 | 2008-08-21 | Nec Corp | ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム |
JP2012059026A (ja) * | 2010-09-09 | 2012-03-22 | Hitachi Ltd | ソースコード変換方法およびソースコード変換プログラム |
-
2012
- 2012-09-06 JP JP2012195729A patent/JP5825231B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014052757A (ja) | 2014-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kästner et al. | Type checking annotation-based product lines | |
WO2012032890A1 (ja) | ソースコード変換方法およびソースコード変換プログラム | |
US8291372B2 (en) | Creating graphical models representing control flow of a program manipulating data resources | |
WO2012057170A1 (ja) | ソースコード変換方法およびソースコード変換プログラム | |
US20080276221A1 (en) | Method and apparatus for relations planning and validation | |
Durán et al. | FLAME: a formal framework for the automated analysis of software product lines validated by automated specification testing | |
WO2007001108A1 (en) | System for providing feature-oriented software product line engineering environment | |
US20070129931A1 (en) | Apparatus and method for supporting prototype development of embedded system | |
US20180107587A1 (en) | Command coverage analyzer | |
CN106776334A (zh) | 基于注释生成测试用例方法及装置 | |
Oakes et al. | Full contract verification for ATL using symbolic execution | |
CN105389262A (zh) | 一种针对界面测试生成测试建议的方法和装置 | |
Strüber et al. | Scalability of Model Transformations: Position Paper and Benchmark Set. | |
JP6692281B2 (ja) | テストケース生成装置、及びテストケース生成方法 | |
Nieke et al. | Guiding the evolution of product-line configurations | |
WO2021086704A1 (en) | Rules generation using learned repetitive code edits | |
JP5825231B2 (ja) | ソフトウェア設計支援装置及びソフトウェア設計支援方法 | |
KR20070058943A (ko) | 소프트웨어 아키텍처 평가 장치 및 방법 | |
JP2012181666A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
Pitchford | Embedded software quality, integration, and testing techniques | |
Ferreira Filho et al. | Generating counterexamples of model-based software product lines | |
Lengyel et al. | Test-driven verification/validation of model transformations | |
Turner et al. | Simulating Interaction Sequences | |
Slotosch | Model-based tool qualification: The roadmap of eclipse towards tool qualification | |
JP2015133031A (ja) | プログラム分析装置及びプログラム分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20140327 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140930 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150619 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150827 |
|
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: 20150915 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150928 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5825231 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |