ASIAN 2003 報告 前田俊行.

Slides:



Advertisements
Similar presentations
P2P 技術を応用した 分散システムの排他制御機構の試作 九州工業大学 情報科学センター 山之上 卓.
Advertisements

プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
Webプロキシサーバにおける 動的資源管理方式の提案と実装
最新ファイルの提供を保証する代理FTPサーバの開発
セキュアネットワーク符号化構成法に関する研究
Riding the Design Wave II
Ex7. Search for Vacuum Problem
Ex8. Search for Vacuum Problem(2)
2006/11/30 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井 英二郎
コンパイラ演習番外編 (その2): JVM コンテスト
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
小型デバイスからのデータアクセス 情報処理系論 第5回.
F11: Analysis III (このセッションは論文2本です)
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
2007/1/11 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井 英二郎
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
米澤研究室 全体ミーティング 2010/12/22 M2 渡邊裕貴.
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
Solving Shape-Analysis Problems in Languages with Destructive Updating
Flyingware : バイトコード変換による 安全なエージェントの実行
IPv6アドレスによる RFIDシステム利用方式
TAL : Typed Assembly Language について
サーバ負荷分散におけるOpenFlowを用いた省電力法
京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知
Occam言語による マルチプリエンプティブシステムの 実装と検証
型付きアセンブリ言語を用いた安全なカーネル拡張
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
暗黙的に型付けされる構造体の Java言語への導入
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
Java Virtual Machine 高速化のためのbyte code 解析 An analysis of byte code to improve the performance of Java Virtual Machine 鈴木タカハル 谷研究室 Feb, 2003.
卒論進捗発表(4) 11/ 山崎孝裕.
Online Decoding of Markov Models under Latency Constraints
Macro Tree Transducer の 型検査アルゴリズム
相関.
社会シミュレーションのための モデル作成環境
A Provably Sound TAL for Back-end Optimization について
依存型で型付けされた 副作用のある関数のための 型保存コンパイラ
Structural operational semantics
書き換え型プログラムの生成・検証 研究課題:適切な実行戦略を効率よく探索する、 より自動化された手続きの実現 書き換え型プログラム
Ex7. Search for Vacuum Problem
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
 型推論3(MLの多相型).
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
シミュレーション物理 大槻東巳.
コンパイラ 2012年10月1日
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
Type Systems and Programming Languages ; chapter 13 “Reference”
「マイグレーションを支援する分散集合オブジェクト」
発表者: 稲葉 一浩 複雑ネットワーク・地図グラフ セミナー 2017/1/19
Eijiro Sumii and Naoki Kobayashi University of Tokyo
SMP/マルチコアに対応した 型付きアセンブリ言語
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
ソフトウェア工学 知能情報学部 新田直也.
全体ミーティング(6/3) 修士2年 飯塚 大輔.
型理論 ラッセルのパラドックス: 「集合の集合」は矛盾を引き起こす。 ラッセル、ホワイトヘッド 「プリンキピアマセマティカ」
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
黒宮 佑介(学籍番号: ) 政策・メディア研究科 修士課程2年 主査:村井 純、副査:斉藤 賢爾・中村 修・江崎 浩
2005年度 データ構造とアルゴリズム 第2回 「C言語の復習:配列」
全体ミーティング(9/15) 村田雅之.
識別子の読解を目的とした名詞辞書の作成方法の一試案
インセンティブにより自律ユーザに 高品質なオーバーレイマルチキャスト木を 構築させるプロトコルの提案
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
1.2 言語処理の諸観点 (1)言語処理の利用分野
Static Enforcement of Security with Types
黒宮 佑介(学籍番号: ) 政策・メディア研究科 修士課程2年 主査:村井 純、副査:斉藤 賢爾・中村 修・江崎 浩
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
Presentation transcript:

ASIAN 2003 報告 前田俊行

Achieving Type Safety for Low-Level Code Cyclone プロジェクトの現状について Cyclone = 安全な C 言語の方言 C プログラマが書きたくなるようなメモリ操作を型付けしたい 様々なポインタ型の導入 *, ?, @, zero-terminated pointer その上で、既存の C コードはなるべく簡単に使いまわしたい 様々なプログラム解析技術を結集 Region inference Linear type (alias analysis) など どうやらOSを書くのに使いたい、らしい http://www.cs.cornell.edu/projects/cyclone/

