研究者詳細

教職員基本情報
氏名
Name
横森 励士 ( ヨコモリ レイシ , YOKOMORI Reishi )
所属
Organization
理工学部ソフトウェア工学科
職名
Academic Title
教授
専攻分野
Area of specialization

ソフトウェア工学,プログラム解析,情報漏えい解析,ソフトウェア部品検索システム,ソフトウェア再利用,ソフトウェア部品評価手法,部品間の関係変化に基づく計測手法

学会活動
Academic societies

IEEE,情報処理学会,電子情報通信学会各会員,
情報処理学会東海支部評議員(2005-5〜2009-5)
情報処理学会ソフトウェア工学研究会運営委員(2014-4~2018-3)

社会活動
Community services

社団法人情報サービス産業協会新規市場調査委員会委員長補佐(2005.9〜2006.4)

著書・学術論文数
No. of books/academic articles
総数 total number (31)
著書数 books (0)
学術論文数 articles (31)

出身学校
学校名
Univ.
卒業年月(日)
Date of Graduation
卒業区分
Graduation
   Classification2
大阪大学基礎工学部情報工学科 1999年03月  卒業 
詳細表示
出身大学院
大学院名
Grad. School
修了課程
Courses
   Completed
修了年月(日)
Date of Completion
修了区分
Completion
   Classification
大阪大学大学院基礎工学研究科情報数理系専攻 博士後期課程  2003年09月  修了 
詳細表示
取得学位
     
学位区分
Degree
   Classification
取得学位名
Degree name
学位論文名
Title of Thesis
学位授与機関
Organization
   Conferring the Degree
取得年月(日)
Date of Acquisition
博士 博士(工学)  ソフトウェア保守・再利用の支援を目的としたプログラム解析手法に関する研究  大阪大学大学院基礎工学研究科情報数理系専攻博士後期課程  2003年09月 
修士 修士(工学)    大阪大学大学院基礎工学研究科情報数理専攻博士前期課程  2001年03月 
学士 学士(工学)    大阪大学基礎工学部情報工学科  1999年03月 
詳細表示
研究経歴
長期研究/短期研究
Long or Short
   Term research
研究課題名
Research Topic
長期研究  保守作業や再利用支援を目的とした プログラム解析手法に関する研究 

概要(Abstract) ソフトウェアが肥大化するにつれ,プログラムの作成だけでなく,デバッグや保守などのプログラムを維持するためのコストが,飛躍的に増大している.これらの作業を支援するための手法として,いろいろな手法が提案されている.
わたしの研究では,プログラムスライシングなどのプログラム解析手法を利用する,プログラムを構成するソフトウェア部品を評価するといった2つのアプローチを用いて,保守作業や再利用の支援を目的とした手法についての研究を行っている. 

短期研究  ソフトウェアの利用関係に基づくソフトウェア部品の分類手法 

概要(Abstract) ソフトウェアを構成する部品においてある機能を実現するためには,前準備,後処理などで,他の部品を取り決められた手順に従い利用することになるケースが多いと考える.

そのため,ソフトウェア内の部品対に関して,他の部品の利用状況に基づいて類似度の計算を行い,距離行列を作成して階層的クラスター分析を行うことで,他の部品の利用状況が似ている部品の集合をクラスターとして得ることができると考えた.

実際に得られる部品の集合は,デザインパターンなどのもとで,類似した機能を実現する部品の集合であったり,継承などを用いて,似た概念を実現している部品の集合であったり,ある特定の要素を対象とした機能群を構成する部品の集合であることが確認でき,ソフトウェアを機能面から分類することができる手法であると考えている.



 

短期研究  コンポーネントランクを用いた開発プロセス評価手法の提案 

概要(Abstract) コンポーネントランクとは,ソフトウェア部品の利用関係から,各部品の被利用度を評価したもので,よく利用される部品だけでなく,重要な部品から利用される部品も評価されるという性質を持っている.
一方,ソフトウェア開発においては大規模化が進んでおり,開発の複雑度上昇に伴う開発の遅延が問題になっている.一つのソフトウェアを開発するために,多くの人間が共同開発を行うことも多い.そのため,開発者はCVSなどの構成管理ツールをもとに,全体的な開発の進捗を管理することが非常に多くなっている.
現在の開発では要求定義→設計→実装という形が定着しており,ソフトウェアを構成する部品が作成された後にその部品間の関係を記述していく,という手法が一般的である.
本研究では,コンポーネントランクの時間による変動をもとに,開発プロセスが安定しているかを評価するための手法を提案する.新たに機能が追加されたりすることで,部品間の利用関係は変動し,コンポーネントランクも大きく変動する.この現象をもとに,CVSの各リビジョンを対象にコンポーネントランクを計算し,その変動を見ることで開発プロセスの安定度を評価する.


 

