HOME > 活動報告 > 国際調査活動 > ICST 2019 参加レポート

国際調査活動
 ICST 2019 参加レポート


報告者 / 佐藤 陽春,中岫 信,坂 静香 (NPO ASTER)

はじめに

ソフトウェアテストの国際会議 ICST 2019 (12th IEEE International Conference on Software Testing, Verification and Validation)、及び併設のワークショップにASTERの国際調査活動メンバーの一員として参加しましたので状況を報告します。
筆者らはICST本会議への参加のほか、併設ワークショップの InSTA 2019(International workshop on Software Test Architecture 2019)に論文投稿しており、発表をするために参加しました。
InSTAは、ICSTの併設ワークショップのうち、ソフトウェアテストのアーキテクチャに関するワークショップであり、今回は7回目の開催となります。

ICST2019

ICST 2019の概要

ICSTは数あるソフトウェアテストの国際カンファレンスのうちIEEEが主催しているもので、2008年から毎年開催しています。今回は12回目で、会場は中国・西安です。2017年の日本に続いて、2回目のアジアでの開催になります。カンファレンスは全6日間であり、メインカンファレンスのほか、PhDシンポジウム、インダストリー・トラック、ツール・トラック、併設ワークショップなどが開催されました。

開催地の概要

写真/大雁塔
[写真1] 大雁塔
写真/兵馬俑
[写真2] 兵馬俑

西安市は、中華人民共和国 陝西省の省都です。かつては「長安」と呼ばれており、シルクロードの起点となっていました。
そのため、さまざまな文化が交流された土地になります。そう考えるとカンファレンス開催にはうってつけな都市と思います。また、さまざまな史跡があり、歴史好きにはたまらない都であり、多くの観光客が訪れます。
「西遊記」や最近では「キングダム」の舞台となっており、他には、三国志で語られている五丈原の戦いがあった「五丈原」、遣唐使の阿倍仲麻呂など、日本でもなじみがあるのではないでしょうか。

開催期間・規模

写真/会場
[写真3] 会場

併設ワークショップが4月22日・23日の2日間、メインカンファレンスが4月24日~27日の4日間の全6日間開催されました。

参加費

参加チケットは、本会議全日、本会議一日、ワークショップ一日があり、それぞれIEEE会員/IEEE非会員で参加費が異なり、早割りもあります(会費は下記の表を参照)。本会議全日のチケットには、昼食、本会中に行われるReception、Banquetが含まれています。
また、参加付録としてプログラム冊子、論文一式がセットされたUSBが受け取れます。

参加区分 チケット 早割り 通常
IEEE 会員 本会議全日 830 996
本会議一日 300 360
ワークショップ一日 220 270
IEEE 非会員 本会議全日 996 1,195
本会議一日 360 432
ワークショップ一日 270 360

※単位:USD、1USD = 110~115円

論文採択状況

この3年間の発表数の推移は以下の通りです。

年次 論文発表数
2017年 約165件
2018年 約120件
2019年 約110件

今回の発表タイトルからキーワードを抜き出して、分類してみると、次のようになりました。

  1. Automation、Automated、Automatic、Auto...
  2. Learned、Learning、Learn...
  3. Combinations、Combinatorial
  4. Analysis、Analyzer
  5. Generation、Generate

これらのワードから、自動化、自動生成、機械学習などのタイトルが多い印象を受けました。
また、2018年の発表タイトルと比較したところ、2018年はモデルに関するワードが多かったのですが、2019年に新しく入ってきたワードに"AI"があります。また2018年よりも目に留まったワードとして"Machine"、"Repair"があります。

日本からの参加状況

日本からの参加者による発表数は以下の通りでした。

メインカンファレンス 2件
ワークショップ 5件

前年にスウェーデンで開催されたICST2018では、メインカンファレンスでの日本からの発表は0件でした。メインカンファレンスに日本からの投稿が採択されているのは嬉しく思いました。

Workshop

10のワークショップが開催されました。これらのワークショップは複数の会場で並行して実施されており、本レポートでは筆者らが参加できたいくつかについて報告します。

