ソフトウェア・シンポジウム 2019 in 熊本 (SS2019)

左端の写真は実行委員長の富松さんが撮った写真です.
残り2枚の写真は,熊本市観光ガイドのフォトギャラリーから引用しました.

熊本の写真

SSでは、例年、最優秀論文賞、論文奨励賞、最優秀発表賞(ベストスピーカー賞)の3つの表彰を行っています。今回は、これに加え、荒木実行委員長の提案で、優秀な若手研究者を表彰する荒木富松特別奨励賞を設け、2つの論文を選びました。今回の受賞論文と著者は次のとおりです。

■最優秀論文賞

[研究論文] 軽量形式手法VDMによるバーチャルマシンの開発
小田 朋宏 (株式会社 SRA), 荒木 啓二郎(熊本高等専門学校)
要旨:
 バーチャルマシン (VM) はソフトウェアで実装された仮想コンピュータシステムであり,プログラミング言語の実行系アーキテクチャとして広く採用されている.VMはユーザプログラムを実行するための基盤であり,高い信頼性と処理速度の両立が求められることから,その開発には高度に専門化された高い技能が要求されるとともに,安定した実装が得られるまで数年から 10 年以上の長い期間を要することが多い.本稿では,VM の仕様記述に実行可能な形式仕様記述言語 VDM-SL を適用した事例として,現在進行している ViennaVM の開発を紹介し,VM 開発における軽量形式手法の効果を議論する.
研究論文

■最優秀発表賞

[事例報告] コンセプト&ゴール指向のふりかえり提案
小楠 聡美 (株式会社 HBA)
要旨:
 筆者は,過去に経験した開発現場でのふりかえりについて,「ふりかえりの効果が実感できない.」「ふりかえりをやる意味があるのか?」と思っていた.そして,その原因として,複数の要因があると考えた.
 そこで筆者は,上記の要因を解消して,より効果を実感できるふりかえりを実施できるような手段はないかと考え,実際のものづくりにおけるふりかえり手段として活用した .
 本事例では,「ふりかえりの効果が実感できない」要因を解決できるようなふりかえりの手段と,実際のものづくりにおける改善実践例,およびその効果を報告する.
事例報告

■論文奨励賞

[経験論文] Web サービス・モバイルアプリケーション開発における
テスト設計を支援するための標準テスト観点の整備
河野 哲也, 柏倉 直樹, 前川 健二, 菊武 祐輔 (株式会社 ディー・エヌ・エー)
要旨:
 Webサービス・モバイルアプリケーション開発におけるテスト設計においてテスト観点を抜け落ちなく網羅的に抽出するために,標準テスト観点を整備し,それをテスト設計で活用する研究を報告する.まず,実際のテスト業務に基づきテストエンジニアの特性を整理し,問題を明らかにする.次に,テスト分析・テスト設計の流れを解析し,標準テスト観点の枠組みとして必要な要件を整理し,その要件に従い枠組みを定める.そして,過去に作成したテストスイートを分析することで様々なテスト観点を導出し,枠組みに従いそれらのテスト観点を整理することで標準テスト観点の実装を行う.最後に,実際のWebサービス・モバイルアプリを対象として標準テスト観点の適用を行い,一定の有効性が確認できた.
経験論文

[研究論文] 開発者に着目した Fault-Prediction 技術
高井 康勢, 加藤 正恭, 三部 良太(株式会社 日立製作所) 林 晋平, 小林 隆志(東京工業大学)
要旨:
 ソフトウェア開発では,開発の早い段階でフォールト(バグ)を見つけて修正することが重要となる.そのため,潜在的なフォールトの場所を予測する Fault-Prediction技術に注目が集まっている.
 Fault-Prediction 技術では,ファイルやモジュールごとに,潜在的なフォールトの存在確率を表す「潜在フォールト率」を算出する.算出した潜在フォールト率が高いファイルやモジュールを重点的にテストやレビューすることで,開発の早い段階でのフォールト発見が可能となる.
 近年利用が進んでいる Fault-Prediction 技術では,静的解析ツールで検出できるコーディング規約違反や既知のフォールトの情報を基に,潜在フォールト率を算出する.しかしながら,開発の立ち上げ直後は,潜在フォールト率の算出に利用するコーディング規約違反やフォールトの情報が少ないため,従来技術では潜在フォールト率を算出できない.
 そこで本研究では,「開発者」が過去に携わったプロジェクトで作り込んだ指摘やフォールトなどの情報を基に,ファイルごとの潜在フォールト率を算出する Fault-Prediction 技術を提案・評価した.本技術では,開発の立ち上げ直後でも潜在フォールト率を算出できる.
 企業内のある 1 プロジェクトで提案手法を評価したところ,本手法で算出した潜在フォールト率が高い上位25% のファイルに,全フォールトの約 6 割が含まれることが分かった.提案手法により,潜在フォールト率が高いファイルから順にテストやレビューを実施することで,開発の早い段階でのフォールトの発見・修正が可能となる.

