-
機械学習により増強されたデータ駆動ソフトウェア保守進化基盤代表研究者
【研究種目】国際共同研究加速基金(国際共同研究強化(B))
【研究領域課題番号】21KK0179
【審査区分】中区分60:情報科学、情報工学およびその関連分野
【研究期間】2021-10-07〜2025-03-31
【研究キーワード】
【配分額】19,240千円 (直接経費: 14,800千円、間接経費: 4,440千円)
-
セキュリティとプライバシーの知識を成果物に関連付ける根拠モデルに基づく学習環境
【研究種目】基盤研究(C)
【研究領域課題番号】17K00475
【研究分野】学習支援システム
【研究期間】2017-04-01〜2020-03-31
【研究キーワード】ソフトウェアセキュリティ / プライバシーバイデザイン / 知識ベース / 設計根拠 / セキュアなソフトウェア開発支援 / プライバシーを考慮したソフトウェア開発支援 / プライバシー / ツール開発 / セキュリティとプライバシーを統合化した知識ベース / 設計根拠モデル / モデリングツール
【配分額】4,420千円 (直接経費: 3,400千円、間接経費: 1,020千円)
研究成果の概要
セキュリティとプライバシーを考慮したソフトウェア開発を支援するための知識を体系的に整理した知識ベースの開発を行った。この知識ベースの1つの特徴として、脅威の型から解決策の型、具体的な解決策に関する知識が関連付けられていることがある。この知識ベースの知識をセキュリティ要求分析の成果物に組み込むことを可能にするツールを開発した。そして、設計段階では、その知識に関連付けられた知識が推薦され、設計学習を行うことが可能なツールも開発した。
-
ヘテロな開発運用時代の保守進化を支える全方向ソフトウェア追跡代表研究者
【研究種目】基盤研究(B)
【研究領域課題番号】16H02804
【研究分野】ソフトウェア
【研究期間】2016-04-01〜2021-03-31
【研究キーワード】ソフトウエア開発効率化・ 安定化 / ソフトウエア学 / ソフトウェアモジュール / ソフトウェア開発環境 / ソフトウエア開発効率化・安定化 / ソフトウエアモジュール / ソフトウエア開発環境 / ソフトウェア保守 / ソフトウェア進化
【配分額】16,510千円 (直接経費: 12,700千円、間接経費: 3,810千円)
研究実績の概要
多くのソフトウェアがモデリング・プログラミング言語を含む多様な環境を併用して開発され多様な実行環境で運用保守される今日のヘテロな開発運用時代において、その多様性を扱えるソフトウェアの要求や要素の追跡、変更・再利用支援技術の欠如が、迅速かつ高信頼なソフトウェア保守進化の妨げとなっている。
本研究では、代表者および分担者らの研究成果を応用および発展させて、(1)言語を含む環境や成果物に対しロバストな網羅的追跡技術、(2)異なる追跡結果をまとめることによる高信頼追跡技術、(3)追跡結果に基づいて保守進化を促すための変更・再利用支援技術を確立する。結果として、ヘテロな開発運用時代において工程を超えた適切な抽象度における変更必要箇所の特定、変更、再利用を迅速かつ高精度に実現し、保守進化の基盤を与える。
2019年度は、これまでの研究成果を踏まえて、関連研究のサーベイを継続しながら、高信頼なソフトウェア追跡に向けた設計に代表される多様な抽象度における典型的なパターンの特定およびセキュリティに代表される品質要求の実現および影響について要素技術および関連技術の調査研究を進めて、それらの基礎をなす要素技術も含めて、ヘテロな運用開発時代の典型例題や実課題への適用を通じて有用性を検証し、ジャーナル論文等としてまとめた。典型的なパターンとしては、特にアーキテクチャ設計および詳細設計における機械学習応用やIoT応用を軸とした形を特定し、追跡上の重要な特徴としてまとめた。また品質要求の追跡について特にセキュリティに着目し、脅威・脆弱性の情報から設計に至る一連の追跡に向けた要素技術および全体構成を実現した。
-
プライバシーとセキュリティを統合した要求分析フレームワーク
【研究種目】基盤研究(B)
【研究領域課題番号】15H02686
【研究分野】ソフトウェア
【研究期間】2015-04-01〜2019-03-31
【研究キーワード】ソフトウェア開発効率化・安定化 / ソフトウェア学 / セキュリティ要求 / プライバシー要求 / ソフトウエア開発効率化・安定化 / ソフトウエア学 / セキュア・ネットワーク / ソフトウェアセキュリティ / ソフトウェアプライバシー
【配分額】17,940千円 (直接経費: 13,800千円、間接経費: 4,140千円)
研究成果の概要
従来のプライバシー要求分析はセキュリティの分析法を拡張しており、利用者がどのようなことをプライベートだと思っているかといった主観的なニーズを取り扱ってこなかった。そのため匿名性などのプライバシー要求の妥当性や根拠については明確にできず適切な要求を策定するのが困難であった。本研究では、セキュリティとプライバシーを両立させる手法を提案した。
-
センサーソフトウェア工学の確立に関する研究
【研究種目】基盤研究(B)
【研究領域課題番号】25280026
【研究分野】ソフトウェア
【研究期間】2013-04-01〜2019-03-31
【研究キーワード】モデル駆動開発 / IoT / セキュリティ / パターン / アスペクト / プロダクトライン / センサー / 再利用 / アクチュエータ / ソフトウェア部品 / ソフトウェア工学 / ソフトウェア再利用 / MDD / センサーソフトウェア / センサー・ソフトウェア / センサーアプリケーション / ソフトウェア生成
【配分額】17,550千円 (直接経費: 13,500千円、間接経費: 4,050千円)
研究成果の概要
センサーを利用した各種のアプリケーション・ソフトウェア(以下、センサーソフトウェアと呼ぶ)が広く利用されるようになり、より高い生産性で、より高い信頼性をもったセンサーソフトウェアを開発することが急務となってきている。しかし、それを実現するための多くのソフトウェア工学的手法においては、センサーソフトウェアであることの特質を活かしきれているとは言い難い。そこで、本研究では、これまで研究されてきている各種の手法の中で、対象ソフトウェアをセンサーソフトウェアに限定した場合に、どのような手法をどのように適応させていくべきであるのかについて明確にすることを実現した。
-
多プログラミング言語対応の拡張可能なアスペクト指向プログラミングフレームワーク代表研究者
【研究種目】基盤研究(C)
【研究領域課題番号】25330091
【研究分野】ソフトウェア
【研究期間】2013-04-01〜2016-03-31
【研究キーワード】アスペクト指向プログラミング / ソフトウェアモジュール / 横断的関心事 / プログラミング言語 / アスペクト指向 / ソフトウェア開発環境
【配分額】4,810千円 (直接経費: 3,700千円、間接経費: 1,110千円)
研究成果の概要
効率的な高信頼プログラムの開発には、ログ記録やアクセス制御といったあちこちに処理の散らばる横断的関心事を他から分離し自動合成できることが望ましい。アスペクト指向プログラミングはその達成に寄与するが、既存処理系は特定プログラミング言語に依存している。本研究では、複数言語に対する横断的関心事をモジュール化可能な統一フレームワークUniAspectを実装し、Webに代表される多プログラミング言語時代の保守性や生産性向上を達成した。試作済みの複数言語対応ソースコード処理フレームワークを対応言語について増強し、多言語に共通して有効な横断的関心事の分離記述方法を定めたうえソースコードの合成処理を実現した。
-
セキュリティの変化に迅速に対応できるパターン指向ソフトウェア開発法の研究
【研究種目】基盤研究(B)
【研究領域課題番号】24300011
【研究分野】ソフトウエア
【研究期間】2012-04-01〜2015-03-31
【研究キーワード】セキュリティ / ソフトウェア学 / パターン / 脆弱性分析 / セキュリティ要求 / インパクト分析
【配分額】17,810千円 (直接経費: 13,700千円、間接経費: 4,110千円)
研究成果の概要
セキュリティ要求の変化に対して迅速な対応を行うためには、対策の設計を行う前に、複数の対策から適切な対策を選択する指針となる高精度な対策コストの予測と、選択した対策が可能な限り自動的に追加できる仕組みが必要である。そこで、本提案では、セキュリティパターンを脅威・攻撃・対策パターンの3つに分類し、それぞれの関連を明らかにすることで、各開発工程でモデル化されるセキュリティの関心事間の関連を導出できるようした。さらにアプリケーションとパターンの関連を明らかにするために、セキュリティパターンにより得られる情報を、セキュリティモデル中のステレオタイプで付加する方法を提案した。
-
拡張および再利用可能な多プログラミング言語対応テストカバレッジ測定フレームワーク
【研究種目】若手研究(B)
【研究領域課題番号】22700041
【研究分野】ソフトウエア
【研究期間】2010〜2012
【研究キーワード】ソフトウエアテスト / ソフトウエア品質保証 / ソフトウエア再利用 / プログラミング言語 / ソフトウエア工学
【配分額】3,770千円 (直接経費: 2,900千円、間接経費: 870千円)
研究概要
テストカバレッジとはプログラムソースコードの全体に対するテストされた割合であり、テスト十分性の判断材料として様々なレベルで自動測定すべきである。さらに、プログラミング言語の更新や多様化、複数言語の併用開発の進展に伴い、多数の言語やレベルを統一的に扱え必要に応じ拡張可能な測定ツールが必要である。しかし既存のツール群は単一言語を扱い拡張性に乏しい。本研究では多数の言語間の共通性と相違を分析し、共通部分を再利用可能かつ各言語特化部分の実装や測定レベル拡張を効率的に達成可能なフレームワークを実現した。これにより多言語に対し統一的・柔軟なカバレッジ測定を実現でき、十分なテストの実施とテスト効率向上を達成した。
-
ソフトウェアプロダクトラインの構築・保守方式の確立に関する研究
【研究種目】基盤研究(B)
【研究領域課題番号】21300010
【研究分野】ソフトウエア
【研究期間】2009〜2012
【研究キーワード】ソフトウェア工学 / ソフトウェアプロダクトライン開発 / プロダクトライン / オブジェクト指向 / コアアセット / スコーピング / 進化 / メトリクス / パターン / プロダクトライン開発 / アクセシピリティ / アクセシビリティ
【配分額】14,950千円 (直接経費: 11,500千円、間接経費: 3,450千円)
研究概要
ソフトウェア開発の生産性の向上、品質の安定、開発のリードタイムの短縮のために、同一ドメインの製品ファミリーを対象にした、プロダクトライン型のアプローチが注目されている。プロダクトライン方式のソフトウェア開発とは、大規模かつシステマティックなソフトウェア部品の再利用方式である。本研究では、どのような組織においても、一定の以上の品質をしたプロダクトラインを、定められた方法論に従って構築し、利用できるようにすることを、その目的とした。特に、最適なコアアセットの表現法、明確なスコーピング手法の確立、コアアセットの選択法などについての研究を行い、その問題点を指摘し、対応策を提示し、その有効性を検証した。さらに、開発が終了したコアアセットの保守法に対しても、新たな方式を提案した。本研究によって、構築されたプロダクトラインを利用して、高い生産性で、高い信頼性のアプリケーションを容易に開発できるようになることが期待される。
-
マルチビューに基づく安全なシステム設計法の研究
【研究種目】若手研究(B)
【研究領域課題番号】20700036
【研究分野】ソフトウエア
【研究期間】2008〜2010
【研究キーワード】セキュリティ / 設計手法 / 関心毎の分離 / パターン / 分散システム
【配分額】4,160千円 (直接経費: 3,200千円、間接経費: 960千円)
研究概要
本研究では、セキュリティの関心事を網羅的に整理したモデル化を行う為、通常の設計モデルに加え、システムに対する攻撃モデル、脆弱モデル、そして、安全モデルの三つの新たなモデル(マルチビュー)を導入する。これにより、セキュリティに対する関心事を段階的に整理、分析し、最終的には、安全なシステムを設計可能となる。
-
再利用可能かつ高精度なプログラムソースコード品質評価枠組みの実現代表研究者
【研究種目】若手研究(B)
【研究領域課題番号】19700036
【研究分野】ソフトウエア
【研究期間】2007〜2009
【研究キーワード】ソフトウェア品質保証 / ソフトウェア品質測定 / 部品化再利用 / ソフトウェアメトリクス / ソフトウェア工学 / ソフトウェア再利用 / ソフトウェアパターン / ソフトウェア部品 / プログラムソースコード / ソフトウエア工学 / ソフトウエア品質保証 / ソフトウエア品質測定 / ソフトウエアメトリクス / ソフトウエア品質評価 / ソフトウエア再利用
【配分額】3,520千円 (直接経費: 3,100千円、間接経費: 420千円)
研究概要
プログラムソースコードの品質を測定し評価する様々な手法が提案されているが、網羅性や再利用性を欠くといった問題を持ち、十分に活用されていない。そこで本研究では、C言語に代表される種々のプログラムソースコードを対象として、品質の測定と評価を網羅的かつ高精度に実施する再利用可能な枠組みの構築と適用実験を通じた継続的高精度化、およびその構築や運用におけるノウハウのパターン化や得られたパターン集合の再利用支援環境の構築を実現した。
-
高品質ソフトウエアコンポーネントの自動抽出と検索に関する研究
【研究種目】若手研究(B)
【研究領域課題番号】17700040
【研究分野】ソフトウエア
【研究期間】2005〜2006
【研究キーワード】ソフトウェア再利用 / コンポーネントベース開発 / オブジェクト指向プログラム / ソフトウェア部品 / ソフトウェア品質測定法 / ソフトウェアメトリクス / プログラム解析 / ソフトウェアコンポーネント
【配分額】3,400千円 (直接経費: 3,400千円)
研究概要
コンポーネントベース開発とは、特定の標準に従ったソフトウェア部品(コンポーネント)を組み合わせて、新たな大規模・複雑・高品質なソフトウェアを効率よく開発する手法である。多様なソフトウェア群を効率よく生み出す開発技術の確立が社会的急務であり、これまでに標準を中心として研究実践が進められつつある。しかしながら、従来のコンポーネントベース開発手法および支援手法・環境は、最初から再利用を考慮して部品化されたコンポーネント群を扱うことを目的とする。従って、従来の手法・環境では、汎用性がありかつ部分的に有用な機能・データを含むにも関わらずコンポーネントとして開発されていないソフトウェア資産(例えばプログラム資産)を扱うことができない。そこで本研究では、部品化再利用を考慮せずに実装された大量のオブジェクト指向プログラム資産から、独立して再利用可能なコンポーネント群を自動的に抽出し、その品質を測定・評価し、一定の品質レベルを伴ったコンポーネントの単位で検索し、検索によって得られたコンポーネント群を組み合わせて得られる全体の品質を測定・評価する仕組みを実現した。具体的には平成18年度において、同仕組みの実現に必要な要素技術として、プログラムソースコードの種々の品質特性を多面的かつ体系だって定量評価する品質測定・評価枠組みの構築、プログラム部品を組み合わせて得られるコンポーネントベースシステム全体の複雑度(および保守性)測定法の実現、および、前年度までに実現済みのコンポーネント抽出手法を含めて全手法・環境を統合的に実装した高品質コンポーネント自動抽出の枠組みを構築した。同枠組みの利用により、大量のオブジェクト指向プログラム資産から開発者の目的に合致した高品質なコンポーネントを得て、新たな高品質ソフトウェアを効率よく開発することが可能となる。
-
統合化されたコンポーネント指向ソフトウェア開発環境の実現に関るす研究
【研究種目】特定領域研究
【研究領域課題番号】16016280
【審査区分】理工系
【研究期間】2004〜2005
【研究キーワード】ソフトウェア工学 / ソフトウェア再利用 / コンポーネント指向 / CASEツール / コンポーネント抽出 / コンポーネント試行 / メトリクス
【配分額】4,200千円 (直接経費: 4,200千円)
研究概要
本研究では、共通の規格に従ったソフトウェア部品としてのコンポーネントを組み合わせることによって大規模・高品質・多様なソフトウェアを効率よく開発するための手法であるコンポーネント指向ソフトウェア開発を、総合的に支援する手法および環境を実現することを試みた。
JavaBeansやEJBに代表されるようにコンポーネントを実装し運用するための実装コンポーネントアーキテクチャ体系が成熟しつつあるのに対して、既存のコンポーネントを適切に再利用する仕組み・方法論は未成熟である。従って、コンポーネントの再利用は限定的な種類・利用法に留まっている。我々は未成熟の理由を、提供されるコンポーネシトの不足やコンポーネントを開発し利用するための技術・ツールの不足と考えている。
本研究は、コンポーネントの積極的な利用を促進するために、上記のような技術・ツールを実現することを目的とした。さらに実現された技術・ツールを統合化し、統合化環境として提供することによって、その効果を高めることを最終目的とした。
より具体的には、以下を実現した。
(1)部品化以前のプログラム資産再利用支援手法(特にコンポーネント抽出手法)、
(2)コンポーネント単体品質保証手法(特に条件テスト手法、品質測定手法)、
(3)コンポーネント資産再利用支援手法(特にコンポーネント間類似度測定手法、コンポーネント検索手法、コンポーネント試行手法)、
(4)コンポーネント組み立て支援手法(特に初期化設定支援ウィザード付加手法、コンポーネント間接続手法、コンポーネントベースシステム保守性測定手法)
さらに、これらを連携させて複合的に利用する環境を用意することにより、コンポーネントの幅広い利用と生産性/保守性の向上を促進した。
-
統合化されたコンポーネント指向ソフトウェア開発環境の実現に関する研究
【研究種目】特定領域研究
【研究領域課題番号】15017281
【審査区分】理工系
【研究期間】2003
【研究キーワード】ソフトウェア工学 / 再利用 / コンポーネント / JavaBeans / ソフトウェア品質 / 検索 / ソフトウェアアーキテクチャ / ソフトウェアツール
【配分額】1,900千円 (直接経費: 1,900千円)
研究概要
近年,コンポーネントを開発・運用するためのコンポーネントアーキテクチャ体系が成熟しつつあるのに対して,既存のコンポーネントを適切に再利用する仕組み・方法論は未成熟である。従って,コンポーネントの再利用は限定的な種類・利用法に留まってしまっている.我々は,この未成熟の理由を,提供されるコンポーネントの不足,コンポーネントを開発するための技術・ツールの不足,コンポーネントを利用するために技術・ツールの不足と考えている。
このために以下の研究を行った。
(1)作成したコンポーネントの品質を計測する手法
提案しているブラックボックス的品質測定手法に対して,計測値がどのような範囲にあれば良いコンポーネントと言えるか,同じ前提のもとに,他の更により良いメトリクスが存在しないかについて,研究を進めた。
(2)ライブラリからのコンポーネント検索手法
この研究については,コンポーネント検索のアルゴリズムに修正を加えるとともに,ライブラリ内にとどまらず,インターネット上に公開されているさまざまなソフトウェアに対して検索を行い,コンポーネントとして蓄積することを実現した。
(3)ソフトウェアからのコンポーネント切出し手法
既存のソフトウェアの再利用性を上げるために,その中から自動的に,コンポーネントを切り出す手法についての研究を行ってきた。しかし,切り出したコンポーネントをどのように周知し,保守していくのかなど今後拡張すべき点は多く残されており,これらの解決法についての研究を行った。
-
既存ソフトウェアからのネットワーク対応コンポーネントの自動抽出に関する研究
【研究種目】若手研究(B)
【研究領域課題番号】15700036
【研究分野】ソフトウエア
【研究期間】2003〜2004
【研究キーワード】ソフトウェア再利用 / コンポーネントベース開発 / オブジェクト指向プログラミング / ソフトウェア部品 / プログラム解析 / ソフトウェア工学 / プログラム言語 / ネットワーク
【配分額】3,100千円 (直接経費: 3,100千円)
研究概要
1.研究の背景と目的
ソフトウェアを分解して得られるソフトウェア部品(コンポーネント)を再利用することにより、高品質かつ大規模なソフトウェアを効率良く開発する手法としてコンポーネントベース開発がある。コンポーネントベース開発の技術的課題は、同開発手法に従って実装されていないプログラム資産を、同開発手法で利用可能な形で再利用可能とする枠組みが未確立なことである。本研究は、この技術的課題を克服し、多様なプログラム資産をコンポーネントベース開発において活用可能とする枠組みの構築を目的とする。
2.研究内容の詳細
本研究では、既存のオブジェクト指向プログラム集合について構成要素間の関係を静的に解析することにより、独立して再利用可能な部分を特定し、特定した部分を実用的なコンポーネントアーキテクチャ上で動作可能とするために、対象部分の詳細を把握せずにリモートコンポーネントアーキテクチャ上で生成・実行可能とするためのインタラェースを自動的に追加作成し、最終的に対象部分をコンポーネントとして抽出する手法を提案し、提案する手法を自動的に実行する抽出機構を実現した。さらに、抽出して蓄積したコンポーネント集合に対してネットワーク経由で検索と取得/利用を可能とするコンポーネントベース開発支援機構を実現した。
3.研究成果の貢献
実現した機構を用いることで、大量のオブジェクト指向プログラム資産から、利用者の新たな要求を満たす、リモートコンポーネントアーキテクチャ上においても動作可能なネットワーク対応コンポーネントを迅速かつ容易に取得/再利用可能とすることに成功した。実現した機構の活用により、コンポーネントベース開発に基づいたソフトウェア開発を促進することが期待できる。
-
コンポーネント指向ソフトウェア開発統合化環境の実現に関する研究
【研究種目】特定領域研究
【研究領域課題番号】14019082
【審査区分】理工系
【研究期間】2002
【研究キーワード】コンポーネント / オブジェクト指向 / 条件テスト / テストスクリプト
【配分額】2,700千円 (直接経費: 2,700千円)
研究概要
再利用を目的として開発されたコンポーネントは,コンポーネント開発者が想定しない使われ方をする可能性があるため,コンポーネント開発者が徹底的な単体テストを行う必要がある.
一方,利用者は,利用対象コンポーネントの単体での動作確認に加え,コンポーネントを自身のシステムに組み込んだ際の動作確認を行いたいという要求を持つ.動作確認を行うテストの手段として条件テストがあるが,従来の条件テストを実現する手法では,コンポーネント本体のソースコードと条件テストスクリプトの明確な分離,および条件テストモデル変更時における柔軟な条件記述の変更を同時に実現できなかった.また,流通しているコンポーネントの多くは,ソースコードを参照できないため,従来手法では他者により開発されたコンポーネントに対して事前条件・事後条件・クラス不変条件の検証を行うことができなかった.
本研究では,比較的細粒度なコンポーネントに対して状態の観測性を用いて,条件テストスクリプトを自動生成し,さらに条件記述を別ファイルとして分離することで,コンポーネントの条件テストを行う際に生じる問題を解決する手法を提案した.