Softwear Engineering Laboratory

Ecosystem/製品を蓄積・活用する

    • sample150
      池田 祥平
      Ikeda Shohei

      READMEファイル記述項目の分析
      (Analysis of README Description Items)

      オープンソースソフトウェア(OSS)プロジェクトの開発者に対してREADME作成時の方針を与えることを目的として、READMEを公開するソフトウェアの内、多くのREADMEで共通して記述される項目を明らかにします。OSSプロジェクトにおいてREADMEは、ソフトウェアを正しく使用するためのインストール方法や利用例などのソフトウェアを正しく使用するための方法、プロジェクトへの貢献方法などの開発を促進するための方法を共有するために重要なドキュメントです。READMEの品質を向上させるため、READMEに記述する項目のガイドラインが存在します。しかしすべてのREADMEがガイドラインに準拠しているか否かは明らかではなく、またガイドラインがあらゆるソフトウェア種別のREADMEに適用可能であるかも明らかではありません。本研究では、READMEに記述される項目を明らかにするために、既存のREADMEに記述された項目を抽出し、ソフトウェア種別に記述項目を比較し、違いを明らかにします。これら、ソフトウェア種別に重視する項目の違いは、OSSプロジェクトの開発者が自身のソフトウェア種別に合わせたREADMEを作成する方針となります。

       

      主な研究成果・外部発表等

      1. 池田祥平, 伊原彰紀, ラウラガイコビナクラ, 松本健一, “GitHubにおけるREADME記述項目の分析,” 第24回ソフトウエア工学の基礎ワークショップ(FOSE2017), pages 135–140 2017年11月. 貢献賞(ショートペーパー部門)
      2. 池田祥平, 坂口英司, 伊原彰紀, 松本健一, “操作履歴を利用した不具合票自動生成に向けて,” ウィンターワークショップ2017・イン・飛騨高山 論文集, pages 35-36 2017年1月.
    • sample150
      Bodin Chinthanet

      ライブラリが持つ脆弱性の分析
      (Understanding the Spread of Patches to Fix Security Vulnerabilities)

      Software reuse is very popular among software ecosystems because it can increase the productivity of developers and reduce the effort for implementation. However, if there is a security vulnerability affect to the package in the software ecosystem. It is not only affecting to one designated package but also affect to the other packages both directly and transitively via the dependency network. To make the package free from vulnerability, developers must update their vulnerable dependency and create a patch. From our investigation, we found that some of them take very long time to release fixing patches. Toward increasing the speed of vulnerability fixing process, we would like to investigate how vulnerability fixing patch spread from the affected package to their transitive dependents in the software ecosystem.

    • sample150
      桂川 大輝
      Daiki katsuragawa

      ソフトウェア開発におけるライブラリ推薦
      (Library Recommendation)

      ソフトウェアライブラリ(ライブラリ)は世界中で開発されており、ソフトウェア開発プロジェクトにおいて利用されています。ライブラリとは、汎用性の高い複数のプログラムを再利用可能な形式でまとめたファイルであり、高品質なソフトウェア、効率的な開発を実現するために重要なソフトウェア部品です。しかし、ソフトウェア開発の失敗の原因として、適切でないライブラリの利用や適切なライブラリを把握していないことによる未利用などが挙げられています。本研究では、ライブラリ選択の支援を目的として、ライブラリ推薦システムが提案します。他のソフトウェア開発において併用されるライブラリを解析することによって、新たに利用の候補となるライブラリを自動的に選別、推薦します。これらの実現により、ソフトウェア開発におけるライブラリ選択の支援を目指します。

       

      主な研究成果・外部発表等

      1. 桂川大輝, 伊原彰紀, Raula Gaikovina Kula, 松本健一, “ソフトウェア開発において併用されるライブラリ機能の推薦,” 研究報告ソフトウェア工学(SE), pages 1–7 2017年11月.
      2. 桂川大輝, 伊原彰紀, Raula Gaikovina Kula, 松本健一, “ソフトウェア開発に利用するライブラリ機能の分析,” 第24回ソフトウェア工学の基礎ワークショップ(FOSE2017), pages 141–146 2017年11月.
      3. Daiki Katsuragawa, Akinori Ihara, Raula Gaikovina Kula, and Kenichi Matsumoto, “Maintaining Third-Party Libraries Through Domain-Specific Category Recommendations,” In SoHeal18:IEEE/ACM 1st International Workshop on Software Health, 2018.
    • sample150
      吉上 康平
      Kohei Yoshigami

      ソースコードのコピー・再利用活動の可視化
      (Visualization of Source Code Copy / Reuse Activity)

      企業のソフトウェア開発では、Clone-and-Own と呼ばれるコードの再利用が一般的に行われています。 Clone-and-Own には開発のシンプルさ、可用性、独立性などの利点がありますが、メンテナンスが複雑で難しくなるという欠点もあります。 近年、Clone-and-Own がオープンソースソフトウェア(OSS )の開発にも現れることが報告されています。 本研究では、既存のOSS プロジェクトにおけるClone-and-Own の分布を明らかにすることを目指し、その後、Clone-and-Own に伴って人的資源がどのようにプロジェクト間を推移していくかを分析します。パイロットスタディとして、JUnit リポジトリを対象として、ファイルレベルの類似性測定技術を使用し、Clone-and-Own の分布を調査した結果を示します。



      可視化されたソースコードのコピー・再利用活動

      関連業績

      1. Takashi Ishio, Yusuke Sakaguchi, Kaoru Ito, Katsuro Inoue, “Source file set search for clone-and-own reuse analysis”, 14th International Conference on Mining Software Repositories, Jul 2017.
      2. Raula Gaikovina Kula, Coen De Roover, Daniel M. German, Takashi Ishio, and Katsuro Inoue, “A Generalized Model for Visualizing Library Popularity, Adoption and Diffusion within a Software Ecosystem,” In IEEE International Conference on Software Analysis, Evolution and Reengineering, March 2018.