研究論文

[研究論文] テンソル分解プログラミングの理解支援のための立体パズルの利用
山本直樹, 村上 純, 石田 明男(熊本高等専門学校)
要旨:
 テンソル分解の一手法として高次特異値分解(HOSVD)があるが,これは行列の特異値分解(SVD)を高階テンソルの分解に拡張したものである.そのため,HOSVD は SVD と比べアルゴリズムが複雑となる.そこで,我々は,立体パズルを教材に用いた HOSVD アルゴリズムの理解支援の取り組みを行っている.本論文では,立体パズルとしてルービックキューブおよびインスタント・インサニティの 2 つを取り上げ,これらを高階テンソルで表現し,HOSVD アルゴリズムの n-モード行列展開を利用して展開図にする原理について述べる.さらに,その展開図のテンソル分解やそのプログラミング教育への応用として,本校学生によるルービックキューブの展開図作成の事例と,主に小中学生を対象として,インスタント・インサニティの展開図の理解度について調査した事例についても言及する.

研究論文

■荒木富松特別奨励賞

[研究論文]組み込みソフトウェアにおけるコードクローン出現に関する考察
若林 奎人, 水野 修(京都工芸繊維大学)
要旨:
 近年組み込みソフトウェアにおいて,個人でハードウェア部品を安価に入手できることや部品の多様化に伴い,ソフトウェア中にはコードクローンが発生することがある.
 組み込み開発プラットフォームの1つである Arduinoは,特にハードウェア部品が安価であり,また,ハードウェア,ソフトウェア共にオープンソースであるため,派生品や互換機も数多く存在し,環境下には多くのコードクローンが発生していると考えられる.コードクローンはソフトウェアの保守を困難にしている要因の1つであると指摘されている.
 そこで,GitHub から watch 数の多い Arduino のプロジェクトを 170 個取得し,コードクローン検出ツールである CCFinder に入力することで,コードクローンの位置を把握し,他のプロジェクトにおけるコードクローンの数と比較することで Arduino プロジェクトにおけるコードクローンの発生率について考察する.さらに組み込みソフトウェア特有のコードクローンについて考察することで,組み込みソフトウェアにおけるコードクローンに関する知見を得る.
 CCFinder を用いた結果,Arduino プロジェクトには他のプロジェクトよりもコードクローンが多く発生していることがわかった.また,発生率の高いコードクローンの種類や,組み込みソフトウェア特有と思われるコードクローンを発見した.
研究論文

[研究論文]コードクローンへの欠陥混入防止に向けた欠陥混入クローンの特徴分析
野口 耕二朗, 大平 雅雄(和歌山大学)
要旨:
 大規模ソフトウェアの品質および保守効率の改善を目的として,欠陥が混入したコードクローンを検出する手法や欠陥混入クローンの特徴分析などの研究が行われている.しかしながら,コードクローンに欠陥が混入する原因を明らかにした研究は存在しておらず,クローンに対して欠陥が混入するのを未然に防ぐ方法については十分な検討がなされていない.本論文では,RxJava プロジェクトを対象としてコードクローンに欠陥が混入する原因を分析した結果について報告する.欠陥混入クローンのソースコードメトリクスの特徴を分析した結果,欠陥が混入していないコードクローンと比較して,(1) コードクローンに対する入力の数が大きい,(2) 規模に関するメトリクスの値が全体的に小さい,という結果が得られた.また,欠陥混入クローンの欠陥を分析した結果,コードクローンを持たない部分に混入した欠陥と比較して,(1) コードの不整備による欠陥が多く,(2) 欠陥の修正範囲が大きい,という結果が得られた.

研究論文

著者のみなさま,おめでとうございます!