Registration info |
日本語か英語がチョッット話せる生物 Free
FCFS
|
---|
Description
静的コード解析とこの勉強会について
静的コード解析をご存知でしょうか。静的コード解析とは、コンピュータのソフトウェアの解析手法の一種で、ソフトウェアを実行することなく解析を行うことです。このような手法には以下のように様々な実装があります:
- ATS, B-Method, CBMC, Coq, Coverity Scan, CSP, Dafny, F*, Frama-C, FreeSafeTy, Infer, Isabelle, SATABS, SPARK, Spin, Uppaal, VDM, VeriFast, Why3, boogie, cogent, corral, seL4, vcc, その他
しかしこれらの手法は特性が異なります。メモリの安全性しか検査できないものや、実行バイナリを数学的に証明できるものまで幅があるのです。実際の製品に応用する際には「どの手法が製品のどの部分に適しているのか」知っておく必要があります。
また、実際の製品の安全性は単に設計すれば済む問題ではありません。お客様が製品を入手する際に、その製品はどのような検証をなされていて、どの程度の安全性なのか納得していただいた上で、安心して使用していただかねばなりません。そのためにはこれらの手法をわかりやすく初学者に解説できる必要があるのです。
この勉強会は上記のような静的コード解析についての意見交換を目的としています。
発表スタイルと発表者の募集
この勉強会では発表者を毎回募集しています。基本的に発表者は「自分の話したい内容」を「自分の話したい形式」で「自分の意図したレベル」にて発表できます。無理に高度な話をする必要もありませんし、無理に初心者にわかりやすくする必要もありません。
ただし、初心者はわからないところを(ある程度)質問できるものとします。おそらく初学者からは、この勉強会で発表者が宇宙語を話しているように見えるでしょう。ただし、主催者はあまりにも初歩的な質問内容であった場合には任意のタイミングでその質問を打ち切ることができることとします。
発表者は可能であれば当日の発表資料を後日公開してください。勉強会に参加できなかった方々にも知見を共有したいためです。公にしたくない内容を発表する発表者は、事前にその旨を主催者に申告してください。
建設的な議論のために
主催者自身が建設的な議論を阻害しがちなので、議論のやり方についてルールを導入しようとしています。 今回の勉強会では具体的なルールを制定しませんが、参加者一人一人が以下の文書を読むことを推奨します。
また本勉強会で困ったことなどご意見がありましたらMetasepiメーリングリストまでご連絡ください。対応いたします。
Rust行動規範
コミュニティに参加する全員が尊守すべきルールです。 この文書はRustコミュニティに向けたものですが、本勉強会が大規模化するにあたり、参考にして独自の行動規範を導入する予定です。
はじめてのBillGレビューのこと
ビル・ゲイツは仕様書のレビューの際に以下のように語ったそうです。
「これをどうやって実現するのか本当に詳細に調べた者が誰かいるのか? たとえば、日付と時刻に関するあのたくさんの関数だ。Excelには日付と時刻の関数がすごくたくさんある。Basicが同じ関数を持つようになるのか? それが全部同じように動くようになるのか?」
私達は研究者ではありません。製品を設計する技術者です。理学ではなく工学に属するのです。 また論文に書いてあることや有識者の見解を鵜呑みにすることは実際の製品を作る上で危険です。「この技術は本当に動くのか?」という疑念を常に持ちましょう。 実際に技術に触れ、使ってみて、実装を読まなけれ真実は見えません。
ファスト&スロー
人間の脳は素早い判断を行なうシステム1と熟慮して論理的に考えるシステム2があるそうです。 システム1ではなくシステム2で考えてから発言することを心掛けましょう。 (もっとも主催者自身がシステム1ばかり使ってしまう傾向があるのですが。。。)
持ち物
- Windows/MacOS/LinuxいずれかのOSがインストールされ、無線LANに接続可能なノートPC
- マウス
当日の内容
仮ですが、以下のようなスケジュールを想定しています。
- 12:45 ビル1階のファミリーマート飲食スペースに集合してください
- 13:00-14:00 「自己紹介と今日話せるネタ出し」 by 全員
せっかく勉強会に集まったので、交流を深めるために自己紹介をしましょう。持ち時間は一人5分以内です。またもし勉強会当日に話せるネタがある場合には「XXXの発表をしたいです」と発言してください。予定を調整します。主催者が発表ネタを作るのに苦しくなってきたので新しいネタを供給していただけると嬉しいです!
-
発表募集中です!
-
「SyncStitch による設計時正当性検証ハンズオン (240分~)」 by @ hatsugai@principia-m.com
SyncStitch による設計時正当性検証のハンズオンを準備しました.挙行するかどうかはいつものように投票で決めていただけばいいかと思いますが,事前準備が必要なのでお知らせしておきます.リンク先にインストールの手順をまとめておきました. link:SyncStitch インストールメモ インストールで困ったらメールで相談してください.あとマウスが必須です. 予定している内容: 1.理論の説明 2.SyncStitch 操作説明 3.基本的なプロセスの観察 4.正当性検証の事例.参加者の興味に応じて調整します.
- 「KreMLin入門 (30分)」 by @masterq
F*のサブセットで、C言語にコンパイルできるLow*のコンパイラを、KreMLinユーザマニュアル http://fstar-ja.metasepi.org/doc/kremlin-book/ を読みながら入門します。
- 「ATS最新動向 2018年秋 (30分)」 by @masterq
一時期話題になったATS言語。2018年に入って「ATS3の設計開始宣言」と「Vanessa McHaleがATS使いになった」ことでATS言語界隈は大きく変わる兆しがありました。ATS3の最新動向とVanessaが設計したツール群について簡単に紹介します。当日の資料はこちらです。
- 「VeriFastの光と闇(FreeRTOS編) (30分)」 by @masterq
@masterqがFreeRTOSのタスクを少しだけVeriFastで検証してみました。その結果実感したVeriFastの良い面と悪い面について共有します。当日の資料はこちらです。
- 「懇親会の調整 (お店を選んで参加人数で予約します) (15分) 」by 全員
- 17:45-18:00 「次回の計画 (15分)」 by 全員
会場について
永和システムマネジメント様に会議室を提供していただきました。ありがとうございます!
- 場所 : 〒101‐0041 東京都千代田区神田須田町2-3-1 NBF神田須田町ビル7F map(1階がファミリーマートのビルです。)
開催日は休日のため、ビル自体が入館制限されており、関係者でないと入れません ので注意ください。
参加者のみなさんは次の段取りに従って入館してください。
- 12:45 に同ビル1階のファミリーマートの飲食スペースあたりに集合してください。
- 入館できる人が引率して、まとまって入館します。
- 遅参した場合は、ファミリーマートに到着したら 090-3524-7064 まで電話してください。別途入館を支援します。
- 主催・発表予定者で、早めに来たい方には、別途調整しますのでご連絡ください(会場は 12:30 から使えるようにしてあります)。
- 電源、Wi-Fi は自由に使えます。
- 飲食は自由です。自動販売機があります。(ゴミの後始末は各自でお願いします。)
- その他この勉強会において困ったことがありましたら 090-3524-7064 まで電話をください。主催者 が対応いたします。
懇親会
18:30から以下で懇親会を開催します。
- 春天酒坊 03-6206-9200 東京都千代田区神田須田町2-6-2-101
協賛
- 永和システムマネジメント様: 会場の提供
Media View all Media
If you add event media, up to 3 items will be shown here.
Feed
2018/08/18 18:58
いくつかプランを考えています。時間が限られているのでどれかになってしまうと思います。(1) 第0回で紹介した並行プロセスの理論 CSP の考え方を数式なしで質疑応答を交えて丁寧に説明する。ハンズオンなし。 (2) 説明は超駆け足または省略、オンデマンドにして、基礎的なプロセスをツール上で観察・検証するハンズオン。 (3) 説明も基礎も飛ばして、いきなり設計検証の例題をやる。不慣れなツールに新しいモデリング言語で無謀は承知ですが、設計検証は実戦的で面白いし、ここの参加者の人のレベルならなんとかなるかも。実戦的とはいっても小さな例題ですが。
2018/07/23 02:34
macOS 版に問題があり,配布を中止したので,残念ながら mac の人は参加できません.VM 上で使えるレベルで動くかどうかわかりません.参加者の mac 率が高いようでしたらハンズオンはやめます.
2018/07/17 10:16
SyncStitch のハンズオンを準備しようと考えています.やるかどうかはいつものように投票で決めていただけばいいかと思いますが,やる場合準備が必要なので事前にアナウンスしておこうと思いまして.やらない場合は準備が無駄になっちゃいますけど.Windows の人は WSL と gcc が必要です.macOS の人は GTK+3 Quartz backend と gcc or clang が必要です.GTK は homebrew で入ります.gcc は Xcode インストールですかね?(よく知りません(どうやって作ったんだ...)).あとマウスの準備を強く推奨します.