詳細表示
学術論文
年度
Year
論文題目名
Title of the articles
共著区分
Collaboration
   Classification
NeoCILIUS
   請求番号/資料ID
Request No
掲載誌名 Journal name,出版機関名 Publishing organization,巻/号 Vol./no.,頁数 Page nos.,発行年月(日) Date
2023  利用部品の一致度に基づいて得られたソフトウェア部品群における部品間の関連性の調査  共著   
『ソフトウェア工学の基礎30』  , 近代科学社(レクチャーノート/ソフトウェア学)   , 49  , 33-42  , 2023/11   

概要(Abstract) 本稿では,あるソフトウェアを構成するソフトウェア部品に対して各部品の利用先の一致度に基づいて階層的クラス ター分析を行う手法について,有効性を確認するための調査を行った結果を紹介する.調査では,本手法を用いて得 られた部品群内の部品について,具体的にどのような点が類似点して確認できたか,類似点が共通で利用している部 品と関係があるのかなどを紹介し,本手法の有効性や長所,短所(限界)などを考察する.さらに,分類対象のソフ トウェアを 300 クラス程度のソフトウェアに大きくした場合に,具体的にどのような傾向が得られたかを紹介し, 大規模なソフトウェアに対して適用した場合にどのような結果が得られそうかについて考察する. 

備考(Remarks)  

2023  An Empirical Analysis of Code Clone Authorship in Apache Projects  共著   
2023 IEEE 17th International Workshop on Software Clones (IWSC)  , IEEECS  , 8  , 2023/10   

概要(Abstract) Abstract—Many studies have been conducted to identify var- ious types of code clones with a focus on accuracy, scalability, and performance. However, there has been limited exploration into the nature of code clones. Even fundamental questions, such as whether authors who write many non-clone lines also tend to write many clone lines, or whether code snippets in the same clone set were written by the same author or different authors, have not been thoroughly investigated.
In this paper, we explore such fundamental questions regard- ing code clone authorship. We analyzed Java files from 153 Apache projects on GitHub, with a focus on line-level granularity.
The analysis results showed that for 150 out of the 153 projects, the numbers of non-clone lines and clone lines contributed by each author are linearly correlated. We also found that two-thirds of the clone sets in all projects are primarily contributed to by
single leading authors.
These results confirm our intuitive understanding of clone characteristics, even though no previous publications have pro- vided empirical validation data from multiple projects. Since these results could assist in designing better clone management methods, we will explore the implications of developing an
effective clone management tool. 

備考(Remarks)  

2022  ソフトウェア部品の利用関係に基づくクラスタリングの進化分析  未設定   
ソフトウェア工学の基礎 29  , 近代科学社(レクチャーノート/ソフトウェア学)  , 48  , pp. 97-102  , 2022/11   

概要(Abstract) 本研究では,利用部品の一致度に基づく階層的クラスター分析
によって得た部品群がバージョンの前後でどう変化したかを示す.部品間の利用関係が保守工程でどう維持され,変化していくかを評価する.本研究では,『利用部品の一致度に基づく分類手法で得た部品群』がバージョンの 進行によってどう変化するかを調査した.今後,他のシステムでの分析における既存の部品同士が新たに部品群化した事例に着目し,考察における仮説を検証したい. 

備考(Remarks)  

2021  ユーザーレビューにおける地域・アプリケーション 固有の苦情傾向に関する調査  共著   
ソフトウェア工学の基礎 28  , 近代科学社(レクチャーノート/ソフトウェア学)  , 47  , pp. 91-96  , 2021/11   

概要(Abstract) 本研究では英国向けの無料アプリケーション(以下,アプリ)におけるレビュー内の苦情を分類し,日本,北米向けアプリにおける苦情の分類結果と比較する.さらに,日・米・英三地域で展開しているアプリについても同様に,各評価帯での苦情の中身を分類し,アプリ固有,地域固有の苦情傾向や,共通の苦情傾向を調査した.レビューにおける苦情を保守活動や,他地域への展開にどう活用できるかを考察する. 

備考(Remarks) ISBN978-4-7649-6028-2  

2020  ユーザーレビューの苦情内容の傾向に関する 評価帯における違いや地域差の調査  共著   
ソフトウェア工学の基礎XXVII  , 近代科学社(レクチャーノート/ソフトウェア学)  , 46  , pp. 87-96  , 2020/11   

