This slide was a material for the “Reading PLDI Papers (PLDIr)” study group written by Kazuhiro Inaba ( www.kmonos.net ), under my own understanding of.

Slides:



Advertisements
Similar presentations
問題案 : 稲葉 解答:秋葉、稲葉.  「 + 」の辺を通ると所持金が 1 円増える  「 - 」の辺を通ると 1 円減る (文無しは通れ ない)  始点を0円で出て終点に0円で着く最短路 は?  |V| ≦ 250 =
Advertisements

1 決定不能な 旅 人 k.inaba 二 ○ 一 ○ 年一 ○ 月 決定不能の会 Reading: F. Berger & R. Klein, A Traveller’s Problem Symposium on Computational Geometry, 2010
数値解析シラバス C言語環境と数値解析の概要(1 回) C言語環境と数値解析の概要(1 回) 方程式の根(1回) 方程式の根(1回) 連立一次方程式(2回) 連立一次方程式(2回) 補間と近似(2回) 補間と近似(2回) 数値積分(1回) 数値積分(1回) 中間試験(1回) 中間試験(1回) 常微分方程式(1回)
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
SS2-15:A Study on Image Recognition and Understanding
配列の宣言 配列要素の初期値 配列の上限 メモリ領域 多次元配列 配列の応用
かぞく Chapter 3 Review This presentation demonstrates the new capabilities of PowerPoint and it is best viewed in Slide Show. These slides are designed to.
This slide was a material for the “Reading PLDI Papers (PLDIr)” study group written by Kazuhiro Inaba ( ), under my own understanding of.
現在完了形 (present perfect tense)
4章 制御の流れ-3.
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
All Rights Reserved, Copyright (C) Donovan School of English
The authors have no actual or potential declaration to make.
文法(ぶんぽう)5--Invitation
稲葉 一浩 (k.inaba) Python と プログラミングコンテスト 稲葉 一浩 (k.inaba)
一次関数と方程式 本時の流れ ねらい「二元一次方程式をグラフに表すことができる。」 ↓ 課題の提示 yについて解き、グラフをかく
3 二次方程式 1章 二次方程式 §2 二次方程式と因数分解         (3時間).
数個、数十個のデータ点から その特徴をつかむ
3 一次関数 1章 一次関数とグラフ §3 一次関数の式を求めること          (3時間).
HPCA? 何それおいしいの?.
疑問詞+ to 動詞の原形.
プログラミング入門2 第6回 関数(2) 芝浦工業大学情報工学科 青木 義満
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
シミュレーション物理5 運動方程式の方法: サブルーチンの使い方.
Paper from PVLDB vol.7 (To appear in VLDB 2014)
Only One Flower in the World
日本人の英語文章の中で「ENJOY」はどういうふうに使われているのか
IT入門B2 ー 連立一次方程式 ー.
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
Conflict of Interest disclosure slide for representative speakers
Licensing information
大域的データフロー解析 流れグラフ 開始ブロック 基本ブロックをnodeとし、 基本ブロック間の制御関係をedgeとするグラフを、
Research fund □scientific research fund □contract □donation 
プログラムの制御構造 選択・繰り返し.
The Syntax of Participants シンタックスの中の話者と聞き手
#include <stdio. h> int main() { /. 表示をする
Bellwork: 1)宿題がたくさんあるのに、ゲームをしました。 2)大好きなのに、結婚ができません。
“Separating Regular Languages with First-Order Logic”
「ただものじゃない」 これから~するもの adjective infinitive.
アルゴリズムとデータ構造 補足資料5-2 「サンプルプログラムsetop.c」
情報源:MARA/ARMA 加 工:成田空港検疫所 菊池
前回の練習問題.
Disclosure of conflict of interest
受け身の疑問文 Practice ~ed・・・?.
知能情報工学演習I 第7回( C言語第1回) 課題の回答
Research fund □scientific research fund □contract □donation 
クイズやゲーム形式で紹介した実例です。いずれも過去のインターン作です。
So・・・that~.
プログラミング基礎B 文字列の扱い.
ねらい「二次方程式の解き方を理解する。」
二次方程式の解き方 ねらい「二次方程式を、平方根を利用して解くことができる。」 本時の流れ ↓ 前時の復習でax2=bの解き方を確認する。
Term paper, report (2nd, final)
This slide was a material for the “Reading PLDI Papers (PLDIr)” study group written by Kazuhiro Inaba ( ), under my own understanding of.
インスタンスの型を考慮したJavaプログラムの実行経路の列挙手法の提案
プログラミング 3 2 次元配列.
This slide was a material for the “Reading PLDI Papers (PLDIr)” study group written by Kazuhiro Inaba ( ), under my own understanding of.
Please don’t… …so as not to…
Indirect speech Toshiyuki Naka.
This slide was a material for the “Reading PLDI Papers (PLDIr)” study group written by Kazuhiro Inaba ( ), under my own understanding of.
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
構造方程式ゼミナール 2012年11月14日-11月21日 構造方程式モデルの作成.
発表者: 稲葉 一浩 複雑ネットワーク・地図グラフ セミナー 2017/1/19
Jan 2015 Speaker: Kazuhiro Inaba
Japanese for Korean Learners
Speaker: Kazuhiro Inaba Paper Introduction from WSDM 2015
Research fund □scientific research fund □contract □donation 
This slide was a material for the “Reading PLDI Papers (PLDIr)” study group written by Kazuhiro Inaba ( ), under my own understanding of.
二次方程式と因数分解 本時の流れ ねらい「二次方程式を、 因数分解で解くことができる」 ↓ AB=0ならば、A=0,B=0の解き方の説明
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
プログラミング 2 静的変数.
Presentation transcript:

This slide was a material for the “Reading PLDI Papers (PLDIr)” study group written by Kazuhiro Inaba ( www.kmonos.net ), under my own understanding of the papers published at PLDI So, it may include many mistakes etc For your correct understanding, please consult the original paper and/or the authors’ presentation slide!

The Set Constraint/CFL Reachability Connection in Practice    k.inaba (稲葉 一浩), reading: PLDIr #12 Mar 12, 2011 paper written by J. Kodumal and A. Aiken (PLDI 2004) The Set Constraint/CFL Reachability Connection in Practice

解きたい問題(の例) 「tainted とマークされた値が untainted マークの変数に入らない」の静的検証 int id(int y1) { int y2 = y1; return y2; } int main(void) { tainted int x1; int z1, x2; untainted int z2; z1 = id(x1); // call site 1 z2 = id(x2); // call site 2 }

典型手法: グラフの到達可能性問題と見なす int id(int y1){int y2=y1; return y2;} int main(void) { tainted int x1; int z1, x2; untainted int z2; z1 = id(x1); // call site 1 z2 = id(x2); // call site 2 } 危 から 安 に行ける? x1 y1 y2 z1 z2 x2 危 安

Betterな精度の典型手法: グラフのCFL到達可能性問題と見なす int id(int y1){int y2=y1; return y2;} int main(void) { tainted int x1; int z1, x2; untainted int z2; z1 = id(x1); // call site 1 z2 = id(x2); // call site 2 } 危 から 安 に c1r1 | c2r2 で 行ける? x1 y1 y2 z1 z2 x2 危 安 r1 r2 c1 c2

CFL Reachability を解く典型手法: “Set Constraint” 問題に帰着 CYK構文解析 + Warshall-Floyd 到達可能性 多項式時間だけど実用には厳しい重さ ヒューリスティックス Solver のある 問題に帰着  “Set Constraint” 問題

“Set Constraint” 問題 cons(X, Y) ⊆ Y nil ⊆ Y 1(Y) ⊆ one cons こんな連立方程式を解く問題。 集合Xの要素とYの要素をconsしたら Y に入る nil というアトムは集合 Y に入る 集合 Y の cons の形の要素の第一要素はone cons(X, Y) ⊆ Y nil ⊆ Y 1(Y) ⊆ one cons

既存のやり方の流れ r1 r2 c1 c2 解く cons(X, Y) ⊆ Y nil ⊆ Y 1(Y) ⊆ one cons int id(int y1){int y2=y1; return y2;} int main(void) { tainted int x1; int z1, x2; untainted int z2; z1 = id(x1); // call site 1 z2 = id(x2); // call site 2 } x1 y1 y2 z1 z2 x2 危 安 r1 r2 c1 c2 cons(X, Y) ⊆ Y nil ⊆ Y 1(Y) ⊆ one cons 解析の問題を CFL Reachability に CFLReachability を Set Constraint に 解く

 まだ遅い 問題点 r1 r2 c1 c2 cons(X, Y) ⊆ Y nil ⊆ Y 1(Y) ⊆ one z1 z2 x2 危 安 r1 r2 c1 c2 cons(X, Y) ⊆ Y nil ⊆ Y 1(Y) ⊆ one cons CFL Reachability を Set Constraint に [Melski&Reps 97]  まだ遅い

観察 c1 r1 r2 c2 危 一般の CFLReach を解きたいわけじゃない x1 y1 y2 z1 z2 x2 危 安 r1 r2 c1 c2 一般の CFLReach を解きたいわけじゃない プログラム解析から現れるような CFLReach が解ければよい “Call-Ret の対応が取れてる” を表す文法の CFLReach が解ければ十分では?

この論文のやったこと: “DyckCFL” に特化した帰着法 k-DyckCFL S ::= P* P ::= (1 S )1 | (2 S )2 | … | (k S )k 「対応のとれた括弧の列」

tbw

結果 漸近計算量 O( |文法|3 |グラフ|3 )  O( |文法| |グラフ|3 )