ICST 1日目 ICST 2日目
会場A 会場B 会場A 会場B 会場C
A-MOST Mutation
InSTA
ITEQS
IWCT MLST VVIoT
NEXTA
INTUITESTBEDS
TAIC PART

※赤文字のワークショップに参加

1日目

[InSTA :International Workshop on Software Test Architecture]
写真/カンファレンス会場の中庭(地下1階)
[写真4] カンファレンス会場の中庭(地下1階)

ホテル地下のレストランでのランチを挟んで、InSTAが開かれました。
InSTAはGeneral Co-chairの西康晴氏によるオープニングから始まりました。オープニングでは、テストアーキテクチャを検討することの重要性などが語られ、海外のテストアーキテクチャの例として、昨年のICSTで発表された事例も示されました。
その後はGeneral Co-chairの増田聡氏による司会で5件の発表が行われました。
InSTAではResearch papersとIndustrial experience reportsとEmerging idea proposalsの3種類の発表を扱っています。今回はResearch papersとしての発表が3件、Emerging idea proposalsとしての発表が2件、そして1件のライトニングトークでした。
Research papersの内容は幅広く、Webアプリケーションにおけるクロスサイトスクリプティング脆弱性の自動テストのためのアーキテクチャの紹介、既存システムのマイクロサービス化のような部分的なシステム変更の影響度からテストケースを抽出する方法の紹介、ソフトウェアテストの組織としての活動の良し悪しについてジニ係数を使って測定する考え方の紹介がありました。
Emerging idea proposalsの1件は、自動車や航空機等の産業界のテストにおいて、実地試験に近い条件下でのテストのためのシミュレータを原因結果グラフの応用で作成する提案でした。
もう1件およびライトニングトークは筆者らが発表したものであり、詳細は後述します。

[ITEQS:International Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems]

ITEQSでは2件の発表がありました。
1件は、性能ボトルネックを見つけるテストケース生成に関するもので、CPU、メモリ、ディスク等の使用率を入力として機械学習によりストレステスト実施時のソフトウェアの状態を判断し、その結果に応じて、パラメーターを自動変更して再テストするというフレームワークを示していました。ただ今回は、フレームワークを示したのみで実践例は示されませんでした。
もう1件は、非機能な品質のテストの優先度付けに関するものでした。検索エンジンなどで利用されるページランクアルゴリズムを応用し、要求仕様間の依存関係から要件を優先度付けして、さらにテストケースの優先度を選択する方法を示していました。

[Mutation]

Mutationはオープニングののち、Andreas Zeller氏のキーノートから始まりました。
Zeller氏はドイツ・ザールラント大学内にあるITセキュリティセンター(CISPA)の教授で、日本で開催したICST 2017では基調講演をされています。
今回の講演タイトルは"Grammers for Mutation Testing"でした。プログラムやURLのように何かしらの文法を持つテスト対象に対して、ミューテーションテストのためにその一部を書き換える際に、でたらめに書き換えるのでなく、文法を維持したままテスト対象を書き換えるための考え方を示していました。Pythonによるツールの実装もあり、デモンストレーションで様子が紹介されました。

キーノートの後、5件の発表がありました。
Mutationがテーマにしているミューテーションテストは、テスト対象を書き換えることで、それをテストするテストケースが十分役立つかを確かめるための技術です。
ミューテーションテストにおいて、テスト対象のプログラムの一部を意図的に書き換え、欠陥をもたせたものをミュータントと呼びます。
ミュータントが元のコードと同値(つまり、元のコードと同じように振舞う)なのかどうかの判定や、どのミュータントが最もバグを引き起こすのかの測定等は自明ではなく、それらに対するさまざまな研究や実践が発表されました。
日々大量のテストを作成して実施している一人として、テストが適切かどうかを調べる技術は面白く、大変興味深く聴講することができました。

2日目

[MLST:Machine Learning and Software Testing]