概要(Abstract) スマートフォンアプリケーションの開発者にとって,ユーザーが投稿するレビューは重要なフィードバックとみなすことができる.Khalid らは北米市場向けのアプリケーションを対象に,低評価 (星 1~2) のレビューを分析し,どのような苦情が多く報告されるかを調査した.本研究では最初に,日本向けのアプリケーションを対象として評価帯ごとにどのような苦情が多く報告されるかを追実験した.調査した結果,普遍的に成り立つであろう共通点や地域の傾向を表す相違点が確認できたとともに,高評価のレビューでも要望がある一定以上存在することが確認できた.Khalid らの研究では中・高評価 (星 3~5) のレビューは考慮されていなかったので,追加実験として,北米市場向けのアプリケーションを対象に各評価帯のレビューの分析を行った.結果として,中・高評価帯にはある一定以上の要望が存在し,それらの多くは「機能要求」に関するものであった.レビューをフィードバックに用いる際には,目的に応じて調査すべき評価帯を変える価値があると考えられる.
 

備考(Remarks) FOSE2020にて発表 

2018  Use-Relationship Based Classification for Software Components  共著   
Proceedings of the Quantitative Approaches to Software Quality  , pp 59--66  , 2018/12/01   

概要(Abstract) In recent years, the maintenance period of the software system is increasing. The size of the software system has grown, and the number of classes and the relationship between classes are also increasingly complicated. If we can categorize software components based on information such as functions and roles, we believe that these classified components can be understood together, and are useful for understanding the system. In this paper, we proposed a classification method for software components based on similarity of use relation. For each component, a set of components used by the component was analyzed. And then, for each pair of components, the distance was calculated from the coincidence of the two sets. A distance matrix was created and components were classified by hierarchical
cluster analysis. We applied this method to jlGui consisting of 70 components. 8 clusters of 36 components were extracted from the 70 components. Characteristics of the extracted clusters were evaluated, and the content of each cluster was introduced as a case study. In 7 clusters out of the 8 clusters, components of the cluster were strongly similar with each other from the viewpoint of their functions. Through these experiments, we confirmed that
our method is effective for classifying components of the target software, and is useful for understanding them. 

備考(Remarks)  

2017  Changes of Evaluation Values on Component Rank Model by Taking Code Clones into Consideration  共著   
IEICE Transactions on Information and Systems  , A Publication of the Information and Systems Society  , Vol.E101-D, No.1  , pp.130-141  , 2018/01/05   

概要(Abstract) There are many software systems that have been used and maintained for a long time. By undergoing such a maintenance process, similar code fragments were intentionally left in the source code of such software, and knowing how to manage a software system that contains a lot of similar code fragments becomes a major concern. In this study, we proposed a method to pick up components that were commonly used in similar code fragments from a target software system. This method was realized by using the component rank model and by checking the differences of evaluation values for each component before and after merging components that had similar code fragments. In many cases, components whose evaluation value had decreased would be used by both the components that were merged, so we considered that these components were commonly used in similar code fragments. Based on the proposed approach, we implemented a system to calculate differences of evaluation values for each component, and conducted two evaluation experiments to confirm our method was useful for detecting the assumed components. Based on the experimental results, we also discuss some improvement methods and provide the results from applications of these methods. 

備考(Remarks) 2017年4月初稿投稿,7月条件付き採録,10月採録
 

2015  Extensions of Component Rank Model by Taking into Account for Clone Relations  共著   
Proceedings of the 10th International Workshop on Software Clones   , pp. 30-36  , 2016/03/15   

概要(Abstract) The size of software increases in recent years, and
the number of classes and relationships between classes are
also increasingly complicated. We have a large interest about
the way to classify a great deal of components effectively. Our
research group proposed a component rank model in the past,
and the model calculates an evaluation value of each component
by using component graph that represents use-relations between
components. In this paper, we suggest a method to reflect code
clone’s relation on the component rank model. In the extended
model, code clone’s relations are reflected on the component
graph by merging components that have similar code fragments.
When we focus simply on how the evaluation value of each
component has changed, component whose evaluation value falls
would be mainly a component used by both of the merged
components. In the experiment, we applied our method to several
open source projects, and confirmed that the change of evaluation
value of each component was within the scope of the assumption.
And we also searched case examples, and confirmed how much
assumed cases existed in the actual software, and a percentage
of the reduction of the evaluation value was useful for detecting
components related with code clone. Through these experiments,
we confirmed that our method is effective to detect components
that existing similar code fragments are using. 

