2025/07/08 更新

写真b

ヨコモリ レイシ
横森 励士
YOKOMORI Reishi
所属
理工学部 ソフトウェア工学科 教授
職名
教授
主な研究課題
長期研究:保守作業や再利用支援を目的とした
プログラム解析手法に関する研究

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

短期研究:コンポーネントランクを用いた開発プロセス評価手法の提案
専攻分野
ソフトウェア工学,プログラム解析,情報漏えい解析,ソフトウェア部品検索システム,ソフトウェア再利用,ソフトウェア部品評価手法,部品間の関係変化に基づく計測手法

学位

  • 博士(工学) ( 2003年9月   大阪大学 )

      詳細を見る

    博士

    学位論文名: ソフトウェア保守・再利用の支援を目的としたプログラム解析手法に関する研究

  • 修士(工学) ( 2001年3月   大阪大学 )

      詳細を見る

    修士

  • 学士(工学) ( 1999年3月   大阪大学 )

      詳細を見る

    学士

研究キーワード

  • 保守支援,プログラム解析,利用関係

研究分野

  • 情報通信 / ソフトウェア  / 保守, 支援システム

学歴

  • 大阪大学   基礎工学研究科   情報数理系専攻

    2001年4月 - 2003年9月

      詳細を見る

    国名: 日本国

    備考: 博士後期課程

  • 大阪大学   基礎工学研究科   情報数理系専攻

    1999年4月 - 2001年3月

      詳細を見る

    国名: 日本国

    備考: 博士前期課程

  • 大阪大学   基礎工学部   情報工学科

    - 1999年3月

所属学協会

  • IEEE

    2003年 - 現在

  • 電子情報通信学会

    2000年 - 現在

  • 情報処理学会

    1999年 - 現在

  • 情報処理学会ソフトウェア工学研究会運営委員(2014-4~2018-3)

  • 情報処理学会東海支部評議員(2005-5〜2009-5)

委員歴

  • 情報処理学会ソフトウェア工学研究会運営委員(2025-4)   運営委員  

    2025年4月 - 現在   

  • 情報処理学会ソフトウェア工学研究会運営委員(2014-4~2018-3)  

    2014年4月 - 2018年3月   

  • 情報処理学会東海支部評議員(2005-5〜2009-5)  

    2005年5月 - 2009年5月   