MLSTは、最新の相乗的な機械学習(ML)とソフトウェアテスト(ST)の手法および実践について交換し、議論することを目的としたワークショップです。 セッションは3つに分かれており、キーノート1本と4本の事例等の発表がありました。
キーノートではAIシステムに適用されたテスト手法の調査報告と今後の展望が語られました。
品質保証、カバレッジ、パフォーマンスなどこれまでのテストと同様に考慮すべき事例が紹介されました。
ファジングやミューテーションの応用やオーバーテストをどうすると防げるかなど、今後につながる事例報告がありました。

[INTUITESTBEDS:International Workshop on User Interface Test Automation and Testing Techniques for Event Based Software]

INTUITESTBEDSは、ユーザーインターフェースのテスト自動化をテーマにしたワークショップ「INTUITEST(International Workshop on User Interface Test Automation)」と、イベント駆動のソフトウェアに対するテスト技術をテーマにしたワークショップ「TESTBEDS(International Workshop on TESting Techniques for event BasED Software)」との統合ワークショップです。今回は2件の発表がありました。
1件目は「Augmented Testing」という手法の紹介で、Seleniumを利用したUI手動テストの補助および自動化を目指すツール開発の紹介でした。GUIの上に対話型の情報を表示させることで、操作をしているテスターもツールもどちらも学習をしていくという画期的なツールでした。実際にデモンストレーションが行われたので、ツールのイメージをつかみやすかったです。個人的な印象として、探索的テストの補助として有効と感じました。やはりパフォーマンスの課題が存在するものの、今後の進展が期待されます。
2件目は「Towards Automated Generation of Bug Benchmark for Smart Contracts」Ethereumという仮想通貨のための契約自動実行の仕組みであるスマートコントラクトのセキュリティ面の保証が不足しているという課題に向けて、セキュリティツールを評価するための基準となるバグベンチマークの自動生成についての発表でした。仮想通貨のセキュリティ問題に対する損失は巨大であるため、このような研究の重要さを感じました。

Main Conference

1日目

Welcome Remarks、Keynote、Main Session、PhD Symposiumがありました。
Welcome Remarksで今年の論文投稿状況、採択率(図参照)などの紹介がありました。

図:投稿状況 図:採択率

[図] 投稿状況 [※画像をクリックにて拡大]

Main Sessionは、Test Generation、Fuzzing and Security、Empirical Studies and Benchmarkingの3つのテーマでセッションがありました。その中のTest Generation では、日本からの参加者の発表がありました。発表内容は、自動音声認識(ASR)システムの基本的な認識能力を確認するためのテストの観点を明確にして、観点に基づいて自動テスト方法を構築するという内容です。
PhD Symposiumは、ソフトウェアテストの研究論文の発表の場であり、この分野における研究者と学生および実務者との間の交流を促進する場です。発表内容に対して、聴講者が持論を展開したり、登壇者へアドバイスを送ったり、ディスカッションが多いセッションになります。そのため聴講者間でも白熱してしまい、時間がオーバーすることもしばしばあります。

2日目

写真/2日目の夜に開催されるバンケット
[写真6] 2日目の夜に開催されるバンケット
写真/2日目の夜に開催されるバンケット)
[写真7] 2日目の夜に開催されるバンケット

2日目はCCF and Xi'anで西安の紹介から始まります。キーノートがあり、その後メイン・セッションとインダストリー・トラックの2つのセッションが並列で進行し、共有エリアではポスターセッションが行われていました。
メイン・セッションは、Machin Learning、Web and GUI Applications、SAT and Search Based Testingの3つのテーマがありました。
Web and GUI Applicationsでは、日本から参加の発表がありました。発表は「Suspend-less debugging for interactive and/or real-time programs」がありました。ICSTでは硬い発表が多い(という印象)の中で、デモを交えての発表スタイルは聴きやすく、面白い発表でした。
インダストリー・トラックは午前と午後のそれぞれキーノートがありました。「新規性よりもインパクトとリアリズムを優先する」方針とおり、その通り実践的な発表が多かったです。

3日目