備考(Remarks) SANER の論文集の一部として出版 

2014  Further Considerations about Relationship between Framework and Application Components  共著   
International Journal of Computer Science and Application   , Science and Engineering Publishing Company  , Vol. 4, Issue. 1  , pp.18-31  , 2015/04   

概要(Abstract) A large number of software applications are used over ten years, and are subjected to continuous maintenance activities to improve their operability, functionality, stability and so on. Through such maintenance activities, the internal structure of the software system becomes more complex. We believe that studying how the complexity has evolved is important for understanding the actual maintenance activities. In a previous experiment, we analyzed how code clones and use relations between application and framework components change through a longitudinal study of open source software. However, we performed our analysis over only one set of framework and application, so we would like to discuss how our findings generalize. In this paper, we replicate the previous experiment, targeting several open source projects. By comparing with the result of the past experiment, we will discuss about generalities of our findings. Moreover, we study the differences between the trends for both incoming and outgoing edges, how use relations increase and decrease through long term development, and how code clones are introduced in the software in the early period of the development. These analyses have a certain level of commonality for understanding actual developers' activities. 

備考(Remarks) 2015/03/02 採録決定
 

2012  Evolution of Component Relationships between Framework annd Application  共著   
Journal of Computers   , Computer Society of The Republic of China  , Vol. 23, No2  , pp.61-79  , 2012/07   

概要(Abstract) Most of today’s software applications are built on top of libraries or frameworks. The increasing number of cloud-based services gives rise to 3rd party frameworks that offer such services from a cloud platform. Just as applications evolve, frameworks also evolve. Such evolution is even more pronounced in frameworks that underlie cloud-based services. Upgrading is straightforward when the framework changes preserve the API and behavior of the offered services. However, major changes are introduced with the new framework release, which have a significant impact on the application. A framework user has to consider how to adjust to the new version. In this paper, we study the evolution of an application and its underlying framework through a multi-version analysis. For the analysis, we investigate two kinds of component relationships: one is component rank, the other is clone relation. Component rank measurement is a way of quantifying the importance of a component by its usage. As framework components are used by applications, the rankings of the components are changed. We confirm that upgrading to the new framework version has an impact to a component rank of the entire system. On the other hand, existence of code clone shows how application developers use existing framework code as a reference, and removal of clones shows which reuse activities were recognized as problematic. Analysis of results from these relationships provides useful insights into developers’ activities. 

備考(Remarks) 2012/5 採録決定
 

詳細表示
その他研究業績
年度
Year
題名等
Titles
カテゴリ
Category
細目
Authorship
掲載雑誌名等 Publishing Magazine,発行所 Publisher,巻/号 Vol./no.,頁数 Page nos.,発行年月(日) Date
2021  暗号通貨ウォレットを構成するソフトウェアの開発活動と関係性の観察  ポスター発表  共著 
ソフトウェア工学の基礎 28  , 近代科学社(レクチャーノート/ソフトウェア学)  , 47  , pp. 175-176  , 2021/11   

概要(Abstract) 本研究では,暗号通貨ウォレットを構成するソフトウェアの開発活動と暗号通貨の時価総額との関連を観察した.その結果,開発活動の活発さと時価総額の関連を用いてプロジェクトを分類できた. 

備考(Remarks) FOSE2021ポスターセッションにて安藤君が発表.
査読あり. 

2019  日本のスマートフォンアプリケーションにおける ユーザーレビューの苦情内容の分析  調査報告  共著 
情報処理学会第82 回全国大会論文集  , 情報処理学会  , Vol1  , 141-142  , 2020/02   

概要(Abstract) スマートフォンアプリ(以下,アプリ)の開発者にとって,ユーザーが投稿するレビューは重要なフィードバックとみなすことができる.Khalid らは北米向けのアプリを対象に,低評価(星1~2)のレビューを分析し,どのような苦情が多く報告されるか,低評価をつけられやすい苦情は何かを調査した.本研究では,条件をできる限りそろえた上で,日本向けのアプリを対象に同様の調査を行い比較する.世界的な共通点と,日本市場の固有の特徴を取得できると考えた.高評価のレビューにおいても提言が存在すると考えられるので,その分布についても調査を行い,日本市場における苦情レビューの特徴について考察を行う. 

備考(Remarks) 2020/03/05 全国大会現地開催中止のため発表扱い 

