Aluminum: Principled Scenario Exploration through Minimality

784 views

Published on

ICSE'13勉強会 http://qwik.jp/se-reading/9.html での論文紹介

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
784
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
3
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Aluminum: Principled Scenario Exploration through Minimality

  1. 1. Aluminum: Principled Scenario Exploration through Minimality 酒井 政裕 2013-07-09 ICSE2013 勉強会 The background image is from http://images-of-elements.com/. The image is licensed under a Creative Commons Attribution 3.0 Unported License. F1 by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram Krishnamurthi @ ICSE 2013
  2. 2. 背景 • 背景 – 高レベルの仕様記述に対して「シナリオ」(=具体例)を 探索・生成するAlloyなどのツール – シナリオの利点 • システム設計者が、その設計の帰結、見落としていた制約、 代替的なデザインなどを検討するのを助ける • 具体的なので分かりやすく、現実に対応させやすい。 • 論理学等に詳しくない、ドメインの専門家にも理解可能 • 課題 – 複数あるシナリオから、どんなシナリオをどんな順で 提示するべきか? – 小さいシナリオはしばしば病的で、微妙な問題を明ら かにすることが多い – ⇒ 小さいシナリオから提示するように出来ないか? F1
  3. 3. Alloyの例 F1 abstract sig Subject {} sig Student extends Subject {} sig Professor extends Subject {} sig Class { TAs: set Student, instructor: one Professor } sig Assignment { forClass: one Class, submittedBy: some Student } pred PolicyAllowsGrading(s: Subject, a: Assignment) { s in a.forClass.TAs or s in a.forClass.instructor } pred WhoCanGradeAssignments() { some s : Subject | some a: Assignment | PolicyAllowsGrading[s, a] } run WhoCanGradeAssignments for 3 コードと図は Aluminum: Principled Scenario Exploration through Minimality (by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram Krishnamurthi) より抜粋
  4. 4. F1複数シナリオの列挙 図は Aluminum: Principled Scenario Exploration through Minimality (by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram Krishnamurthi) より抜粋 … Next Next Next
  5. 5. Alloy を変更し Aluminum を実装 機能 1. GenerateMin – 極小なシナリオの生成・列挙 (関係からタプルを一つでも取り 除くと、制約を満たさなくなる) 2. Augment – シナリオを、関係にタプルを追 加することでユーザが拡張 3. ConsistentTuples – シナリオに対し、関係に追加可 能なタプルを計算 F1 シナリオ探索の スタートポイント 余計なものを含ま ない、シナリオの 本質に注目! 対話的探索! 「制約を追加して 再探索」という コンテキストス イッチを減らす
  6. 6. F1 図は Aluminum: Principled Scenario Exploration through Minimality (by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram Krishnamurthi) より抜粋 Alloy Aluminum Next Next Next Next 列挙の比較
  7. 7. • アルゴリズムは素直 – SATレベルでの制約の順次追加による極小化など – ただし、Symmetry-Breakingは極小化との相互作用の 問題から、Alloy(KodKod)と別のヒューリスティクス を採用 • 実験を通じた観察 – Alloyは特定の極小シナリオの上位のシナリオばかり を列挙し、それ以外を数百回以上も出さないことが 多い – それまでにユーザが探索をやめてしまい、重要・危 険なシナリオを見逃す危険性 – Aluminumはシナリオ空間の本質をユーザに早く見 せる • 性能への影響はあまりなし F1

×