講演・口頭発表等 - 新田 直也
-
A Method to Comprehend Feature Dependencies Based on Semi-Static Structures (オブジェクトグラフの準静的構造とその機能依存理解への応用) 招待あり
神出稔正, 新田直也
ソフトウェアエンジニアリングシンポジウム2022 (東京) 2022年9月 情報処理学会 ソフトウェア工学研究会
開催年月日: 2022年9月
-
分割して抽象化せよ!新しい原理に基づくトップダウンなデバッグ方式
久米出, 新田直也, 中村匡秀
第212回ソフトウェア工学研究発表会 2022年12月 情報処理学会
開催年月日: 2022年12月
制御やデータの依存関係 (或いはそれらの流れ) はデバッグでプログラム実行が失敗する過程を特定する上で重要な手掛かりとしての役割を果たす [1],[2],[3].一方でこの依存関係の極めて複雑な構造がデバッグの作業効率の阻害要因となっている.加えてオブジェクト指向プログラミング固有の継承関係も複雑性を増加させる要因となっている.現在の標準的な,ソースコードの水準でプログラム実行を表現するデバッガを用いる限り,この問題から逃れる事は困難である.こうした問題を解決するために我々は,「分割して抽象化せよ」という従来のデバッグ方式とは根本的に異なる原理に基づいてトップダウン方式の作業を可能とする関心指向デバッギングを提案する.本論文では第三者が公開したフレームワークアプリケーションで実際に発生した不具合事例に対して,関心指向デバッギングを適用する事によってその効力を検証する.
-
データ転送アーキテクチャモデルに基づくRESTful WebサービスのPUSH/PULL転送方式変更リファクタリング
蔭山信二, 新田直也
第212回ソフトウェア工学研究発表会 2022年12月 情報処理学会
開催年月日: 2022年12月
Web サービスを構成する上で, サービス間のデータの転送をPUSH 型で行うかPULL 型で行うかの選択は非常に重要である. データ転送方式の選択が不適切であると, システム全体のパフォーマンス低下を招く可能性がある. しかしながら, データ転送方式の選択は複数のサービスのAPI 設計に影響を与えるため, API 設計を行った後での変更は容易ではない. そこで我々の研究グループは, API 設計よりも高い抽象度でWeb サービスアーキテクチャを記述する形式的モデルとして, データ転送アーキテクチャモデル(以下, 本モデルと略) を提案した. また, 本モデルによるアーキテクチャ記述に, 設計者が選択したデータ転送方式の情報を付加することによって, その選択に応じたWeb サービスのAPI 設計と, 実行可能なプロトタイプを自動生成するツールを開発した. しかしながら選択されたデータ転送方式は, 生成されたプロトタイプ中に暗黙的に埋め込まれるため, 実装途中でデータ転送方式を変更することは容易ではない. そこで本研究では, プロトタイプ生成時に, 本モデルが持つ情報をアノテーションとして明示的に埋め込むことによって, プロトタイプから派生した実装でもデータ転送方式をリファクタリング可能にする手法を提案する. また, データ転送方式を手作業で書き換えた場合に, どの程度の時間を要するかを調べるため, 被験者実験も行った. その結果, データ転送方式の変更に, 平均で25 分前後の時間を要することが判明した.
-
データ転送アーキテクチャモデルから生成されるJavaプロトタイプの設計多様化に関する検討
藤井宏太, 新田直也
第212回ソフトウェア工学研究発表会 2022年12月 情報処理学会
開催年月日: 2022年12月
データ転送アーキテクチャモデルは, Webサービス間のデータ転送方式の変更を容易にするため, データ転送方式に関する情報を捨象した抽象度でWebサービスアーキテクチャを記述可能な形式的モデルである. 我々の研究グループでは, データ転送アーキテクチャモデルの記述に, 設計者が選択したデータ転送方式の情報を付加することによって, その選択に応じたRESTful Webサービスのプロトタイプを生成可能なツールを開発している. 本研究では, 本ツールからJavaプロトタイプを生成できるようにした場合のその設計のバリエーションについて調べる. 具体的には, 23種類のデザインパターンのJavaサンプルプログラムを対象に, 適切なモデルの記述と適切なデータ転送方式の選択によって, 同等の振る舞いをするプログラムを生成可能であるかを検証した. その結果本手法では, 1つのサンプルプログラムに対してしか同等の振る舞いをするJavaプログラムを生成できないことが判明した. そこで, データ転送方式の選択を拡張する手法を考案し, それを用いて同様の検証を行った結果, 6つのサンプルプログラムに対して同等の振る舞いをするJavaプログラムを生成できることがわかった.
-
代数に基づくデータ転送アーキテクチャモデルからのCCSプロセスの導出手法
蔭山 信二, 新田 直也
ソフトウェアサイエンス研究会 2022年3月 電子情報通信学会
開催年月日: 2022年3月
コンポーネント間のデータ転送を PUSH 型で行うか PULL 型で行うかの選択は, システム全体の構造と最終的に得られる性能の両方に大きな影響を及ぼす. そこで本研究では, 開発初期の段階における適切なデータ転送方式の選択の支援を目的に, データ転送アーキテクチャモデルの提案を行っている. 具体的には, アーキテクチャ設計をデータ転送方式に依存する部分と依存しない部分に分離し, 依存しない部分を代数的に記述可能にする. 本稿では, 提案アーキテクチャモデルによる記述とユーザによって選択されたデータ転送方式を元に, CCS プロセスを自動生成する手法を示し, 生成された CCS プロセスが元のアーキテクチャモデルと等価となることおよび, 等価性を保ちながらデータ転送方式を変更するための十分条件を示す.
-
シーケンス図とオブジェクト図を統合した動的グラフに基づく可視化手法
本郷 亜季, 新田 直也
ソフトウェアサイエンス研究会 2022年3月
開催年月日: 2022年3月
UML は, リバースエンジニアリングにおいて現実のオブジェクト指向プログラムの複雑な振る舞いを表現 するのには適していない. 例えばシーケンス図では, オブジェクトが送信者や受信者の役割を担う場合と, メッセージ の引数や戻り値の役割を担う場合とで, まったく異なる形式で表現されるため, メソッドチェーンなどの複合呼び出し を直接的に表現することができない. そこで本研究では, オブジェクトの役割が送信者/受信者と引数/戻り値の間で頻 繁に交替するような複雑な協調動作を直接的に表現できるようシーケンス図とオブジェクト図を統合した動的可視化 手法を提案する. 24 名のJava エンジニアを対象とした実験を通して, 我々はそのような複雑な協調動作の理解におい て, 提案している動的可視化手法が既存の静的可視化手法よりも効果的であることを確認した.
-
機能依存の理解におけるデルタ抽出の有効性について
神出 稔正, 新田 直也
第206回ソフトウェア工学研究発表会 2020年11月 情報処理学会
開催年月日: 2020年11月
-
デルタ抽出に基づく逆戻りデバッガの開発とその評価
石谷 涼, 新田 直也
第206回ソフトウェア工学研究発表会 2020年11月 情報処理学会
開催年月日: 2020年11月
-
オブジェクトの移動に関する協調動作の動的グラフによる可視化手法
本郷 亜季, 新田 直也
第206回ソフトウェア工学研究発表会 2020年11月 情報処理学会
開催年月日: 2020年11月
-
PUSH型とPULL型のプロトタイプを自動生成可能なアーキテクチャ設計ツール
太田 陽一朗, 新田 直也
ソフトウェアエンジニアリングシンポジウム2020 2020年9月
開催年月日: 2020年9月
-
プロキシオブジェクトの導入リファクタリングの提案とその自動化
岩谷 草紀, 新田 直也
第203回ソフトウェア工学研究発表会 2019年12月 情報処理学会
開催年月日: 2019年12月
-
アーキテクチャリファクタリングのための代数的アーキテクチャモデル
太田 陽一朗, 新田 直也
第203回ソフトウェア工学研究発表会 2019年12月 情報処理学会
開催年月日: 2019年12月
-
オンラインおよびオフライン動的解析プラットフォームの開発とそのオブジェクトフロー解析への応用
石谷涼, 新田直也
第202回ソフトウェア工学研究発表会 (小樽経済センター) 情報処理学会
開催年月日: 2019年7月
ソフトウェア工学のさまざまな分野において動的解析技術が用いられている.動的解析とは, プロ
グラムの実行時の情報を収集し解析を行うプログラム解析技術で, 解析対象となるプログラムの実行終了
後に解析を行うオフライン解析と, 実行の途中でそれまでに収集された情報の解析を行うオンライン解析
に分類することができる. 本稿では, オンラインおよびオフライン解析ツールの開発支援を目的として本研
究室で開発した動的解析プラットフォームの紹介を行う. また, 本プラットフォームを利用してJava プロ
グラムを対象としたオブジェクトフロー解析ツールを開発したので報告する. -
デバッグ作業者の内面分析支援を目的とした障害発生過程の実体化手法
久米 出, 中村 匡秀, 新田 直也, 柴山 悦哉
日本ソフトウェア科学会大会論文集
開催年月日: 2017年9月
-
オブジェクト指向プログラムの性質に基づく対話的機能抽出手法の提案
藤岡大樹, 新田直也
情報処理学会第194回ソフトウェア工学研究会 情報処理学会
開催年月日: 2016年11月
-
デバッグ時の診断作業の質的な分析に向けた事例研究
久米 出, 中村 匡秀, 田中 康之, 新田 直也, 柴山 悦哉
日本ソフトウェア科学会大会論文集
開催年月日: 2016年9月
-
影響波及を考慮したフレームワークアプリケーションの障害位置特定手法
森岡友樹, 新田直也
情報処理学会第190回ソフトウェア工学研究会 情報処理学会
開催年月日: 2015年12月
-
データが動的に連動するソフトウェアの設計指針導出手法
小林 謙太郎, 新田 直也
情報処理学会第187回ソフトウェア工学研究会 情報処理学会
開催年月日: 2015年3月
データが動的に連動するソフトウェアの開発では,データをどのように管理し,いつどのように更新すればよいか等の設計指針を決定する必要がある.しかしながら決定した設計指針が不適切であると,期待される振る舞いを実現できなくなる可能性がある.そこで本研究では,システムに対するドメイン固有の制約と,システムに期待される振る舞いを共にラベル付き遷移システムでモデル化し,それらを満たす設計指針を導出する手法を提案する.本稿では 2 つの事例に対して本手法を適用し,適切な設計指針を導出できることを確認したので,その報告を行う.
-
影響波及を考慮したフレームワークアプリケーションのプログラム修復支援手法
森岡友樹, 新田直也
情報処理学会第186回ソフトウェア工学研究会 情報処理学会
開催年月日: 2014年11月
近年,プログラムの不具合修正を支援するプログラム修復技術が研究されている.修正の影響範囲が限定される比較的単純な不具合については修復の自動化も試みられているが,修正の影響が広範囲に波及するような複雑な不具合を対象とした修復手法は今のところ見当たらない.そこで本研究では,対象をフレームワークアプリケーションに限定し,不具合修正を行った結果別の不具合が新たに発見された状況において,両方の不具合を同時に修正可能な修復方針を系統的に導出する手法の提案を行う.本稿では,2つの事例において本手法が有効であることを確認したので報告する.
-
複数クラスを横断する情報隠蔽を実現するリファクタリングフレームワーク
高橋祐介, 新田直也
情報処理学会第186回ソフトウェア工学研究会 情報処理学会
開催年月日: 2014年11月
情報隠蔽に関係するリファクタリングはいくつか存在しているが,実際のソフトウェア開発において,いつどのリファクタリングを適用すればよいのかは自明ではない.特に対象となるクラスを複数のクラスから隠蔽する場合には,これらのリファクタリングを適切に選択し,適切な順序で適切な位置に適用しなければ隠蔽は正常に完結しない.そこで本研究では,複数のクラスを横断するような情報隠蔽を支援するためのリファクタリングフレームワークを提案する.また,提案フレームワークの構成要素として,いくつかの新しいリファクタリングを導入する.本稿では,提案フレームワークを実際の設計変更事例に適用した結果その有効性を確認することができたので,その報告を行う.