2016  部品間の関係を利用したソフトウェア部品の分類手法の提案  調査報告  単著 
情報処理学会研究報告  , 情報処理学会  , Vol.2016-se-194, No.8  , 1-8  , 2016/11   

概要(Abstract) 求められる機能の増大や保守期間の長期化に伴い,近年のソフトウェアは大規模なものとなっている.
ソフトウェアを構成する部品それぞれが実現する機能の類似性や,部品が担っている役割の類似性などを利用することで,
大規模化したソフトウェアを効果的に把握することができるようになると考える.
本研究では,あるソフトウェアを構成する部品群から利用関係やコードクローン関係を抽出し,
それらの関係の類似性から機能や役割が類似している部品を抽出する手法を提案する.
分類の方法として,部品グラフ上での各部品の入出力辺の数を用いて値の似ている部品ごとに分類する方法,
利用先(利用元)の部品がどれだけ一致しているかから各部品間の距離を求めて分類する方法の
二通りの方法を提案し,評価実験からそれぞれの方法の特徴を考察する. 

備考(Remarks)  

2015  スプリングアルゴリズムを用いたソフトウェア部品グラフの視覚化手法について  調査報告  共著 
第78回情報処理学会全国大会講演論文集  , 情報処理学会  , 1  , 231-232  , 2016/03/10   

概要(Abstract) 大規模化したソフトウェアを理解するためには,ソフトウェアの構成を効果的に理解できるような仕組みが必要である。本研究では,ソフトウェアを実際に構成する要素であるソフトウェア部品間の関係を効率的に視覚的に表示することで,ソフトウェアの全体像を理解することを支援するツールを紹介する. 

備考(Remarks)  

2013  バージョン間の部品間の関係の変化を掲示するツールの試作  総合大会  単著 
電子情報通信学会2014年総合大会講演論文集  , 電子情報通信学会  , 1(pp.23)  , 2014/03   

概要(Abstract) 長年にわたって保守活動が行われたソフトウェアシステムを題材に,ソフトウェア内部の関係がどのように変化していったかを示すことを目的としたツールを提案する.ソフトウェアの複数のバージョンのソースコードを入力として,部品間の関係の変化の差分を取得し,バージョン間の変化を示す.このようなツールが存在することで,開発の参加者全体が広く進捗情報を共有することができ,ソフトウェアの全体像の変化を把握しやすくなることが期待される. 

備考(Remarks)  

2009  第31回ソフトウェア工学国際会議(ICSE2009)参加報告  活動報告  共著 
情報処理学会研究報告  , Vol.2009-SE-165, No.10  , 1-8  , 2009/07   

概要(Abstract) 本発表では,2009年5月に行われたソフトウェア工学の国際会議であるICSE2009について,その概要を紹介した. 

備考(Remarks) 共著者:青山 幹雄,井上克郎 

2007  名前の重複を考慮したJava ソフトウェア部品間の利用関係解析手法の提案  研究会  共著 
電子情報通信学会技術研究報告  , 電子情報通信学会  , 6  , 2008/3   

概要(Abstract) 近年のオープンソースソフトウェア開発の活発化により,ソフトウェア部品検索システム(ソースコード検索システム)を用いたソースコード単位のソフトウェア再利用が頻繁に行われてきている.再利用の為には部品の理解が必要であり,部品を解析して得られる部品間の利用関係は再利用を効率化する為の重要な情報である.しかし,既存のソフトウェア部品検索システムでは,部品間の利用関係を得られない,もしくは部品名の重複を考慮していないために部分的に得ることができるのみである.本稿では,名前の重複を考慮した,部品間の利用関係の解析手法を提案する.提案手法では,検索システムの利用者が適切に利用関係を扱えるように,部品間の利用関係として属性付きの関連を解析する.また,提案手法に基づき,オープンソースソフトウェアのリポジトリの部品を利用する部品検索システムを提案する.さらに,試作システムを用いて適用実験を行い,提案手法の有効性を検証する. 

備考(Remarks) 共著者:市井 誠, 横森 励士, 井上 克郎 

2006  第13回アジア太平洋ソフトウェア工学国際会議(APSEC2006)参加報告  研究会  共著 
情報処理学会研究報告  , Vol.2007, No.33  , 8p  , 2007/03   

概要(Abstract) 2006年12月にインドのバンガロールにて開催された第13回ソフトウェア工学の国際会議(13th Asia Pacific Software Engineering Conference:APSEC2006)に参加したので,取り上げられた主な内容を紹介する。 

備考(Remarks) 共著:井垣 宏,川口 真司,花川 典子 