論文

  • ライブラリ部品の利用状況の一致度に基づくソフトウェア部品分類手法の評価 査読

    横森励士,野呂昌満,井上克郎

    ソフトウェア工学の基礎31   50   85 - 90   2024年12月

     詳細を見る

    担当区分:筆頭著者, 責任著者   記述言語:日本語   掲載種別:論文集(書籍)内論文  

    DOI: https://doi.org/10.11309/fose.31.0_85

  • An Empirical Analysis of Git Commit Logs for Potential Inconsistency in Code Clones 査読

    Reishi Yokomori, Katsuro Inoue

    1 - 12   2024年10月

     詳細を見る

    担当区分:筆頭著者   記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)  

    DOI: 10.1109/SCAM63643.2024.00011

  • 利用部品の一致度に基づいて得られたソフトウェア部品群における部品間の関連性の調査

    『ソフトウェア工学の基礎30』   49   33 - 42   2023年11月

     詳細を見る

    出版者・発行元:近代科学社(レクチャーノート/ソフトウェア学)  

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

  • An Empirical Analysis of Code Clone Authorship in Apache Projects

    2023 IEEE 17th International Workshop on Software Clones (IWSC)   8   2023年10月

     詳細を見る

    出版者・発行元:IEEECS  

    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.

  • ソフトウェア部品の利用関係に基づくクラスタリングの進化分析

    ソフトウェア工学の基礎 29   48   pp. 97 - 102   2022年11月

     詳細を見る

    出版者・発行元:近代科学社(レクチャーノート/ソフトウェア学)  

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

  • ユーザーレビューにおける地域・アプリケーション 固有の苦情傾向に関する調査

    ソフトウェア工学の基礎 28   47   pp. 91 - 96   2021年11月

     詳細を見る

    出版者・発行元:近代科学社(レクチャーノート/ソフトウェア学)  

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

  • ユーザーレビューの苦情内容の傾向に関する 評価帯における違いや地域差の調査

    ソフトウェア工学の基礎XXVII   46   pp. 87 - 96   2020年11月

     詳細を見る

    出版者・発行元:近代科学社(レクチャーノート/ソフトウェア学)  

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

  • Use-Relationship Based Classification for Software Components

    Proceedings of the Quantitative Approaches to Software Quality   pp 59 - 66   2018年12月

     詳細を見る

    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.

  • Changes of Evaluation Values on Component Rank Model by Taking Code Clones into Consideration

    IEICE Transactions on Information and Systems   Vol.E101-D, No.1   130 - 141   2018年1月

     詳細を見る

    出版者・発行元:A Publication of the Information and Systems Society  

    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.

  • 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年3月

     詳細を見る

    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.

  • Further Considerations about Relationship between Framework and Application Components

    International Journal of Computer Science and Application   Vol. 4, Issue. 1   18 - 31   2015年4月

     詳細を見る

    出版者・発行元:Science and Engineering Publishing Company  

    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.

  • Evolution of Component Relationships between Framework annd Application

    Journal of Computers   Vol. 23, No2   61 - 79   2012年7月

     詳細を見る

    出版者・発行元:Computer Society of The Republic of China  

    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.

  • Measuring the Effects of Aspect-Oriented Refactoring on Component Relationships: Two Case Studies

    in proceedings of the 10th Annual Aspected-Oriented Software Development Conference (AOSD.11)   pp215 - 226   2011年3月

     詳細を見る

    Aspect-oriented refactoring is a promising technique for improving modularity and reducing complexity of existing software systems through encapsulating crosscutting concerns. As complexity of a system is often linked to the degree to which its components (e.g., classes and aspects) are connected, we investigate in this paper the impact of such refactoring activities on component relationships. We analyze two aspect-refactoring projects to determine circumstances when such activities are effective at reducing component relationships and when they are not. We measure two kinds of relationships between components, use and clone relations.
    We compare how these metrics changed between the
    original and the refactored system. Our findings indicate that aspect-oriented refactoring is successful in improving the modularity and complexity of the base code. However, we obtain mixed results when aspects are accounted for. Based on these results, we also discuss constraints to the technology as well as other design considerations that may limit the effectiveness of aspect-oriented refactoring on actual
    systems.

  • Assessing the Impact of Framework Changes Using Component Ranking

    Proceedings of 25th IEEE International Conference on Software Maintenance   189 - 198   2009年9月

     詳細を見る

    In this paper, we study the evolution of an application and its underlying framework to understand the information we can get through a multi-version use relation analysis. We use component rank changes to measure this impact. We use component ranking to identify the core components in each framework version.
    We also confirm that upgrading to the new framework version has an impact to a component rank
    of the entire system and the framework, and this impact not only involves components which use the framework directly, but also other indirectly-related components. Finally, we also confirm that there is a difference in the growth of use relations between
    application and framework.

  • Software Component Recommendation Using Collaborative Filtering

    Proceedings of 2009 ICSE Workshop on Search-Driven Development Users, Infrastructure, Tools and Evaluation   17 - 20   2009年5月

     詳細を見る

    Software component retrieval systems are widely used to retrieve reusable software components. This paper proposes recommendation system integrated into software component retrieval system based on collaborative filtering. Our system uses browsing history to recommend relevant components to users. We also conducted a case study using programming tasks and found that our system enables users to efficiently retrieve reusable components.

  • ソフトウェア開発を支援するソフトウェア部品検索システム

    ソフトウェアエンジニアリング最前線2008 /ソフトウェアエンジニアリングシンポジウム2008   25 - 32   2008年8月

     詳細を見る

    出版者・発行元:近代科学社発行  

    ソフトウェアの大まかな処理の流れや全体像を理解する,新たなソフトウェアを構築する際に既存の部品を再利用するなど,過去に作られたソフトウェア(の生成物)から情報を取り出し,理解支援や省力化に活用する機会は非常に多い。ソフトウェアに対して検索を行い,必要な情報を提示するという研究は20〜30 年前から常に挑戦的な研究分野として扱われてきており,今もその状況は変わらない。現在までに,非常に多くのソフトウェアライブラリが構築され,それを利用した検索手法が提案されてきた。本論文では,Java を対象としたソフトウェア部品検索システムSPARS-J を中心に,ソフトウェア部品検索に関する手法を紹介すると共に,今後の部品検索システムの発展がどのような方向性となるであろうかを考察する。

  • 開発履歴中のソースコードを対象とした更新の重要度を評価する手法の提案

    電子情報通信学会論文誌D-I   VolJ91-D-I, No.4   945 - 955   2008年4月

     詳細を見る

    出版者・発行元:電子情報通信学会  

    開発対象となるソフトウェアが大規模化するにつれて,進捗を把握し管理を適切に行うことが,極めて重要な要素となった.開発途中の生成物からLOCなどのメトリクスを抽出し,管理に利用している場面は多くみられる.しかし,開発中のソフトウェアに重大な影響を与える更新を抽出するには,LOCなどだけでは不十分で,更新履歴から変更内容を確認し,それによって生じる変化を理解する必要がある.
    本論文では,ソフトウェア部品間の利用関係の変化の度合いを定量化することで,利用関係の変化という観点で更新履歴の中から重大な影響を与えた更新を抽出する手法を提案する.定量化においては,部品間の利用関係に基づいた順位であるコンポーネントランクを用い,更新前後間での各部品の順位の変動を評価基準とする.提案手法に基づきシステムを開発し実際のオープンソースプロジェクトに適用したところ,大規模な機能追加の他に,コア部品に対する機能追加や,コードの作り直し,リファクタリングなどのメンテナンス作業が抽出できた.これらの更新は,LOCの変化量が少ないものも多く,提案手法はこれらの更新作業の抽出に有益であると考えられる.

  • Towards Effective Reference Analysis for Software Component Retrieval System

    in proceedings of Workshop on Accountability and Traceability in Global Software Engineering(ATGSE2007)   51 - 52   2007年12月

     詳細を見る

    Software reuse is broadly recognized as a way to accomplish efficient software development. Especially,
    lightweight software reuse using software component retrieval systems becomes popular; however, such reuse often causes problems against software traceability since software developers are able to reuse software components without knowing where the components are from. Developers should spend time and effort to investigate the origin of a component to reuse including the ones on which it depends requires additional effort. In this paper, we discuss
    about problems of current retrieval systems and effective reference analysis between components which aims to help developers reuse components considering the traceability.

  • Evaluation of Source Code Updates in Software Development Based on Component Rank

    in proceedings of 13th Asia Pacific Software Engineering Conference (APSEC06),   8   2006年12月

     詳細を見る

    Essential activities for the achievement of trouble-free software development are monitoring a software product and management of a software project. Monitoring changes that have major impact, however, is usually a very hard to complete because every engineer usually could not know entire source code in detail. In this paper, we propose our metric for source code updates based on component rank. Software components and their use-relation alter as development goes. The component rank also changes as a response to the changes of use-relation among components. We use the degree representing change of component rank as a metric of impact for a source code update in a development. We applied the metric to open source projects, and demonstrated that the metric is useful to know refactoring activities or important updates. We also discuss how the metric can contribute for process management.

  • ファイルの同時変更パターンと変更差分の分析による論理的結合関係の自動抽出

    ソフトウェアシンポジウム2005論文集   9p   2005年6月

     詳細を見る

    長年にわたって機能の追加・変更,フォールト修正が行われてきた大規模なレガシーソフトウェアでは,あるコード片を変更する時に同時に別のコード片が変更されなければいけないといった論理的結合関係が多数存在する.開発者がこのような結合関係に気づかずにコードを変更すると,変更漏れやフォールト混入の危険性が高くなる.この問題を解決するために,ファイルの変更履歴から頻繁に同時変更されるファイルの組合せを分析し,抽出されるファイル間の結合関係をプログラムコード変更時の変更すべきファイルの推薦などに活用する研究が行われている.本研究では,抽出された結合関係の精度を向上させるため,ファイルの同時更新数のみでなく,同時更新時のファイルの変更内容(差分)を分析し,同時変更されるファイル間の結合関係の有無を判定する手法を提案する.

  • Ranking Significance of Software Components Based on Use Relations

    Transactions on Software Engineering   Vol. 31, No. 3   p.213 - 225(13p)   2005年4月

     詳細を見る

    Collections of already developed programs are important resources for efficient development of reliable software systems. In this paper, we propose a novel graph-representation model of a software component library (repository), called component rank model. This is based on analyzing actual usage relations of the components and propagating the significance through the usage relations. Using the component rank model, we have developed a Java class retrieval system named SPARS-J and applied SPARS-J to various collections of Java files. The result shows that SPARS-J gives a higher rank to components that are used more frequently. As a result, software engineers looking for a component have a better chance of finding it quickly. SPARS-J has been used by two companies, and has produced promising results.

  • ソフトウェア開発プロジェクトのリアルタイム管理を目的とした支援システム

    電子情報通信学会論文誌D-I   VolJ88-DI, No.2   pp228 - 239   2005年2月

     詳細を見る

    本研究は,信頼性や生産性に課題の多いソフトウェア開発の分野において,科学的根拠に基づく開発手法である実証的ソフトウェア工学(Empirical Software Engineering) の確立を目指すEASE (Empirical Approach to Software Engineering) プロジェクトの一環として行われたものである.本論文では,より実践的なプロセス改善の支援を目的として構築したシステム,EPM (Empirical Project Monitor) について述べる.EPM は,現在広く普及している開発支援フリーウェア(CVS, Mailman, GNATS 等) と連携することによって開発履歴データをリアルタイムに収集し,定量的データ分析を可能にするシステムである.プロジェクトの問題点を迅速に発見し的確なプロジェクト管理が行いやすくなるため,効果的なプロセス改善活動の実施を期待することができる.システムの有用性を検証するために,試作したEPM を現行のEPM 開発プロジェクトに適用した結果,開発者に大きな作業負荷を与えることなく当該プロジェクトの状況を分析することができた.

  • Javaソフトウェア部品検索システムSPARS-J

    電子情報通信学会論文誌D-I   Vol.J87DI、No12   1060 - 1068,9p   2004年12月

     詳細を見る

    大規模で複雑な大量のソフトウェアが開発され,様々な場所において様々な目的で利用されている.これらのソフトウェア資産の中には新たな開発作業において活用することができるアイデアや,少しの修正を加えるだけで開発に用いることが可能なソフトウェア部品が存在していると考えられる.現在は自然言語文書用に開発された全文検索システムを用いて開発者が望む情報や部品を適宜検索するという方法が主であるが,ソフトウェアは自然言語文書とは違い,依存や類似といった部品間の関係の利用なしでは有効な検索は難しい.
    本論文ではJava ソースコード集合を対象としたソフトウェア部品検索システムSPARS-J の構築を行い,その有効性を評価した.SPARS-J は,依存や類似といったソフトウェア部品特有の特性を考慮しながら,大規模なライブラリの構築を自動的に行う.キーワードとトークン種類を検索キーとした全文検索を行い,部品および関連する詳細情報を併せて提供する.有効性評価では,既存の全文検索システムとの比較や,企業における実際のソフトウェア開発現場への適用によりシステムの有効性を確認した.

  • Application of Collaborative Filtering for Software Component Retrieval System

    International Workshop on Computer Supported Knowledge Collaboration, Shanghai   3p   2004年7月

     詳細を見る

    A search engine for software component helps developers
    to reuse software component and to understand its behavior. We are studying about a software component
    search engine and constructs SPARS-J for Java source
    codes. SPARS-J provides useful information obtained by
    static analysis of source codes in a repository. However, we also consider that SPARS-J provides more useful information by using the analysis result of its retrieval history. In this paper, we suggest a recommendation method by using collaborative ltering technique, and evaluated the effectiveness of the system implemented of SPARS-J.

  • Empirical Project Monitor: A Tool for Mining Multiple Project Data

    In Proceedings of the International Workshop on Mining Software Repositories (MSR2004)   pp.42 - 46(5p)   2004年5月

     詳細を見る

    Project management for effective software process improvement must be achieved based on quantitative data. However, because data collection for measurement requires high costs and collaboration with developers, it is difficult to collect coherent, quantitative data continuously and to utilize the data for practicing software process improvement.
    In this paper, we describe Empirical Project Monitor
    (EPM) which automatically collects and measures data
    from three kinds of repositories in widely used software development support systems such as configuration management systems, mailing list managers and issue tracking systems. Providing integrated measurement results graphically, EPM helps developers/managers keep projects under control in real time.

  • Empirical Project Monitor: Automatic Data Collection and Analysis toward Software Process Improvement

    日本ソフトウェア科学会研究会資料シリーズ、No.28、第1回ディペンダブルソフトウェアワークショップ(DSW2   141 - 150(10p)   2004年2月

     詳細を見る

    In recent years, improvement of software process
    is increasingly gaining attention. However, its practice is very difficult because coherent data collection and utilization of the collected data require considerable experience with software process improvement.
    In this paper, we describe our empirical approach to software engineering and introduce Empirical Project Monitor (EPM). Collecting data on development activities from common software development support tools such as configuration management systems and mailing list managers, EPM analyzes the stored data automatically and provides graphical results. EPM facilitates coherent data collection and data analysis which are difficult tasks in practice.

  • エイリアス関係を考慮したJavaスライシングツール

    電子情報通信学会論文誌D-I   848 - 851(4p)   2003年11月

     詳細を見る

    出版者・発行元:Vol.J86DI、No.11  

    複数の変数が同一空間を指すエイリアス関係の解析は,オブジェクト指向言語におけるスライス計算には必須である.本論文では,エイリアス関係を考慮したJava 向けの静的スライシングツールの実現について述べる.

  • 動的情報を利用したソフトウェア部品評価手法

    電子情報通信学会論文誌D-I   Vol.J86DI、No.1   pp.783 - 785(3p)   2003年10月

     詳細を見る

    本論文では,動的な情報を利用したソフトウェア部品評価手法を提案する.本手法を用いることで,ソフトウェア実行毎に利用された部品の重要度を計算することができ,特定機能を実装している部品の理解・再利用を支援することが可能となる.

  • 利用実績に基づくソフトウェア部品重要度評価システム

    電子情報通信学会論文誌D-I   Vol.J86-DI,No.9   671 - 681(11p)   2003年9月

     詳細を見る

    近年,大量の大規模ソフトウェアが開発されており,開発現場ではソフトウェアの再利用がよく用いられているが,現在のプログラム開発環境では個々の開発者の知識に頼っているのが現状で,知識の共有が満足になされていない.本論文では,ソフトウェア部品の検索において部品の選別に利用するための手法として,ソフトウェア部品の利用実績に基づいて各部品の重要度を測定し,順位付けする手法を提案する.この手法では,実際に開発された複数のシステム内に存在する部品に対して,利用関係に基づいてグラフおよび行列を構築し,繰り返し計算を行う事で,重要度を測定する.また,提案手法に基づき,Java で開発されたソフトウェア群から各部品の重要度を計測するシステムを開発し,適用実験を行う.実験結果では,実際に利用される回数の多いクラスや重要な機能を持つクラスが上位を占め,本手法で測定した部品の重要度が利用実績に基づいた定量的な指標であることを確認できた.この手法を部品検索において利用する事で,利用実績のある部品を効果的に取得できる.

  • Design and Implementation of Bytecode-based Java Slicing System

    In Proceedings of the Third IEEE International Workshop on Source Code Analysis and Manipulation(SCA   108 - 117(10p)   2003年9月

     詳細を見る

    Program slice is a set of statements that affect the value of variable v in a statement s. In order to calculate a program slice, we must know the dependence relations between statements in the program. Program slicing techniques are roughly divided into two categories, static slicing and dynamic slicing, and we have proposed DC slicing technique which uses both static and dynamic information. In this paper, we propose a method of constructing a DC slicing system for Java programs. Java programs have many elements which are dynamically determined at the time of execution, so the DC slicing technique is effective in the analysis of Java programs. To construct the system,
    we have extended Java Virtual Machine for extraction of dynamic information. We have applied the system to several sample program to evaluate our approach.

  • ソフトウェア保守・再利用の支援を目的としたプログラム解析手法に関する研究

    大阪大学大学院基礎工学研究科情報数理系専攻博士論文   92p   2003年8月

     詳細を見る

    本論文では,情報漏洩解析手法,影響波及解析手法,ソフトウェア部品の再利用性評価手法の3 つのプログラム解析技術に着目し,保守や再利用における支援を目的とした以下
    の解析手法を提案および実現する.
    1. プログラムスライシングを利用した情報漏洩解析手法
    2. オブジェクト指向言語を対象とした影響波及解析手法
    3. 利用関係を用いたソフトウェア部品評価手法
    4. 動的情報を用いたソフトウェア部品評価手法

  • Component Rank: Relative Significance Rank for Software Component Search

    In Proceedings of 25th International Conference on Software Engineering (ICSE2003)   14 - 24(11p)   2003年5月

     詳細を見る

    Collections of already developed programs are important resources for efcient development of reliable software systems. In this paper, we propose a novel method of ranking software components, called Component Rank, based on analyzing actual use relations among the components and propagating the signicance through the use relations. We have developed a component-rank computation system, and applied it to various Java programs. The result is promising such that non-specic and generic components are ranked high. Using the Component Rank system as a core part, we are currently developing Software Product Archiving, analyzing, and Retrieving System named SPARS.

  • Java Program Analysis Projects in Osaka University: Aspect-Based Slicing System ADAS and Ranked-Component Search System SPARS-J

    In Proceedings of 25th International Conference on Software Engineering (ICSE2003)   828 - 829(2p)   2003年5月

     詳細を見る

    In our research demonstration, we show two development
    support systems for Java programs. One is an Aspectoriented Dynamic Analysis and Slice calculation system named ADAS, and another is a Software Product archiving, Analyzing, and Retrieving System for Java named SPARS-J.

  • オブジェクト指向プログラムの変更作業を支援する影響波及解析システム

    電子情報通信学会論文誌D-I   Vol.J86-D-I,No3   150 - 158(9p)   2003年3月

     詳細を見る

    影響波及解析とは,プログラム変更の影響を受ける部分を識別する手法で,回帰テストでのテストケース選択に利用されてきた.我々はプログラム理解,保守といったより広い範囲でも影響波及解析が利用できると考えているが,既存の手法は被影響部分の探索ルールがテストケース選択用に特化されているため,利用目的に応じて探索ルールを定義できる仕組みが必要となっている.また近年のソフトウェア開発環境では,オブジェクト指向言語が多く利用されており,それらに対応した解析手法およびその実装が求められている.本論文
    では,ユーザの利用目的に応じて様々な影響波及ルールが定義できる影響波及解析手法を提案する.提案手法では,オブジェクト指向言語JAVA を対象に,クラスメンバ間の関係を表す2 つのグラフに基づき解析を行う.また,提案手法をJAVA 影響波及解析システムとして実装し,その有効性を検証する.

  • 利用実績に基づくソフトウェア部品検索システムSPARS-J

    クリティカルソフトウェアワークショップ予稿集   41 - 42(2p)   2003年3月

     詳細を見る

    本論文では,利用実績に基づいたソフトウェア部品の解析・検索システムSPARS-J(Software Product Archive, analysis and Retrieval System for Java) の紹介を行う.SPARS-J はJava を対象とした部品検索システムで,収集されたソフトウェア部品の集合に対して利用関係に基づいて各部品の重要度を計算し,検索結果の順位付けを行う.これにより,実際によく利用されている部品が検索結果の上位に現れるため,検索キーと関連したソフトウェアのソースコード等を容易に検索できる.

  • An information-leak analysis system based on program slicing

    Information and Software Technology   Vol.44, No.15   8p   2002年12月

     詳細を見る

    出版者・発行元:Elsevier  

    For programs using secret information such as credit card numbers, preventing information leaks is important. Denning, for example, has proposed a mechanism to certify that a given program does not violate a security policy. Kuninobu, on the other hand, has proposed a more practical framework for calculating the secrecy level of each output value from the secrecy level set to each input value, but no implementation has been yet explored. In this paper, we propose an implementation method for information-leak analysis, and show a system we have implemented based on program slicing. We have applied this system to a credit card program. Our results show that information-leak analysis before practical use of the program is important.

  • ソフトウェア部品間の利用関係を用いた再利用性評価手法の提案

    ソフトウェア・シンポジウム2002論文集   216-225   10p   2002年5月

     詳細を見る

    再利用性の高いソフトウェア部品を再利用することで,生産性と品質を改善し,結果としてコストを削減できる.ソフトウェア部品の再利用性を評価する方法はこれまでに数多く提案されているが,その方法は全て,部品そのものの持つ静的な特性を計算して再利用性を評価するものである.しかし,現実に存在する部品に関しては,実際に多くのソフトウェア中に再利用されているという実績に基づいて再利用性を定量的に評価することが必要である.現実には,従来手法では再利用性が低いと評価されても,多くのシステムで再利用されているという部品は多く存在すると考えられる.そこで,本論文では,利用実績に基づいたソフトウェア部品の再利用性評価手法について提案する.

  • Analysis and Implementation Method of Program to Detect Inappropriate Information Leak

    In Proceedings of The Second Asia-Pacific Conference on Quality Software (APAQS 2001)   5 - 12(8p)   2001年12月

     詳細を見る

    For a program which handles secret information, it is very important to prevent inappropriate information leak from the program with secret data. Denning proposed a mechanism to certify a security of program by statically analyzing information flow, and Kuninobu proposed a more practical analysis framework including recursive procedure handling, although no implementation has been yet made. In this paper, we propose a method of security analysis implementation,
    and show a security analysis tool implemented for a procedural language. In this work, we extend Kuninobu's algorithm by devising various techniques for analysis of practical programs that have recursive calls and global variables. This method is validated by applying our tools to a simple credit card program, and we confirm that validation of program security is very useful.

  • オブジェクト指向プログラムにおけるセキュリティ解析アルゴリズムの提案と実現

    大阪大学大学院基礎工学研究科情報数理系専攻修士論文   42p   2001年2月

     詳細を見る

    クレジットカード番号等,第三者に知られてはならない情報を扱うプログラムや,不特定多数の人間が利用するシステムにおいては,不適切な情報漏洩を防ぐことは重要な課題であ
    る.このようなシステム上での情報漏洩を防ぐために,機密度の高いデータを扱うプログラムが情報の漏洩を引き起こさないことを保証する手法として,セキュリティ解析アルゴリズムが提案されている.セキュリティ解析アルゴリズムでは,まずプログラムを静的に解析することによりプログラム中の変数間に存在するデータ授受関係を抽出する.更にプログラムへの入力にセキュリティクラス(情報の重要度)を与えることで,プログラム中で扱われる値のセキュリティクラスの導出を行う.このアルゴリズムは,手続き型言語を対象として提案されているが,既存の研究においてはその提案のみにとどまっており,その実現については触れられていない.そこで,本研究では,手続き型言語を対象としたセキュリティ解析アルゴリズムを実装し,適用事例を通じてその有効性を検証する.

  • スライス計算効率化のためのプログラム依存グラフの節点集約法

    電子情報通信学会論文誌D-I   Vol.J84-D-I, No   9p   2001年1月

     詳細を見る

    プログラム依存グラフ(PDG)とはプログラム文間の依存関係を表す有向グラフであり,プログラムスライスに利用される.これまで提案されている多くのPDG 構築法は,スライスの精度向上を目標としてきた.しかし,大規模ソフトウェアにスライスを適用する場合,その精度だけでなく抽出の効率を考慮する必要がある.本研究では,依存情報が文単位で保持される従来手法に対し,より大きな粒度で保持させることで効率向上を行ない,精度にも留意したPDG 構築手法を提案する.また,実際に提案手法の評価を行い,空間コスト10-40%,時間コスト5-60%の削減を得た.

▼全件表示

書籍等出版物

  • 日本のスマートフォンアプリケーションにおける ユーザーレビューの苦情内容の分析

    ( 担当: 共著)

    情報処理学会 情報処理学会第82 回全国大会論文集  2020年2月 

     詳細を見る

    担当ページ:141-142   著書種別:調査報告書

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

  • 部品間の関係を利用したソフトウェア部品の分類手法の提案

    ( 担当: 単著)

    情報処理学会 情報処理学会研究報告  2016年11月 

     詳細を見る

    担当ページ:1-8   著書種別:調査報告書

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

  • スプリングアルゴリズムを用いたソフトウェア部品グラフの視覚化手法について

    ( 担当: 共著)

    情報処理学会 第78回情報処理学会全国大会講演論文集  2016年3月 

     詳細を見る

    担当ページ:231-232   著書種別:調査報告書

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

MISC

  • スマートフォンアプリケーションのレビュー自動分類のシステム実現に関する考察 査読

    宮下拓也,横森励士,井上克郎

    ソフトウェア工学の基礎31   50   185 - 186   2024年12月

     詳細を見る

    記述言語:日本語   掲載種別:研究発表ペーパー・要旨(全国大会,その他学術会議)  

  • 暗号通貨ウォレットを構成するソフトウェアの開発活動と関係性の観察

    ソフトウェア工学の基礎 28   47   pp. 175 - 176   2021年11月

     詳細を見る

    出版者・発行元: 近代科学社(レクチャーノート/ソフトウェア学)  

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

  • バージョン間の部品間の関係の変化を掲示するツールの試作

    電子情報通信学会2014年総合大会講演論文集   1(pp.23)   2014年3月

     詳細を見る

    出版者・発行元:電子情報通信学会  

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

  • 第31回ソフトウェア工学国際会議(ICSE2009)参加報告

    情報処理学会研究報告   Vol.2009-SE-165, No.10   1 - 8   2009年7月

     詳細を見る

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

  • 名前の重複を考慮したJava ソフトウェア部品間の利用関係解析手法の提案

    電子情報通信学会技術研究報告   6   2008年3月

     詳細を見る

    出版者・発行元:電子情報通信学会  

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

  • 第13回アジア太平洋ソフトウェア工学国際会議(APSEC2006)参加報告

    情報処理学会研究報告   Vol.2007, No.33   8p   2007年3月

     詳細を見る

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

  • 組込みソフトウェアビジネス実態アンケート調査

    ユビキタス市場と組込みソフトウェアに関する調査研究   39p   2006年4月

     詳細を見る

    出版者・発行元:社団法人 情報サービス産業協会  

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

  • コンポーネントランクを用いたソフトウェアのクラス設計に関する分析手法の提案

    電子情報通信学会技術研究報告   SS2005-37, Vol.   6p   2005年8月

     詳細を見る

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

  • コンポーネントランクを用いた開発プロセス評価手法の有効性について

    情報処理学会研究報告   Vol.2005, No.75   8p   2005年7月

     詳細を見る

    近年のソフトウェア開発では,開発対象であるソフトウェアの大規模化,複雑化が急激に進行しており,問題が生じた際の早期発見,早期対策の重要性がきわめて高いことが認知されつつある.一方で,多くの人間が共同開発を行うことを想定して,CVSなどの構成管理ツールをもとに,全体的な開発の進捗を管理するケースが増えている.本論文では,CVSに登録されている各バージョンのソースコードに対して,コンポーネントランクの時間による変動をもとに現在の開発状況を推測する手法について,その手法の有効性及び実現可能性を評価する.

  • 開発履歴データのリアルタイム収集・分析システムEPMの拡張について -

    電子情報通信学会技術研究報告, SS2004-56   Vol.104, No.722   1 - 6(6p)   2005年3月

     詳細を見る

    ソフトウェアの開発においてプロセス改善を行うためには,開発状況を随時把握しプロジェクトを管理することが必要不可欠である.EASE プロジェクトでは,開発履歴データのリアルタイム収集および定量的なデータ分析を行うシステムとして,EPM(Empirical Project Monitor) を開発している.本研究では,EPM において実現した,もしくは実現を予定しているEPM の拡張について説明する.具体的には,SRGM を用いた潜在フォールト数の予測グラフのEPM 上での実現手法について提案するとともに,既存の解析システムとの連携手法を考察する.

  • ソフトウェア部品推薦のための協調フィルタリング手法の提案と実現

    電子情報通信学会ソフトウェアサイエンス研究会   Vol.104、No.243   7 - 12(6p)   2004年8月

     詳細を見る

    出版者・発行元:SS2004-15  

    ソフトウェア部品検索システムは,ソフトウェア開発における再利用および理解の支援に有効なシステムで,我々の研究チームでは,Java を対象としたソフトウェア部品開発システムSPARS-J を提案している.本研究では,ユーザの検索効率の向上を目的として,協調フィルタリングを利用したソフトウェア部品の推薦手法を提案する.

  • Javaを対象としたソフトウェア部品検索システムSPARS-Jの実験的評価

    電子情報通信学会技術研究報告   Vol.103,No.708   6   2004年3月

     詳細を見る

    本論文では,我々の研究グループが構築したJava ソフトウェア部品検索システムSPARS-J について実験的評価を行う.実験においては,部品の取得を想定した検索について,一般的な検索システムとの適合率に関する比較を行うとともに,SPARS-J の順位付け性能に関する評価を行う.

  • Empirical Project Monitor: プロセス改善支援を目的とした定量的開発データの自動収集・分析システムの試

    電子情報通信学会技術報告   Vol.103, No.708   6   2004年3月

     詳細を見る

    ソフトウェアの生産性や信頼性向上を目的とするプロセス改善は急務の課題となっているが,実際のソフトウェア開発現場におけるプロセス改善の実施は困難を伴う場合が多い.その原因の一つとして,一貫性のある定量的なデータを継続的に測定することが難しいという問題が挙げられる.本稿では,ソフトウェア開発におけるプロセスデータを自動的に収集・分析するEmpirical Project Monitor (EPM) を紹介する.

  • Javaソフトウェア部品 解析・検索システムSPARS-Jの構築

    電子情報通信学会技術研究報告   Vol.103, No.481   6   2003年11月

     詳細を見る

    本論文では,Java ソフトウェア部品の解析・検索システムSPARS-J(Software Product Archive, analysis and Retrieval System for Java) の構築を行う.SPARS-J はキーワードを検索キーとして,検索キーと関連したソフトウェア部品のソースコード,および再利用支援のために有益な情報を検索結果として提供する.

  • エイリアス関係を利用したJavaスライシングツールの実現

    電子情報通信学会技術研究報告   SS2002-56   6   2003年3月

     詳細を見る

    本論文では, オブジェクト指向言語Java を対象として, エイリアス関係を考慮した静的プログラムスライス計算手法を提案する. エイリアス関係を利用することで, オブジェクト指向言語特有の実行時決定要素の解析を含めた,より正確なプログラムスライスの計算が期待できる.

  • 動的情報を利用したソフトウェア部品評価手法の提案と評価

    電子情報通信学会技術研究報告   SS2002-42   6   2003年1月

     詳細を見る

    本論文では,動的な情報を利用したソフトウェア部品評価手法の提案を行う.提案手法を用いることにより,ソフトウェア実行時に実際に利用された関係だけを抽出するので,解析が静的に比べ容易であり,またソースコードファイルが存在しない部品についても評価が行える.

  • Javaバイトコードの動的依存解析情報を用いたスライシングシステムの実現

    日本ソフトウェア科学会第19回大会講演論文集   1C-2   5p   2002年9月

     詳細を見る

    デバッグを効率良く行なう手法の一つに,スライシングがある.一般にスライスの計算には文間の依存関係解析が前提となっており,解析方法によって静的スライシング,動的スライシングがある.我々の研究グループでは両者の手法を組み合わせたDC スライシングを提案している.本論文では,実行時決定要素を多く含むJava に対して有効なDC スライシングシステムを実現する.システムでは,Java バーチャルマシン
    の実行中に動的に依存関係を抽出することでバイトコードを単位とした細粒度のスライス抽出を実現した.

  • 利用頻度に基づくソフトウェア部品の解析・検索システムの提案

    電子情報通信学会技術研究報告   Vol.102, No.329   6p   2002年9月

     詳細を見る

    本論文では,利用実績に基づいたソフトウェア部品の解析・検索システムSPARS(Software Product Archive, analysis and Retrieval System) の提案を行う.SPARS はJava を対象としたシステムであり,キーワードやコード片等を検索キーとして,検索キーと関連したソフトウェアのソースコード等を容易に検索できるシステムである.

  • プログラム依存グラフを利用した情報漏洩解析手法の提案と実装

    電子情報通信学会技術研究報告   SS2002-14   6   2002年7月

     詳細を見る

    情報漏洩解析とは情報の漏洩を引き起こさないかどうか確認するための手法でプログラムの入力値に設定された機密度から出力値の機密度を求める情報漏洩解析が実現されている. 一方でプログラム依存グラフというプログラム内の文間の依存関係を有向辺で表現したグラフが存在する. 既存の情報漏洩解析手法では繰り返し計算を行うため様々な機密度を入力値に与えて再計算を行うときその時間的コストが問題となる.そこで本研究では,プログラム依存グラフを利用した情報漏洩解析手法の提案を行う.

  • ソースコード間の関係を用いた再利用性評価手法の提案

    情報処理学会研究報告   Vol.2002, No.23   8   2002年3月

     詳細を見る

    本論文では,利用実績に基づいたソフトウェア部品の再利用性評価手法について提案する.

  • セキュリティ解析アルゴリズムの実現とオブジェクト指向言語への適用に関する一考察

    電子情報通信学会技術研究報告   SS2000-30   8   2000年11月

     詳細を見る

    出版者・発行元:電子情報通信学会  

    本研究では,クレジットカード番号などの機密どの高い情報がどのようにプログラム内で利用され出力されるかを解析するための手法を提案する.

  • 局所的集約によるプログラム依存グラフの効率的な構築法

    情報処理学会第60回(平成12年前期)全国大会   2   2000年3月

     詳細を見る

    出版者・発行元:情報処理学会  

    プログラムスライスにおける解析の効率化を目的として,手続き間解析の際に対象となる節点を一時的に集約することにより, 手続き間解析を効率よく行う手法を提案する.

▼全件表示

共同研究・競争的資金等の研究課題

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

      詳細を見る

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

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

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



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

      詳細を見る

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


  • 利用関係に基づくソフトウェア部品クラスタリング手法の 有効性評価のまとめ

    2023年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    担当区分:研究代表者 

    配分額:100000円

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

  • 利用関係を用いたソフトウェア部品分類手法の活用方法についての調査研究

    2022年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    担当区分:研究代表者 

    配分額:279000円

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

  • ソフトウェア開発の保守工程における支援手法に関する研究

    2021年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    配分額:246000円

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

  • ソフトウェア開発における成果物を保守活動に利用するための分析手法について

    2020年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    担当区分:研究代表者 

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

  • ソフトウェア保守を支援するための開発成果物の分析手法について

    2019年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    配分額:100000円

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

  • ソフトウェア部品の理解支援を目的とした情報の抽出手法に関する研究

    2018年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    担当区分:研究代表者 

    配分額:100000円

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

  • ソフトウェア部品の理解支援を目的とした情報の抽出手法に関する研究

    2017年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    担当区分:研究代表者 

    配分額:100000円

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

  • コードクローンの関係を用いたコンポーネントランク法の拡張手法の改良について

    2016年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    配分額:124000円

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

  • フレームワークとアプリケーション間の関係の推移についての調査研究

    2013年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    担当区分:研究代表者 

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

  • 部品間の関係の変化に基づいたアスペクト指向言語を用いたリファクタリング手法の評価

    2011年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    担当区分:研究代表者 

    配分額:169000円

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

  • ソフトウェア開発における変更の影響度を測定するためのメトリクスに関する研究

    2009年

    日本学術振興会  科学研究費補助金 

      詳細を見る

    担当区分:研究代表者  資金種別:競争的資金

    配分額:600000円

  • ソフトウェアの開発作業における開発作業とコンポーネントランクの変動の関連について

    2008年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

      詳細を見る

    担当区分:研究代表者 

    配分額:300000円

  • ソフトウェア開発における変更の影響度を測定するためのメトリクスに関する研究

    2008年

    日本学術振興会  科学研究費補助金 

      詳細を見る

    担当区分:研究代表者  資金種別:競争的資金

    配分額:600000円

  • コンポーネントランクを用いた開発プロセス可視化手法のオープンソースプロジェクトに対する適用

    2006年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

  • コンポーネントランクを用いた開発プロセス評価手法の有効性評価

    2005年

    南山大学  南山大学パッヘ研究奨励金I-A-2 

  • 保守作業や再利用支援を目的とした プログラム解析手法に関する研究

      詳細を見る

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

▼全件表示

その他

  • 新規市場調査委員会 委員長補佐

    2005年 - 2006年

     詳細を見る

    社団法人情報サービス産業協会開催の
    新規市場調査委員会における青山委員長の補佐

その他教育活動及び特記事項

  • 国際科目群(ソフトウェア工学科)

    2016年

     詳細を見る

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

  • アルゴリズムとデータ構造(旧:アルゴリズム論)

    2015年

     詳細を見る

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

  • 理工学概論

    2014年 - 2022年

     詳細を見る

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

  • プログラミング応用実習

    2013年 - 2019年

     詳細を見る

    2013-2017

  • ソフトウェア構築と保守

    2011年 - 2022年

     詳細を見る

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

  • 演習科目

    2011年 - 2022年

     詳細を見る

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

  • ソフトウェア工学応用

    2011年

     詳細を見る

    前半担当
    後半は金山先生

  • ソフトウェア開発技術

    2011年

     詳細を見る

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

  • プログラミング応用

    2011年

     詳細を見る

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

  • プログラミング基礎

    2011年

     詳細を見る

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

  • プログラミング基礎実習

    2010年

     詳細を見る

    問題作成

  • 知識・言語と情報社会(情報社会におけるソフトウェアの役割)

    2010年

     詳細を見る

    横森担当分の講義資料作成

  • プログラミングII

    2008年

     詳細を見る

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

  • プログラミングI

    2007年 - 2008年

     詳細を見る

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

  • 情報通信学実習II

    2006年

     詳細を見る

    講義資料作成

  • プログラミング実習I

    2005年 - 2008年

     詳細を見る

    2006講義資料作成

  • プログラミング実習III

    2005年 - 2008年

     詳細を見る

    講義資料作成なし

  • プログラミング実習II

    2005年 - 2008年

     詳細を見る

    2005,2007 講義資料作成

▼全件表示

社会貢献活動

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