メイン・セッションとツール・トラック、中国インダストリー・フォーラムがありました。
メイン・セッションは、Coverage、Verification and Analysisの2つのテーマのセッションでした。
中国インダストリー・フォーラムは地元企業の事例発表ということで、中国語での発表でした。英語の通訳が聞けるレシーバーの配布があったため、英語で聴くこともできます。このような対応があると地元開催でも投稿しやすいだろうなと感じました。

4日目

午前はJohn Micco(Vmware)氏、Tony Chang(Huawei)氏、Ke Mao(Facebook)氏、Adithya Nagarajan(Apple)氏によるインダストリー、午後はカンファレンスの実行委員による西安案内のエクスカージョンでした。国内カンファレンスだと終始発表ということが多いと思いますが、公式に観光をしてくれるのが、国際カンファレンスの良いところでもあります。

発表のレポート

"Designing Fulfilling Test Cases with Test Aspect Model," Akiharu Satoh, Shizuka Ban, Yuzuru Harayama and Kunio Yamamoto.

写真/発表の様子
[写真8] 発表の様子

本発表は、2017年度に改訂されたUTP(UML Testing Profile)への提案であり、筆者が智美塾の代表として発表したものです。
智美塾は、ソフトウェアテストアーキテクチャの研究会でありASTERの一活動です。今回の発表に関連する活動は2017年度初めからおこなっており、2018年のInSTAにも論文を投稿し発表しました。今回はその続きであり、2回目の採択でした。
UTPはUMLでテストのための情報を記述するための拡張セットを提供します。UTPではどのようなテストをすべきであるかというようなテスト要求を記述できますが、一方でテスト要求が導出される過程を表現できません。テスト要求が導出される過程が暗黙知とならないように、我々はTest Aspectという新しい概念とUTPでの文法を提案しました。
今回の発表では、ATMを題材にしてTest Aspectのモデルを示し、そのモデルから新たなテストケースを導出したり、元の仕様を補完したりするような例を示し、Test Aspectを考えるメリットを紹介しました。発表のあとの質疑では、仕様を補完するところが自然言語ベースになっていて、せっかくUTPを用いているのだからUMLで一貫させてはどうかという意見をいただきました。
(記:佐藤 陽春)

・presentation:"Designing Fulfilling Test Cases with Test Aspect Model"

(Lightning Talks)
"Coexistence of test execution efficiency and test case accoutability," Makoto Nakakuki.

今回の内容は、論文としては採択されませんでしたが、LTとして発表してみませんか?と声をかけられました。海外で発表できる機会をいただけるのは、光栄なコトと思い、(半分以上)勢いで発表してきました。また、発表を後押しした理由として、消極的ではありますが、LTには質問はないということで、英語に対する障害も少なく感じた事もあります。ですが、発表当日、司会の方が質問を受け付け始めたのは、かなり動揺しました。 発表内容としてはドキュメント化されたテストケースの傾向を、2つの軸を定義して、テストケースポジショニングマップを使って分析し、それぞれのタイプの傾向と改善アプローチを提案するというものです。
本内容は論文として採択されなかった部分を見直し、引き続きなにかしらの形にしていきたいなと思っています。
(記:中岫 信)

・presentation:"Coexistence of test execution efficiency and test case accoutability,"

図/テストケースポジショニングマップ

感想

写真/会場近くの夜の光景
[写真9] 会場近くの夜の光景
写真/会場近くの夜の光景)
[写真10] 会場近くの夜の光景
写真/会場近くの夜の光景)
[写真11] 会場近くの夜の光景