2006  組込みソフトウェアビジネス実態アンケート調査  活動報告  単著 
ユビキタス市場と組込みソフトウェアに関する調査研究  , 社団法人 情報サービス産業協会  , 39p  , 2006/04   

概要(Abstract) 社団法人情報サービス産業協会会員における,組込みソフトビジネスの事業実態および参入意欲を明らかにすることを目的としてアンケートを行った.回答企業の37%が現在組込みビジネスに参入しており,ほとんどの企業が今後も取組を続けていくとの回答であった.その一方で,取組予定のない企業においては,単純に営業チャネルの問題ではなく,技術的な要素をふくめた開発体制に不安があることがアンケートから浮き彫りとなった. 

備考(Remarks)  

2005  コンポーネントランクを用いたソフトウェアのクラス設計に関する分析手法の提案  研究会  共著 
電子情報通信学会技術研究報告  , SS2005-37, Vol.  , 6p  , 2005/08   

概要(Abstract) コンポーネントランク法は,利用関係を基にソフトウェア部品の重要度の評価を行う手法であり,ソフトウェアリポジトリ中の重要な部品や再利用性の高い部品を知る事が出来る.本研究では,コンポーネントランク法を用いて,ソフトウェアのクラス設計に関する分析を行う手法を提案する. 

備考(Remarks) 共著者:市井 誠, 横森 励士, 松下 誠, 井上 克郎 

詳細表示
研究助成
年度
Year
助成名称または科学研究費補助金研究種目名
Name of grant or research classification for scientific research funding
研究題目
Research Title
役割(代表/非代表)
Role
助成団体
Granting body
助成金額
Grant amount
2023  南山大学パッヘ研究奨励金I-A-2  利用関係に基づくソフトウェア部品クラスタリング手法の 有効性評価のまとめ 
代表    100000 

研究内容(Research Content) ソフトウェアを構成する部品の数は,年を経るごとに増大していき,管理が難しくなっていく。ソフトウェア部品の中には,デザインパターンがソフトウェア内のいろいろな場所で採用される場合のように異なる場所で使われるがその役割などに類似性を見出すことができる部品の集合や,継承を用いてある概念に基づいて作られた部品のように機能群として扱うことができる部品の集合などが存在する。それらはひとまとめにして理解すると効率的に理解できるような部品であると考えられる。
我々の研究グループでは,ソフトウェア内の各部品の利用関係を抽出し,それぞれの部品の利用部品の一致状況から部品間の類似度を求め,そこから距離行列を作成し,階層的クラスター分析を行うことで,樹形図所のまとまりを部品群をみなすという手法に基づいたソフトウェア部品の分類手法を提案している。
今年度の研究成果として,ソフトウェア内の部品の利用先の一致度に基づいて,階層的クラスタリングを行った場合,どのような部品群が得られるかや,得られる部品群間に類似性がみられるかどうかなどを調査した結果をまとめ,査読付き国内会議に投稿したところ,無事に採録され,2023年11月に開催された国内会議において発表した。
 

備考(Remarks)  

2022  南山大学パッヘ研究奨励金I-A-2  利用関係を用いたソフトウェア部品分類手法の活用方法についての調査研究 
代表    279000 

研究内容(Research Content) フトウェアを構成する部品の数は,年を経るごとに増大していき,管理が難しくなっていく。ソフトウェア部品の中には,デザインパターンをソフトウェア内のいろいろな場所で採用することでソフトウェアの中で担う役割が似ている部品,継承を用いてある概念に基づいて作られた部品,特定の対象を扱うために機能群として扱うことができるような部品,のように,類似性を見出すことができ,ひとまとめにして理解すると効率的に理解できるような部品というものが多く存在している。
我々の研究グループでは,ソフトウェア内の各部品の利用関係を抽出し,それぞれの部品の利用部品の一致状況から部品間の類似度を求め,そこから距離行列を作成し,階層的クラスター分析を行うといった,ソフトウェア部品の分類手法を提案している。階層的クラスター分析によってまとめられた部品どうしは,ほとんどの事例で前述のような共通点のうちのいずれかを持ち,提案している手法が一つのソフトウェア内の部品を分類するのに役立つと考えている。この,『ひとまとめにして理解できるような,機能的に共通点を持った部品群を抽出する』ということが,本研究の目的である。
本年度は,これらの提案手法をソフトウェアの各バージョンに対して適用した結果,得られる部品群がどのように変化していたかをまとめ,その結果をどのように活用できそうかを考察した論文を作成し,査読付きの国内会議に投稿することを計画している。その参加費用を本奨励金からの支出することを検討している。
 

