光るソフトウェア工学研究大阪大学 大学院情報科学研究科/
産業技術総合研究所 情報技術研究部門

井上 克郎

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

「光るソフトウェア工学研究」とは光る研究 →自分がワクワクし元気になる研究•井上の研究の振り返り•RQ１： 光るソフトウェア工学研究とは？
•RQ２： どうすれば光るのか？

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University2

１９７８年 嵩 忠雄先生の研究室へ1999 IEEE Claude E. Shannon Award• 符号理論、暗号• 形式的検証、項書換え系• ソフトウェア開発環境• マイクロプログラム計算機

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University3

1981年 修士論文

1977 ACM Turing Award
受賞者のJohn Backusが提案する関数型言語のインタプリタ作成

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University4

1984年 博士論文

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

5

行ハ そワ
うこう イだ6

ハワイでの２年間の研究成果

79 citations
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

7

1986年 大阪大学に戻り鳥居研究室へ
鳥居宏次先生• エキスパートシステム• 囲碁プログラム• 開発環境• ソフトウェアプロセス

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University8

ICSE’87, Monterey, CA

1,243 citations
9

ICSE’88, Singapore

26 citations
10

ICSE’89 Pittsburg, PA

29 citations

プロセス研究1990年代に入っても継続•いろいろなプロセス定義言語•プロセス実行環境

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

12International Software Process Workshop•１週間の合宿 （Napa, ... )• 20-30名程度の参加者– Osterweil, Balzer, 片山先生、...

•プロセスの言語、記述法、適応法、メタ言語、…
•自分は１週間ほとんど発言できず...

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University13すこしきっちりしたことやりたいな
役立つツール作りたいな

すこしきっちりしたことやりたいな
役立つツール作りたいな
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

14

ICSE’81 San Diego, CA

4,346 citations
15

TSE ’84

1,087 citations
16

Scientific American ’91

14,966 citations

17

ICSE’99 Los Angeles, CA

55 citations18

19

プログラムスライスの限界•ポインタ解析、配列解析などきれいでない世界•スケーラビリティの限界•実用的なツールの開発、入手しんどい

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

20コードクローン研究•1999年ごろ、企業の人との雑談がきっかけ– 人手による同一コードの管理の限界（数百万行、20年以上管理）•いい方法ないか、調査– いくつかのクローン研究、システムはあったが、実用性は？

•自分で作ろう！
– 生物情報の先生にいい本とアルゴリズム教えてもらう– パワーあふれる学生
xyxyz% 1xyz% 2yxxyz%
yz%
34z%
5z%
6%

71 2 3 4 5 6 7x x y x y z%

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

21

クローン検出ツールCCFinderの開発

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University22そうだ、TSE、書こう！

•2000年7月 最初の投稿•2001年1月 Major Revisionの要求•2001年8月 Minor Revisionの要求•2001年9月 採録通知•2002年7月 TSEに掲載

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

23

TSE’02

CCFinderの論文の推移
TSE 2002年7月号掲載

1,392 citations (2017年8月29日現在)
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

25

SE分野での被参照数の高い論文100

Top Author ?

Total Number of Citations

Average Annual Number of Citations

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

26

コードクローン分析技術の普及活動•2002年から2007年にかけて企業向けコードクローン分析技術の解説と演習を行うセミナー開設•企業での活用例などの紹介•技術の普及、ツールCCFinderの知名度向上に貢献（論文の被引用数にも...）•多くの企業との共同研究。国際共同研究も（Samsung,MS Research -> Xiao, Visual Studioのクローン分析機能)

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

27

ICSE’07 Minneapolis, MN

153 citations

28•コードクローンの論文いっぱい書いた、満足！
•やり尽くした感。残ったテーマはコスパが悪い...
•次はコード検索だ！
– コードクローンの研究の延長線– GoogleのPage Rankの手法に感化、ソフトウェアの部品の重要度も同じように評価

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University29