今回が私にとって最初の海外カンファレンスでの発表経験となりました。
メンターの坂さんや智美塾関係者らにサポートしてもらいながら航空機やホテルを予約したり、発表用の英語のスライドを作成したり、現地の空港から滞在するホテルまで移動したり、外で料理を注文したりと、あらゆる経験が初めてでした。
中国そのものが初めての渡航でしたが、実際に行ってみて印象ががらりと変わりました。私が訪ねた都市のほんの一部での経験ですが、巨大でモダンなショッピングモールや、明るくて安全な地下鉄、お互い言葉がうまく通じないながらも親切に接してくれる街の人などを見ることができました。現地の料理もとても美味しかったです。このような体験も、足を運んだからこそ得られるものだと感じます。
発表についてはこちらも今回が初めての英語での発表ということと、もともと英語に自信がなかったということがあり、2か月前から発表スライドを準備し始めました。プレゼンテーションの練習も何回しただろうか・・・というくらい時間をかけました。準備のおかげか、当日は、InSTA開始直前のプロジェクタ投影チェックでスライドの端が見切れることに気づいて慌てて図の配置を直した程度で、他に大きなトラブルはありませんでした。
個人的な都合で自分の発表のある当日しか会場に滞在できなかったのが残念でしたが、それでもInSTAのほかに、MutationとITEQSの2つのワークショップにも参加でき、知識を広げられたと感じます。
海外カンファレンスに参加する時間の確保が難しかったり、英語での発表に自信がなかったりと、海外カンファレンスに対して大きな壁を感じている方もいるのではないでしょうか。当初私もそうでしたが、今回の渡航で、最初に目標を立ててひとつひとつクリアしていけば、決して容易ではないですが意外に達成できるものだなと感じました。ぜひ、いろいろなエンジニアに同じような経験をしてほしいと思います。
(記:佐藤 陽春)

ICSTへの参加は今回で3回目となります(海外のICSTは2回目)。今回はInSTA2019のLTで発表する機会をいただきました。前回のICST2018でも発表する機会をいただいていたのですが、その時は準備不足で発表(英語)がしどろもどろで散々な思いをしました。今回はその反省を生かして前回よりは時間をかけて準備したおかげで、気持ち的に余裕をもって発表でき、前回よりは良くなっていたと思っています。そして、このような機会は自分が苦手としている英語と向き合うきっかけになります。
国内では「テスト観点」と言うワードの事例が見られますが、ICSTでは「テスト観点」を具体的に示す事例をほとんど見かけません。もしかしたら、これは日本の強みなのでは?と思いました。このような事例はICSTで発表するチャンスになるかもしれません。
中国企業だけのセッションがあったこともあり、中国企業の多くの発表を聴くことができました。どの発表も勢いがあり、中国の技術躍進が感じられます。また、西安の街の賑わいからも中国の勢いが感じ取れます。こういう勢いが世界を取るのだろうと思いました。
今回、中国へは初渡航でした。おそらく、このような機会がなければ西安には来ることはなかったと思っています。カンファレンスが他国の文化に触れるきっかけになるのも海外カンファレンスならではです。学びを深めつつ観光というのも良いです。カンファレンス参加者と国際交流するも良し、同伴者で観光を楽しむのも良しだと思います(でも、行ったからには国際交流したいですよね)。
(記:中岫 信)

今回のICSTで一番印象に残ったのは、中国の企業の活躍が世界の目に触れていることでした。中国のIndustry Forum は1日で13の発表がありました。Huawei社やBaidu社といった日本でも有名な企業の最新の技術の発表はとても刺激的でした。自国で国際カンファレンスを開催するだけにとどまらず、国際カンファレンスで自国の技術を存分に紹介できる場をつくる大切さを感じました。
智美塾としては昨年に続いて連続のInSTA投稿となりましたが、継続して考え続けること、それを論理的に説明すること、英語で表現すること、それぞれの重要性を一層実感しました。自分の考えていることが論文として現れることで、他人に解説しやすくなりました。
まだまだ積極的に交流することができていないので、来年は無理矢理交流できる仕組みのあるカンファレンスに挑戦してみようかな、と思っています。最近では海外カンファレンスに参加した人の参加報告イベントなども開催されるようになり、海外カンファレンスの雰囲気はつかみやすくなっていると思います。自分に合うカンファレンスを探して参加することや、論文や事例の投稿に挑戦してみることで、自身の世界を広げてみることを強くお勧めしたいです。
(記:坂 静香)

[ページトップへ]