備考(Remarks)  

2021  南山大学パッヘ研究奨励金I-A-2  ソフトウェア開発の保守工程における支援手法に関する研究 
    246,000. 

研究内容(Research Content) 近年活用されているソフトウェアの中には,保守されている期間が30年以上となるものは珍しくなく,長期間にわたって保守がなされているものがとても多い。そのようなソフトウェアは,長期の保守の間に様々な改変を受けており,そのどれもが必要な改変である。保守活動を支援するための手法は,ソフトウェアを長期間にわたって維持するために欠かすことできない。
本研究では,支援手法につなげることを目的とて,2つのアプローチで分析を行っており,その評価結果を論文としてまとめることを目指している。昨年度までの成果を踏まえながら,それぞれについて今年度の活動方針をまとめる。
 

備考(Remarks)  

2020  南山大学パッヘ研究奨励金I-A-2  ソフトウェア開発における成果物を保守活動に利用するための分析手法について 
代表     

研究内容(Research Content) 近年活用されているソフトウェアの多くは,1990年代 や2000年代に開発されたものも多く,長期間にわたって保守が行われているものがとても多い。10 ~20年以上にわたって維持されているソフトウェアは,その期間の間に様々な改変を受けており,そのどれもが必要な改変である。ソフトウェアを長期間にわたって維持するための手法を考慮する必要がある。本研究では,2つの分析手法における評価結果をまとめて研究発表を行うことを目指している。 

備考(Remarks)  

2019  南山大学パッヘ研究奨励金I-A-2  ソフトウェア保守を支援するための開発成果物の分析手法について 
    \100,000. 

研究内容(Research Content) 近年活用されているソフトウェアの多くは,長期間にわたって保守活動されているものがほとんどで,ソフトウェアが有効に利用されるためには,長期間にわたる保守活動をどう効果的に行っていくかについて検討する必要がある。
本研究では,保守活動における支援をどのように行っていくかについて,以下の2つのアプローチを提案し,それらの支援がどのように保守活動に役立つかについて考察した。
 

備考(Remarks)  

2018  南山大学パッヘ研究奨励金I-A-2  ソフトウェア部品の理解支援を目的とした情報の抽出手法に関する研究 
代表    100,000 

研究内容(Research Content) 利用先の一致度に基づいてソフトウェア部品を分類した場合について,それらの結果の傾向についてまとめた結果を,最終的に国際ワークショップに投稿し,発表を行った 

備考(Remarks)  

2017  南山大学パッヘ研究奨励金I-A-2  ソフトウェア部品の理解支援を目的とした情報の抽出手法に関する研究 
代表    100,000 

研究内容(Research Content) コンポーネントランクの計算において,コードクローンの関係を加味した場合に結果がどのように変化するかについて分析した結果について,それらをまとめ論文化を行った.さらに,今後の準備として,利用先の一致度に基づいてソフトウェア部品を分類した場合について,それらの結果の傾向についてまとめた. 

備考(Remarks)  

2016  南山大学パッヘ研究奨励金I-A-2  コードクローンの関係を用いたコンポーネントランク法の拡張手法の改良について 
    124,000 

研究内容(Research Content) 本研究では,コードクローンの関係をコンポーネントランクモデル上で考慮することで,コンポーネントランク法を拡張するための手法を提案した。具体手的な研究成果としては,昨年度までの成果として国際ワークショップにおいて発表した論文に対して, コンポーネントランク法の拡張手法の精度をさらに向上させるための改良手法について検討を行った.
本年度の研究成果として,そのようなアプローチに基づくソフトウェア理解支援手法の一つとして,ソフトウェア部品間の類似性を利用してソフトウェアの理解に役立てるための研究を行った.具体的には,各部品に対してコードクローン関係や利用関係を分析し,メトリクスを計測する.得られた値自体の類似性や,実際の利用先や利用元部品がどれだけ一致しているかに基づいてソフトウェア部品の分類を行い,分類結果を部品群として抽出し,それらの部品群の性質を調査した. 

備考(Remarks)  

2013  南山大学パッヘ研究奨励金I-A-2  フレームワークとアプリケーション間の関係の推移についての調査研究 
代表     