Self-configurable Mirror Servers for Automatic Adaptation クライアントからの要求の増減に自動的に適応してサーバ数を調節するシステムの研究 P2P型のシステム 暇なノードは近隣ノードに「暇なんですけど」と宣伝する 忙しいノードは暇なノードに「働いて下さい」とお願いする スケーラブル No single point of failure 宣伝やお願いを発行するポリシーをプログラミングできる ちゃんと上手く動くっぽい実証データあり (ただしシミュレーション)

シミュレーション実験 ミラーサーバ群で2種類のサービスA, B を提供 クライアントからのサービス要求を動的に変化させて以下の数字を計測 サービスを実行しているノード数 1ノードあたりのアクセス数 など ポリシー 実験1ではサービスA, Bとも同優先度 実験2ではサービスB の優先度を上げてある

実験1の結果 (ノード数のみ) 実線: サービスA 点線: サービスB P2Pシステムでも 動的適応できた

実験2の結果 (ノード数のみ) 実線: サービスA 点線: サービスB P2Pシステムでも 優先度づけできた

Unreliable Failure Detectors via Operational Semantics Unreliable FDs (failure detectors) という分散アルゴリズムの解析手法をスモールステップ operational semantics で言い換えてみましたという研究 言い換えによって見通しがよくなる、らしい 言い換えが正しいことが証明してある

Failure Detector: FD FD = (F, H) F : T(time) → 2P failure pattern (例) F(42) = { 3, 7 } ⇒ 時間 [0, 42] の間にプロセス 3と 7 がクラッシュする H : T × P → 2p failure detector histories (例) H(42, 5) = { 6, 7 } ⇒ 時間 42 においてプロセス 5 はプロセス 6 と 7 がクラッシュしていると考える 上記 H は F と違っていてもよい = Unreliable

FDの性質 Completeness と Accuracy であらわす Completeness Accuracy クラッシュしたプロセスを suspect すること Accuracy クラッシュしていないプロセスを suspect しないこと プロセス i がプロセス j を suspectする = j ∈H (t, i)

2種類のCompleteness crashed(F) = ∪tF(t) correct(F) = P\crashed(F)

8種類のAccuracy (1)

8種類のAccuracy (2)

Operational Semantics Scheme TI = trusted-immortal processes C = crashed processes

Operational Semantics Scheme ? @ i = プロセス i が何かアクション ? を実行する、という意味 suspect j @ i = プロセス i はプロセス j はクラッシュしたと見なす

Operational Semantics Scheme condition χ (Γ, j) = 要求する accuracy によって異なる

Operational Semantics Eventual weak accuracy をいうには◇-SUSPECT に加え、 ∃t. (TIt, Ct) Nt with TIt ≠ 0 を満たす必要がある

Operational Semantics Eventual strong accuracy をいうには◇-SUSPECT に加え、 ∃t. (TIt, Ct) Nt with TIt ∪ Ct = 全プロセス を満たす必要がある

Deaccumulation - Improving Provability Accumulate されたプログラムの自動検証は難しいので、自動的に元のプログラムに変換する方法の研究 (例) P : f (S x1) y1 y2 = f x1 (S (S y1)) (y1 : y2) f 0 y1 y2 = y2 A : g x1 = f x1 [] を、以下のように deaccumulate する D : f (S x1) = sub (f x1) (S (S 0)) (0 : []) f 0 = [] 方法: 1-state macro tree transducer を homomorphism-substitution modular tree transducer に変換する

A Calculus for Secure Mobility Crypto-loc calculus という安全なモバイル計算のモデル(プロセス計算)を提案 以下の3つの概念をまとめて導入している Location Code mobility (weak mobility) Cryptography Observational equivalence でセキュリティプロパティを定義 さらにセキュリティプロパティの証明のために labeled bisimilarity というものを定義 Observational equivalence == Labeled bisimilarity を証明した

Syntax: terms

Syntax: processes

Structural Equivalence

Reduction Relations

Observational Equivalence ここで P↓a とはプロセスPが(チャネル) a に何か output すること C はいわゆる evaluation context また、C{P} が closed なとき C は P のclosing evaluation context であるという

Labeled Semantics ここで A (agent) = (νa)(σ,P) ~ ここで A (agent) = (νa)(σ,P) σ(= substitution from variables to terms) : “敵”が知り得るデータ a : “敵”が知らない names

Labeled Semantics … 続き

Labeled Bisimilarity … の準備

Labeled Bisimilarity