コード検索ツールSPARS-J
ICSE’03

TSE’05128 citations
182 citations
30

SPARS-J論文の被引用数の推移

ICSE’03

TSE’05

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

31

クローンと検索の２つの研究クローンの研究

検索の研究•1999年〜•会社のニーズが出発点•方式の提案、実装•ツールCCFinder•TSE, ICSE, MSR, ...
(総計>1,500参照)•ツールの配布、保守•活発な応用（自分、他人も）•2003年〜•自分の発想が出発点•モデルの提案、実装•ツールSPARS-J•ICSE, TSE, ...
(総計>300参照)•いくつかのテスト運用、Webサービス•他への技術転移ほぼなし

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

32

コード検索をきっかけにMining Software Repositoriesへ
1st International Workshop on Mining Software Repositories MSR
2004, Edinburg, Scotland, U.K., 2004.

Organizers
Ahmed E. Hassan
Richard C. HoltAudris Mockus
Program Committee
Harald Gall
Les Gasser
Daniel German
James Herbsleb
Katsuro Inoue
Philip Johnson
Dewayne Perry
Andreas Zeller

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University33

計測・検索対象
広target

評価・分析

フィードバック

対象

目的

形態

プロジェクト群（企業内全資産、全オープンソース等）

パターンや部品、知見の抽出、利益予測

部品共通化、リファレンスモデ
ル・標準化
25.0%

3,500,000
3,000,000

20.0%

2,500,000

単一プロジェクト

進捗把握、コスト管理
Away
On Business trip

OnlineI’m busy...
Task XX

既存のソフトウェア
工学
技術

狭Task XX

Task XX

Online
I upload the file.
Task XXTask XX

Task XX

Task XX

各開発者の作業や生産物

Jul.

Busy

2002

Massage:

12
34
56
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

task1

2,000,000

10.0%

1,500,000
1,000,000

5.0%
0.0%

500,000
m10
m11
m12
m13
m14
m15
m16
m17
m18
0.6
0.7
0.8
0.9
0.9.1
0.9.2
0.9.2.1
0.9.3
0.9.4
0.9.4.1
0.9.5
0.9.6
0.9.7
0.9.8
0.9.9
1.0
1.0.2
1.1
1.1a
1.1b
1.2.1
1.2a
1.2b
1.3a

Mega Software Engineering

15.0%

0version

プロセス改善、資産再利用

NARA ProjectIt will finish soon...

Send

Current task

Category

Analysis Use-case

Req. Dev.

startdelivery

MD02.06.2
402.07.2
932h

Unfinished
OrderMrg
ProductMrg
task2
Related file
StocCont
CoutomerData

operationtask3

File
MassageChat

ユーザビリティ・問題把握

ヘルプ、ツール・ガイドライン（４）ソフトウェアの状態
マウスカーソル（１）人間の状態
ソフトウェアSoftware
Artifact
プロダクト

注視点

④

（３）ソフトウェアから人間への呈示情報（２）人間からソフトウェアへの入力
人間

①

②

③

（５）プロダクトの状態

34ネット上のコード検索
自前のレポジトリの限界

ネット空間にあるソフトウェア資産の活用

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

35

ICSE’12 Zurich, Switzerland

19 citations

Code Clone に関する論文数推移
1800
1600
1400
1200
1000
800
600
400
200
0~00

01~05

06~10

11~15

16~37

ペンペン草も生えないまでに…

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

38

ICSE’04

FSE’04

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

39

FSE’14 TSE’14 ICSE’15

J. EMSE’17

= 0.269+
イチロー

衣笠

0.323

0.270

42

0.269 < 真の打率 < 0.474
43

RQ１： 光るソフトウェア工学研究とは？

44

光る研究？
•当然、人によって考えはいろいろ••••お金昇進論文
産学連携

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

45

SE研究は金が儲かるか？

お金

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University46