研究内容(Research Content) 長期間にわたって利用されるソフトウェアは,機能の改良や機能追加を通じて徐々にその規模を大きくしていく.それにつれて複雑していくソフトウェアの内部構造の成長過程を理解することは,開発者がどのようにソフトウェアを保守工程で扱っているかを理解するのに役立つと考えている.本研究では,そのようなソフトウェアが巨大化していく過程で,どのように利用関係やコードクローンに関する関係が変化していくかを分析することを目的として研究を行った。当初投稿予定であった国際会議は,2013年12月に行われるAPSEC(アジア太平洋ソフトウェア工学会議)であった。過去の研究をベースに1の内容が中心となるように追加して投稿したが,残念ながら不採録であった。そこで,2014年3月に開催された電子情報通信学会総合大会 にて2の内容を中心として利用関係やクローン関係の変化の推移を表示するツールについての論文を作成・投稿し,発表を行った。 

備考(Remarks)  

2011  南山大学パッヘ研究奨励金I-A-2  部品間の関係の変化に基づいたアスペクト指向言語を用いたリファクタリング手法の評価 
代表    169,000 

研究内容(Research Content) 本研究は,昨年度までに行っていた研究を引き続き行うものである.昨年度までに公刊した成果の中では,2つのアスペクト指向言語を用いたリファクタリングプロジェクトを題材に,リファクタリングの前後を通じて,各部品における利用関係の数やクローン関係の数がどのように変化したか,具体的にどう利用関係やクローン関係が変化したかを調査し,それらをまとめて研究成果として査読付き国際会議において発表した.
今年度は,それらを論文誌にて論文化することを目的に,他のアスペクト指向言語を用いたリファクタリングプロジェクトへの適用実験を行うとともに,新たな評価尺度による分析を行い,その結果を追加する.これらの追加された結果を用いて,自説の補強や新たに得られた知見を説明する内容を加え,論文誌に投稿を行う.
 

備考(Remarks)  

詳細表示
教育活動
年度
Year
タイトル
Title
内容等
Content
活動期間
Period of Activities
2016  国際科目群(ソフトウェア工学科) 

1-2回分を,それぞれの先生の研究テーマで講義を行う 

2016-2017, 2019-2022 
2015  アルゴリズムとデータ構造(旧:アルゴリズム論) 

講義資料をパワーポイントで作成 

2005-2008, 2010, 2017-2022 
2014  理工学概論 

LEGO を用いた演習回を担当
2020 からはprocessing を用いたプログラミング
 

2014-2022 
2013  プログラミング応用実習 

2013-2017 

2013-2019 
2011  ソフトウェア構築と保守 

大学院科目
ソフトウェアを保守するときに必要な事柄についての講義を行う. 

2011-2022 
2011  演習科目 

2011~ 演習I,II
2012~ 演習III,IVと卒業研究 

2011-2022 
2011  プログラミング応用 

2年生春学期
プログラミングに関する講義の後半
2年生春学期と4Q(2017)
プログラミングに関する講義
2021からは講義のみ
 

2011-2014, 2017-2019,2021-2022 
2011  プログラミング基礎 

1年生秋
プログラミング講義の前半
2020は実習部分のみ
2021からは講義のみ 

2011-2012, 2019-2022 
2011  ソフトウェア開発技術 

ソフトウェア開発技術の諸概念とその方法を理解するための科目で,
オブジェクト指向開発技術など講義し,演習を通じて習得させる。 

2011 
2011  ソフトウェア工学応用 

前半担当
後半は金山先生 

2011 
詳細表示
研究活動/社会的活動
年度
Year
活動名称
Name of activities
活動期間
Period of Activities
2005  新規市場調査委員会 委員長補佐  2005-2006  

活動内容等(Content of Activities) 社団法人情報サービス産業協会開催の
新規市場調査委員会における青山委員長の補佐
 

詳細表示
著書・学術論文に関する統計情報
年度
Academic Year
学術研究著書の件数
No. of Academic Books
学会誌・国際会議議事録等に掲載された学術論文の件数
No. of Academic Articles in Journals/Int'l Conference Papers
学内的な紀要等に掲載された学術論文の件数
No. of Academic Articles Pub'd in University Bulletins
学会受賞等の受賞件数
No. of Academic Awards Received
国際学会でのゲストスピーカーの件数
No. of Times as Guest Speaker at Int'l Academic Conferences
国際学会での研究発表の件数
No. of Presentations of Papers at Int'l Academic Conferences
国内学会でのゲストスピーカーの件数
No. of Times as Guest Speaker at National Academic Conf.
国内学会での研究発表の件数
No. of Papers Presented at National Academic Conf.
2023 
2022 
2021 
2020 
2019 
2018 
2017 
2016 
2015 
2014 
詳細表示

2024/03/21 更新