新田 直也 (ニッタ ナオヤ)
NITTA Naoya
職名 |
教授 |
学位 |
博士(工学)(奈良先端科学技術大学院大学), 修士(工学)(奈良先端科学技術大学院大学) |
専門分野 |
ソフトウェア, 情報学基礎論, 情報学, 総合領域 |
ホームページ |
|
メールアドレス |
|
外部リンク |
|
新田 直也 (ニッタ ナオヤ) NITTA Naoya
|
甲南大学 知能情報学部 知能情報学科 教授
2023年4月 - 現在
甲南大学 知能情報学部 知能情報学科 准教授
2010年4月 - 2023年3月
甲南大学 理工学部 講師
2005年4月 - 2010年3月
日本ソフトウェア科学会
2005年4月 - 現在
情報処理学会
2005年4月 - 現在
IEEE Computer Society
2005年4月 - 現在
ACM
2005年4月 - 現在
アーキテクチャ理解のための動的解析技術に関する研究
(選択しない)
研究期間: 2011年4月 - 現在
データフローと制御フローに基づく2段階ビジュアルモデリングに関する研究
研究期間: 2022年9月 - 現在
PUSH型/PULL型双方向リファクタリングを実現するための代数的ソフトウェアアーキテクチャ記述法
(選択しない)
研究期間: 2013年8月 - 現在
複数クラスを疎結合化する自動リファクタリングに関する研究
(選択しない)
研究期間: 2014年8月 - 現在
機能追加時の制約に基づく対話的機能捜索手法に関する研究
(選択しない)
研究期間: 2016年8月 - 現在
A Method to Comprehend Feature Dependencies Based on Semi-Static Structures 査読あり 国際誌
Narumasa Kande and Naoya Nitta
Proceedings of IEEE 37th International Conference on Software Maintenance and Evolution (ICSME 2021) 2021年10月
共著
担当区分:最終著者, 責任著者
To understand why features of existing software can depend on each other is important for correct addition of a new feature to the software. Although some work has been done to detect feature dependency, it is not clear how effective such existing approaches are when they are applied to feature dependency comprehension because they are aimed at detection of runtime dependency between features. Therefore in this paper, we present an extraction method of source code that can be used to comprehend feature dependency. The method can extract a wider range of source code than existing techniques of feature dependency detection by using delta extraction. We conducted a controlled experiment with 20 professional programmers and confirmed that the difference of the extracted range has a positive effect on feature dependency comprehension. To figure out an internal mechanism to enable feature dependency, we also defined semi-static parts of object graphs that can be used to make features depend on each other. Finally, we confirmed that semistatic structures are actually used in feature dependencies in three open source programs and can be effectively extracted by
our method.
A Formal Web Services Architecture Model for Changing PUSH/PULL Data Transfer 査読あり
Naoya Nitta, Shinji Kageyama and Kouta Fujii
Proceedings of the 19th Formal Aspects of Component Software 65 - 83 2023年10月
担当区分:筆頭著者, 責任著者
Delta extraction: An abstraction technique to comprehend why two objects could be related 査読あり 国際誌
Naoya Nitta and Tomohiro Matsuoka
IEEE 31st International Conference on Software Maintenance and Evolution (ICSME 2015) 61 - 70 2015年9月
Identifying Mandatory Code for Framework Use via a Single Application Trace 査読あり
Naoya Nitta, Izuru Kume, Yasuhiro Takemura
The 28th European Conference on Object-Oriented Programming (ECOOP 2014) 593 - 617 2014年8月
共著
担当区分:筆頭著者
Application frameworks allow application developers to effectively reuse both designs and implementations which frequently appear in their intended domains. However, when using a framework with large scale APIs, its usage to implement an application-specific behavior tends to be complicated. Thus, in practice, application developers use existing sample application code as references for their development, but the task to locate the parts which are related to their application usually becomes a burden. To address this problem, in this paper, we characterize the problem as a kind of dynamic flow analysis problem, and based on the characterization, we present a method to automatically identify the mandatory code for the framework use using only a single sample application's trace. We have conducted case studies with several real-world frameworks to validate our method and the results indicate that the method is suitable to extract the mandatory framework usage.
Towards a Dynamic Visualization of Complex Reverse-Engineered Object Collaboration 査読あり
Aki Hongo and Naoya Nitta
2021年12月
担当区分:最終著者
A Method to Comprehend Feature Dependencies Based on Semi-Static Structures (オブジェクトグラフの準静的構造とその機能依存理解への応用) 招待あり
神出稔正, 新田直也
ソフトウェアエンジニアリングシンポジウム2022 (東京) 2022年9月 情報処理学会 ソフトウェア工学研究会
開催年月日: 2022年9月
階層化されたリソース間のデータ転送を表現するWebサービスアーキテクチャモデル
岡崎 毅浩, 新田 直也
第215回ソフトウェア工学研究発表会 (香川) 2023年12月 情報処理学会 ソフトウェア工学研究会
開催年月日: 2023年11月 - 2023年12月
分割して抽象化せよ!新しい原理に基づくトップダウンなデバッグ方式
久米出, 新田直也, 中村匡秀
第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プログラムを生成できることがわかった.
情報隠蔽装置、情報隠蔽方法、情報隠蔽プログラム、およびコンピュータ読み取り可能な記録媒体
新田直也
出願番号:特願2005-12133
公開番号:特願2005-12133
特許番号/登録番号:特願2005-12133
出願国:国内
AR落書きアプリgARffiti
本郷亜季, 新田直也
2019年6月
作品分類:ソフトウェア
AR技術を体験を通して知ることができるアプリケーションとして, 現実空間内の水平面・垂直面に仮想的に落書きができるスマホアプリgARffitiの開発を行った.
なんぼーくん川渡パズル用人工知能
Nitta Lab., Konan
2015年9月
作品分類:ソフトウェア
甲南大学のキャラクターであるなんぼー君を主人公とした川渡パズルゲームを人工知能に解かせるアンドロイドアプリ。
なんぼーくん川渡パズルゲーム
Nitta Lab., Konan
2015年9月
作品分類:ソフトウェア
甲南大学のキャラクターであるなんぼー君を主人公とした川渡パズルゲームのアンドロイドアプリ。
日本ソフトウェア科学会 2007年度論文賞授賞
2007年6月 日本ソフトウェア科学会
新田直也
情報処理学会 平成15年度山下記念研究賞
2003年7月 情報処理学会
新田直也
項書換え系を対象としたモデル検査手法に関する研究
2003年4月 - 2004年3月
学術振興機構 科学研究費助成事業 基盤研究(B)
モデル検査法と項書換え系の理論を融合し,一般に無限の状態空間を持つソフトウェアに対しても自動検証できるようモデル検査法を理論的に拡張することを目指す.
ソフトウェア開発・保守作業支援のための実証的研究
提供機関:東京コンピュータサービス株式会社 国内共同研究
2013年4月 - 現在
ソフトウェアの開発および保守工程において発生する膨大な作業を支援するため、現在、さまざまな研究が進められている。しかしながらそれらの研究の多くは、
1. 研究機関では、研究成果を実証できるような実践的な開発プロジェクトを実施することが困難である
2. 研究機関では、研究成果を使いこなせるような一定レベルの技術者を一定数確保することが困難である
などの理由により、研究成果の有効性の厳密な検証が行われていないのが現状である。
そこで本研究では、大学とソフトウェア開発企業が連携をすることによって、大学における研究成果の厳密な実証実験を行うことを目指す。
アーキテクチャ設計を考慮したローコード開発環境
動的解析技術を用いた大規模ソフトウェア理解に関する実証的研究
アーキテクチャの動的側面に関する評価・解析の実証的研究
アプリケーションフレームワークの利用支援に関する研究
2023年度 Webサービスアーキテクチャ設計のための形式的アーキテクチャモデルおよびプロトタイプの自動生成法
研究費の種類: 教員研究費
2022年度 ソフトウェア工学、ソフトウェア解析 ソフトウェア基礎理論、ソフトウェア工学
研究費の種類: その他
2021年度 ソフトウェア工学、ソフトウェア解析 ソフトウェア基礎理論、ソフトウェア工学
研究費の種類: その他
2020年度 ソフトウェア工学、ソフトウェア解析 ソフトウェア基礎理論、ソフトウェア工学
研究費の種類: その他
A Practice of Collaborative Project-Based Learning for Mutual Edification between Programming Skill and Artistic Craftsmanship
情報系学生と芸術系学生のコラボレーションによる実践的プロジェクト実習
3Dゲーム用アプリケーションフレームワークの開発を通したエンピリカルなソフトウェア工学教育の試行
2016年4月 - 2017年3月 情報処理学会 ソフトウェアエンジニアリング教育委員会
2009年4月 - 2011年3月 情報処理学会 ソフトウェア工学研究会 運営委員
文部科学省 成長分野を支える情報技術人材の育成拠点の形成(enPiT) ビッグデータ・AI分野 運営委員
2016年4月 - 現在
文部科学省のプロジェクト「成長分野を支える情報技術人材の育成拠点の形成(enPiT)」のビッグデータ・AI分野の運営委員会に、甲南大学の代表として参加し、教育活動を行っている。
甲南高校模擬講義
2007年4月 - 現在
ソフトウェア開発に関する模擬講義を毎年一回づつ行っている。
Javaプログラムを対象とした動的解析プラットフォーム
Javaプログラムを対象とした、
1. 実行トレース収集ツール
2. 実行トレース解析ツール
を基本とするプラットフォームをEclipseプラグインとして開発している。
アプリケーションフレームワークの利用例抽出ツール
Javaで記述されたアプリケーションフレームワークの使用例をサンプルプログラムの動的解析を行うことで自動で抽出するツール。Eclipseプラグインとして開発している。
Android用3Dゲームフレームワーク(RadishForAndroid)
Javaで記述されたAndroid用3Dゲームフレームワーク。
高速なマーカレスARエンジン
Javaで記述された動画像のリアルタイム解析に基づくマーカレスARエンジン。現在のところスマートフォンには未対応。