1. ＄１００？
2. ＄１,０００？
3. ＄１０,０００？
4. それ以上？
ヒント：教授の平均年収$8,60047SE系のベンチャーの例

Gail Murphy
2007年設立

Prof. of UBC &Chief Scientist and Co-Founder of Tasktop

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

48

SE研究で昇進できるか？
•情報科学分野の中でも地味な分野– インターネット、人工知能など、明らかなブームはなし•しかし無くならない分野– 企業で必要とされている– 学生の多くは、SEとして就職– 教育を考えれば無くせないはず•欧米では積極的な移動でプロモーション獲得

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University49

A Caseアリ オウニ (チュニジア出身、SBSE分野）• 2014年11月 モントリオール大修了• 2014年12月 阪大、特任助教• 2016年8月 Assistant Prof. UAE Univ.
• 2017年8月 Assistant Prof. Univ. Quebec
in Montreal

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University50論文、論文、論文•大学や研究機関にとっては論文の発表は必須– 近年より良い場所に多数の論文発表を求められるプレッシャー増大– 昔はのんびりしてた...

•良い場所
ICSE > FSE > ASE > … > ASPEC > … ?
TSE > TOSEM > EMSE > … > JSS > … ?
Tire 1 : TSE, ICSE, … Tire 2: … ?
•論文数– 論文数 vs. 被引用数
– H-index ?
H-indexがxの人： x回以上参照されている論文がx本以上ある
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

51

Top Publications (English)

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

52

Top Publications (日本語)Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University53よい論文を書くには！

• 鵜林先生のSES-2011のチュートリアル• 良い論文書くのに必要なこと、全部述べられている！
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

54

ちょっとだけおせっかいを•いろいろなPCやエディターやってきた– ICSE(8), FSE/ESEC(3), MSR(9), ...
– TSE Associate Editor, J. EMSE Editorial Board, ...

•通りやすい論文の傾向
改善論文
成果

開拓論文

DC

B

X

A

テーマ
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

55

研究の目的とは...

？

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

56

ツール開発、OSS展開、産学連携
ーしっかりした開発には手間暇かかるー研究的な新規性、有用性がなかなか言いにくいー使ってもらえるまでには、コミュニティーや会社との付合い、理解が必須。多大なコスト＋いったん使われると、それを元に論文書きやすい＋共同研究費などで資金的に潤う＋OSSコミュニティでの認知度向上＋新たな課題、要求などが見え、現実の課題解決に直結

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

57

お金

昇進

論文
産学連携

58

RQ２： どうすれば光るのか？

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

59光るためのいくつかの論点
1. テーマ選び・論文戦略
2. 産学連携・ツール開発
3. 予算獲得
4. 研究と教育
5. 国際化（留学生、国際交流）
6. 大学を取り巻く環境
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University60

1.1 テーマ選び

テーマ

結果

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University611.2 テーマ選びの変遷•学生時代– 教員による指導 vs. 自分の選択– その後のベース。 かなり重要– 形式的仕様 vs. インプリメント– 形式的定義、アルゴリズム•自立に向けての時代– 研究室グループのテーマ– 自分のベース研究の発展– 新たなトレンド、ニーズの勉強– メトリクス、開発環境– プログラムスライス– プロセス、生物情報•自己責任の時代– グループを牽引できる魅力的なテーマ – マイニング、OSS関連– コードクローン、コード検索– 学術的に競争力あるテーマ– コードクローン技術応用、...
– 社会にインパクトのあるテーマ
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University621.3 論文の発表戦略•良いテーマ・結果をふさわしい時期のふさわしい場所に発表– いい場所には持てる力全部注ぐ。論文分割戦略は？
– ふさわしい時期とは？

人々の興味？

うわっみんな来た！
いけいけドンドン
やっと認知

苦しいけど継続
まだやってんのと言われ…

時期尚早

時間
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University631.4 論文の発表戦略（その２）

人々の興味サーフィン戦略

テーマ3
テーマ2
テーマ1
時間
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University641.5 他分野への参入

DBLang.
SEAI

自分のベースを固めつつ、新しいテーマや分野も顔を出してみよう！
t
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University65

2.1 産学連携の重要性•ソフトウェア工学は、所詮、経済原則の上での科学？
– 高いプロダクト品質、高いシステム性能、高い開発効率…

•経済感覚がないと研究の目標が定まらない•産学連携を実施することで、感覚を磨く

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University66

2.2 大学病院モデル
大学と社会との連携モデル

患者・研修医、お金、ニーズ

人的資源、シーズ

大学

研究費、実データ、実践知識

治療、知識やエキスパート普及
大学病院

社会

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University67

2.3 ソフトウェア工学の共同研究

人的資源、アイディア

実践的評価、資金、ニーズ

大学

実問題、お金問題解決
知見、人材ソフトウェア工学ラボ

産業界

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University682.4 産学連携のメリット•少々の手間を超えるメリット– 研究のネタ（ニーズ）の発見– 産業界の動き把握– 実践的な研究評価ができる•論文の時の強みになる•少し付き合って、合わなそうなら早い目に撤退

SE研究は使われてこそ存在価値あり
とりあえず産学連携やってみよう！
似たような意見
Tao Xie, Planning and Executing Practice-Impactful Research,
Chinese Computer Federation Software Engineering Special
Interest Group Young Researcher Forum, Aug. 2017.
https://www.slideshare.net/taoxiease/planning-and-executingpracticeimpactful-research
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University69

2.5 ツール開発、OSS貢献•産学連携の一つの形態•ツール開発は楽しい– コードが動き、アイディアが実現される– ユーザーがついて、実用化が進み、フィードバッグが励みになる– ユーザーが増えるとそのツールの論文の被参照数もあがる•ツール開発は苦しい– 新規性、有用性を示すのは努力が必要•めちゃくちゃ時間をかけて論文一本。修了までに間に合わない•システム開発論文に走る(?)– 保守の要求やセキュリティ対応に時間が取られる•研究アイディアの重要な評価方法•近年、論文に付随していろいろなデータセット要求される

ぜひ日本からどんどんOSSやツールの貢献が増えてほしい！
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University70

3.1 プロジェクト予算獲得
科研費•出せるものは何でも出せ、という圧力（大学、研究機関、民間）•採択率は下がってる？

•予算の使い勝手はよい•比較的自由な研究プロセス、評価も軽い
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University713.2 プロジェクト予算獲得（その２）国のプロジェクト（含む文科省）•いろいろプロセス、予算使途に制約が多い、評価が厳しい•忙しい、途中で目標など変えにくい•個々の予算規模大きい、予算総額は横ばい

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University72

3.3 プロジェクト予算獲得（その3）獲得した予算を何に使うか？
•設備費– 教員、学生の計算機•旅費– 教員、学生の発表旅費•人件費– 博士課程学生へのサポート– 国際公募で優秀なポスドク雇用

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University73

4 研究と教育•教育を充実するようにとプレッシャー増大– 授業日数の確保– 演習の充実、教育の実践化– 研究室の学生も手間がかかる。昔のように上級生が下級生を面倒みない...

•割けるエフォートは有限で手を抜きたくなる•しかしSEの目的（ソフトウェアの品質、生産性をあげる）に対して、技術者を教育しレベルアップをはかる、というのは、最も効率的な手段 → David Notkin先生の意見•教育の準備をすることによって研究を整理できる（特に大学院）。欧米の大学院教育は、研究に密接に関連

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University745.1 国際化（留学生）•研究に意欲を持つ日本人学生の減少、特に博士課程学生の減少•留学希望学生の増加•必然的に留学生が増加 (井上研約1/4)→ 悪いことではないが...
– 留学生指導に手間暇かかる– 意欲の高い素晴らしい学生もいる– そうでない学生もいる、しばらくは分からない– 日本人学生への波及効果を期待•何が自分、研究室、大学、日本の目標なのかよく考える...
•指導体制やスペースのキャパを見ながら、慎重に受入れ拡大
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University75

5.2 国際化（国際共同研究）•できるだけ交流を増やしたい– 研究のアクティビティ向上– 大学の希望（共著論文が多い方が、大学ランキング向上）– 学生等の刺激•しかし、刺激を避けたがる学生も多くて困りものだが•新規の相手と短期間ではなかなか成果でにくい– 年単位の付き合い、必須•科研費等の予算を国際交流（行く、呼ぶ）に使う•呼ぶためにはいろいろな手続き、環境設定大変– 秘書、ボランティア学生などの力も必要– 教員自身も保証人等になったり– サポート欲しい（大学でも一部手伝ってくれるがまだまだ）•密度の濃い研究打合せ– ビジターは時間があるが、こっちは日常業務に追われてる
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University76

6. その他現在の大学を取り巻く環境•日本の大学、特に国立大学は厳しい状況– 運営費交付金の毎年の削減によるポスト削減、予算のカット– 文科省等の各種プロジェクトの受託とその実施– 入試の複数回実施、入試ミスへの厳しい対応などによる負荷上昇– 各種コンプライアンスの強化– 大学ランキング向上、競争的プロジェクトの獲得圧力– 優秀な高校生獲得のためのいろいろな施作実施（改組、イベント等）– 大学改革のための学内会議、調整– プロパー教員の役職へのアサイン...
•こういう環境で落着いて研究できるか？
– せざるを得ない！海外は落着いてるように見えるが中では大変？
– できるだけ若いうちに集中的に研究– 夏休みなど、一定期間、確保する習慣
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University77

RQのまとめ•RQ1: 光るソフトウェア工学研究とは？
– 人によって価値観が違うが、SEは産業界目線大事– 産業界と積極的に交流して価値観を鍛えよう•RQ2: どうすれば光るのか？
– No Silver Bullet !
– 企業とのコラボを大事にして、社会的なインパクトの大きそうな競争力あるテーマ選び、お金を獲得するために申請書書きをがんばり、獲得した予算で優秀な外国人ポスドクを雇い、教育にも研究との関連性を意識しながら手を抜かず、大学改革の諸事業に参画する– 自分の価値観を磨いて、自分のリソースを賢く分配し投入しよう

よく言われてることと同じだ！新規性なし。
１例のみで一般化できない！定量的評価なし。
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University78

将来に向けて（その1）
中長期的なビジョンや夢を持とう•ますます短期的な成果を重視される世の中の傾向– ある程度、短いサイクルの研究も必要（プロの研究者として）– しかしそれだけでは自転車操業…
•将来の環境の変化を常にチェック– ハードウェア、ネットワーク– 周辺技術（例えばAI、GPU、クラウド、OS、…）•今はスケールしない問題でも将来的には実用化でき、大きなブレークスルーが期待できるテーマに夢を持つ。たとえば– プログラムの完全履歴追跡– 人類が作った全プログラムの収集– バグの完全自動修正…

チャンス到来と思ったら全リソースを投入しよう！
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University79将来に向けて（その2）
ソフトウェア工学をベースに「ソフトウェア」のプロに！
•従来のソフトウェア工学の考え方– 品質の高いソフトウェアを効率よく開発する技術– まず仕様ありき。仕様に対して、安くてうまいソフトウェアを提供するという、仕様の奴隷•ソフトウェアは今やモノ・サービスの価値を差別化する強力な手段– 魅力ある製品になることが必須。スピード重視。品質は二の次– 仕様はない、ビジネスやシステムレベルの新たなアイディアを、ソフトウェアに落とし込む力•ソフトウェアに関するビジネス分析力、企画力、実行力…

•「私の専門はソフトウェア工学です」– 自分で自分の可能性を縛ってないか？

ソフトウェアのプロとしてビジネスやシステムのイノベーションに関わろう！
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

80ありがとうございました81