並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 21 件 / 21件

新着順 人気順

形式手法の検索結果1 - 21 件 / 21件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

形式手法に関するエントリは21件あります。 開発プログラミングテスト などが関連タグです。 人気エントリには 『自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み』などがあります。
  • 自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み

    長らく自動テストとテスト容易設計を生業としてきましたが、最近は色々な限界を感じて形式手法に取り組んでいます。 この記事では、既存の自動テストのどこに限界を感じてなぜ形式手法が必要なのかの私見を説明します。なお、私もまだ完全理解には程遠いため間違いがあるかもしれません。ご指摘やご意見はぜひ Kuniwak までいただけると嬉しいです。 著者について プログラマです。開発プロセスをよくするための自発的な自動テストを支援する仕事をしています(経歴)。ここ一年は R&D 的な位置付けで形式手法もやっています。 自動テストの限界 自動テストとは 私がここ数年悩んでいたことは、iOS や Web アプリなどのモデル層のバグを従来の自動テストで見つけられないことでした。ただ、いきなりこの話で始めると理解しづらいと思うので簡単な例から出発します。 この記事でいう自動テストとは以下のようにテスト対象を実際に

      自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み
    • 形式手法はなぜ流行っていないのか - Qiita

      はじめに みなさん形式手法をご存知でしょうか? 名前くらいは聞いたことあるけどいまいち何かわからないという方が多いのではないでしょうか。 その通りです。形式手法はアカデミアではそれなりに研究されているものの、 一般の(特にWeb系)ソフトウェア開発者が携わることはなかなかないのではないかと思います。 この記事ではソフトウェア開発に形式手法が導入されないのはなぜなのかを考察します。 この記事ではアジャイルソフトウェア開発において形式手法を導入する際のハードルについて考察します。 追記 本記事について、「形式手法は流行っていない」というのは正確ではないのではないかという指摘をいただきました。組み込み系や社会インフラ系等バグを絶対に出せないシステム開発では形式手法がよく使われているそうです。 ちょっと古いデータですが活用事例です。 誤解を招く紹介となっていたことをお詫びします。 さらに追記 ku

        形式手法はなぜ流行っていないのか - Qiita
      • 「せっかく記号を使った形式手法があるのに自然言語に戻るのか」というツイート - tkgshn

        それはそうと、軽量な形式手法たる型システム含む形式手法は記号の世界の中での正気はちゃんと証明してくれるが、人間様が頭を捻って作られた、自然言語で書かれた仕様とやらは一体何の正気を保証してくれるんだろう

          「せっかく記号を使った形式手法があるのに自然言語に戻るのか」というツイート - tkgshn
        • ゼロから学んだ形式手法 - DeNA Testing Blog

          2020年1月に入社し、SWETの仕様分析サポートチームに加わったtakasek(@takasek)です。 仕様分析サポートチームでは、社内のプロダクト開発に対する形式手法の活用可能性を模索しています。当ブログでも、継続的に形式手法に関する情報発信をしています(形式手法 カテゴリーの記事一覧)。 この記事では、加入3か月を経てようやく形式手法の輪郭が掴めてきた私の視点から、学習前後での理解の変化について振り返ります。想定読者として学習前の私と近い属性——すなわちコンピュータサイエンスや数学の専門教育を受けておらず、主に現場での実務と自習に頼ってきたソフトウェアエンジニアを想定しています。 形式手法を学ぶ前の認識と疑問 ソフトウェアエンジニアとしての私の一番の興味関心は設計手法です。設計は、なんらかの解決したい問題に対して、ある一面を切り取った構造(モデル)を与え、そのモデルを解決の機構に落

            ゼロから学んだ形式手法 - DeNA Testing Blog
          • 形式手法を使って、 発見しにくいバグを一網打尽にしよう

            builderscon tokyo 2019で話したときに使った資料です。 YouTube: https://www.youtube.com/watch?v=D7GccAn6R94 [2020/04/17追記] この資料をさらにブラッシュアップした資料を公開しました。 この資料よりも次の資料をご覧いただくことをおすすめします。 https://www.slideshare.net/dena_tech/dena-techcon-2020-230372486

              形式手法を使って、 発見しにくいバグを一網打尽にしよう
            • CockroachDB から覗く形式手法の世界 #JTF2021w / July Tech Festa 2021 winter

              July Tech Festa 2021 winter で使用したスライドです。 バグのない分散システムの設計は果たして可能でしょうか? この問いに対する一つの答えとして、CockroachDB では形式手法ツール TLA+ を用いて分散トランザクションの正しさを担保しています。 形式手法はシステムの挙動を数学的に解析する技法で、「ノードが特定のタイミングで故障した場合にのみ発生するバグ」といった再現困難な問題を確実に検出することができます。 本講演では、CockroachDB の事例を通して、形式手法が実世界で活用されている様子をお伝えします。 イベント概要:https://techfesta.connpass.com/event/193966/ ブログ記事:https://ccvanishing.hateblo.jp/entry/2021/01/24/185819 録画:https:/

                CockroachDB から覗く形式手法の世界 #JTF2021w / July Tech Festa 2021 winter
              • 形式手法による分散システムの検証 #builderscon / builderscon tokyo 2019

                builderscon tokyo 2019 で使用したスライドです。 本セッションでは、形式手法 (formal methods) を用いた分散アルゴリズムの検証について解説しました。形式手法は、数学的な表現を用いて対象となるシステムを定式化することにより、システムの挙動の「正しさ」を厳密に保証するための方法論です。 なお解説として取り上げたのは、AWS による事例論文でも有名なモデル検査器 TLA+ です。講演前半で形式手法の一般論に触れたのち、後半では分散トランザクションを実現するための TCC (Try-Confirm/Cancel) Pattern のモデリングと検証を行いました。 講演概要:https://builderscon.io/tokyo/2019/session/fa356ee3-6be9-4850-ac9e-037bd34aabaa 録画:https://www.y

                  形式手法による分散システムの検証 #builderscon / builderscon tokyo 2019
                • 「厳密な仕様記述における形式手法成功事例調査報告書」の公開 :IPA 独立行政法人 情報処理推進機構

                  ソフトウェア開発現場では、日本語で作成する仕様書の記述内容が曖昧である事に起因する製品品質の低下やプログラム不具合対応などの手戻り作業に伴う開発コストの増加が問題視されています。「形式手法」(*1)は、こうした仕様記述の内容から曖昧さを排除し、誤解を招かない仕様書を作成する手法の一つとして注目されています。 国際規格においても、高い安全性を要求される製品に関連する規格であるIEC 61508(*2)や、自動車業界に対するISO 26262(*3)など、形式手法の使用を推奨しており、形式手法に対する国内企業の関心も高まってきています。 IPA/SECにおいても、「形式手法」が上流工程の品質向上に有効な手法のひとつとして、普及促進を行ってきました。 本調査では、仕様記述における形式手法導入の成功プロジェクトのキーパーソンに対し、「仕様書作成に係る諸問題の根本原因が何か」、「それを形式手法の活用

                  • 「厳密な共通言語」としての形式手法 #devsumi / Developers Summit 2020

                    Developers Summit 2020 で使用したスライドです。 言葉というものは曖昧です。複数人が「ともにつくる」システムにおいて、メンバ間で仕様を正しく共有することは非常に重要ですが、一方で言葉の裏側に隠された「暗黙の仮定」を見抜くことは簡単ではありません。このような仕様の曖昧性への対抗手段として、本セッションでは「形式手法」を紹介します。形式手法ではシステムの挙動を数学的に記述することにより、自然言語の持つ曖昧性を排除し、仕様が満たされるかどうかを厳密に検証することが可能になります。あなたの頭の中にある仕様がどのように「数学的な記述」に変換されるのか、具体例を通して体験してみませんか? イベント概要:https://event.shoeisha.jp/devsumi/20200213/session/2380/

                      「厳密な共通言語」としての形式手法 #devsumi / Developers Summit 2020
                    • 形式手法のこれまでとこれから - ヾノ*>ㅅ<)ノシ帳

                      2019年が終わろうとしています あけおめ~さて2020年になりました。歴史が長い形式手法の今後を占うため、過去と直近の出来事を振り返りたいと思います。 ツッコミやタレコミは私のTwitter宛かあなたのブログかその他経路でお願いします~ シンボリック実行は形式的であるため本稿では形式手法に含めることにします。 Fuzzing関連はサーベイが甘いので漏れが多いかもしれません。 形式手法・形式検証とは 形式検証とは、厳密に定義された意味論の下で仕様やプログラムが所定の性質を満たすことを形式的に検証するための手法をいいます。「形式的に」とは、検証が事前に定義された知識だけに基づいており、検証手順が決定的であることをいうと私は理解しています。 形式手法は、形式検証に加えて、形式的にプログラムの仕様を厳密に定義するための手法を包含します。 本記事では形式手法を以下の通り大きく3つに独自に分類します

                        形式手法のこれまでとこれから - ヾノ*>ㅅ<)ノシ帳
                      • Amazon S3の軽量形式手法 - masateruk’s blog

                        本記事は、形式検証 / 形式手法 Advent Calendar 2021 の 19 日目の記事です。 Amazon S3が形式手法を採用した論文 "Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3" を読みました。 論文全体については、yohei-aさんがブログ記事で主要な部分を訳してくれています。本記事では自分なりのまとめに加えて、自分の形式手法導入の経験から思うところについても書いてみます。 論文は、Amazon S3の新しいKey ValueストレージのShardStoreの正当性を軽量形式手法で検証した話です。論文の主張をまとめると、 実装に使用した言語(Rust)と同じ言語で仕様となるリファレンスモデルを記述した。 検証したい性質によってツールを使い分けた。機能的

                          Amazon S3の軽量形式手法 - masateruk’s blog
                        • 「形式手法を使って、 発見しにくいバグを一網打尽にしよう」の反響

                          武田 憲太郎 @KentarouTakeda 仕様書を専用言語で書くことで機械的に検査できる。メリットがバカでかいのは解るんだけど、結局自然言語の仕様書と二重管理が必要になったりしないのかな。 #builderscon #bc1204 2019-08-30 14:03:05

                            「形式手法を使って、 発見しにくいバグを一網打尽にしよう」の反響
                          • 形式手法でデータ構造を記述・検査してみよう:Alloy編 - DeNA Testing Blog

                            SWETの仕様分析サポートチーム所属のtakasek(@takasek)です。 仕様分析サポートチームでは、社内のプロダクト開発に対する形式手法の活用可能性を模索しています。当ブログでも、継続的に形式手法に関する情報発信をしています(形式手法 カテゴリーの記事一覧)。 当記事は、Kuniwak(@orga_chem)により社内開催されたAlloyガイダンスを元に再構成した記事です。よく知られたデータ構造であるStackを形式仕様記述しビジュアライズすることで、Alloyの使い方と利点を実感できます。Alloy未経験者でもステップバイステップで試せるように構成しました。是非、お手元にAlloyをインストールして読み進めてください。環境はAlloy 5.1.0を想定しています。 https://github.com/AlloyTools/org.alloytools.alloy/release

                              形式手法でデータ構造を記述・検査してみよう:Alloy編 - DeNA Testing Blog
                            • 形式手法による分散システムの検証 - builderscon tokyo 2019

                              Abstract 本セッションでは、形式手法 (formal methods) を用いた分散システムの設計および実装について解説します。形式手法は、数学的な表現を用いて対象となるシステムを定式化することにより、システムの挙動の「正しさ」を厳密に保証するための方法論です。受講対象は予備知識を持たない初心者を想定しており、具体例を通して形式手法の基本的なアイデアを知ることを目標とします。 分散システムのメリットとデメリット 近年、複数のコンポーネントが非同期的に連携して動作する分散システムは決して珍しいものではなくなりました。正しく設計された分散システムは、集中システムとは比較にならないフレキシビリティとスケーラビリティを発揮します。人気 OSS の中にも分散型の設計を取るものは多数見られ、一昔前のように一部の専門家だけに任せておくだけでなく、すべてのエンジニアにとって一種の基礎教養になってい

                              • SWETグループが考える形式手法の現在とこれからの可能性 - DeNA Testing Blog

                                こんにちは、SWETの鈴木穂高(@hoddy3190)です。 私は、こちらの記事で紹介されているようなAndroidテストの教育活動をする傍ら、形式手法という技術の可能性を模索しています。 今回は、形式手法についての簡単な説明や、調べていくにつれてわかってきた実用可能性等をご紹介できればと思います。 動機 まず、なぜ私が形式手法について調べようと思ったのかをご説明します。 SWETに所属する前、私は、別の部署で4年ほどゲーム開発に携わっていました。 そこでよく課題に感じていたのは、日本語で書かれる仕様の不備(考慮漏れ、記載漏れ、矛盾など)により、大きな手戻りにつながることが多いということでした。 開発プロセス上でそのような問題が発生すると、当然再発防止策MTGが開かれます。 有識者のレビューを開発フェーズのより早い段階で組み込むようにするフロー改善や、 考慮漏れを防ぐためのチェックリストな

                                  SWETグループが考える形式手法の現在とこれからの可能性 - DeNA Testing Blog
                                • 「形式手法はなぜ流行っていないのか」に対する異論 - interdb’s blog

                                  序 この記事、ちょっと、というかかなり感覚が古くね? qiita.com と思っていたら、炎上目的だったようで。 autotaker on Twitter: "「形式手法はなぜ流行っていないのか?」という記事を書いて炎上させたい" autotaker on Twitter: "形式手法をこき下ろすと見せかけて最終的に出身研究室のステマに成功した" 一連の言い訳も見苦しい。 autotaker (@autotaker1984) | Twitter 故意に不正確な情報をばら撒く形でしか自分の"小さな得意分野"をアピールできないとは、エンジニアとして不誠実極まりないし、ミジメだ。 本題 ということで。 形式手法は80年代から本格的に開発が始まっているが、最初に大規模に報道されたのは90年代のIntelの不動小数点ユニットのバグ対策に形式手法が導入された件だろう。 つまりチップレベルでの導入。それ

                                    「形式手法はなぜ流行っていないのか」に対する異論 - interdb’s blog
                                  • CockroachDB から覗く形式手法の世界 #CNDT2020 / CloudNative Days Tokyo 2020

                                    CloudNative Days Tokyo 2020 で使用したスライドです。 バグのない分散システムの設計は果たして可能でしょうか? この問いに対する一つの答えとして、CockroachDB では形式手法ツール TLA+ を用いて分散トランザクションの正しさを担保しています。 形式手法はシステムの挙動を数学的に解析する技法で、「ノードが特定のタイミングで故障した場合にのみ発生するバグ」といった再現困難な問題を確実に検出することができます。 本講演では、CockroachDB の事例を通して、形式手法が実世界で活用されている様子をお伝えします。 イベント概要:https://event.cloudnativedays.jp/cndt2020 ブログ記事:https://ccvanishing.hateblo.jp/entry/2020/09/10/044848

                                      CockroachDB から覗く形式手法の世界 #CNDT2020 / CloudNative Days Tokyo 2020
                                    • 極端流形式仕様 初代𝕍𝕚𝕖𝕟𝕟𝕒𝕋𝕒𝕝𝕜𝕖𝕣 on Twitter: "ナントカペイのトラブルを横目にモバイルフェリカのファームウェアがノートラブルなのは、ファームウェアの仕様定義の段階から仕様に対する「テスト」を行なって、仕様のバグを早期に叩き出したからだよ。形式手法VDMは実装の正しさの証明だけじ… https://t.co/IewwS230CF"

                                      ナントカペイのトラブルを横目にモバイルフェリカのファームウェアがノートラブルなのは、ファームウェアの仕様定義の段階から仕様に対する「テスト」を行なって、仕様のバグを早期に叩き出したからだよ。形式手法VDMは実装の正しさの証明だけじ… https://t.co/IewwS230CF

                                        極端流形式仕様 初代𝕍𝕚𝕖𝕟𝕟𝕒𝕋𝕒𝕝𝕜𝕖𝕣 on Twitter: "ナントカペイのトラブルを横目にモバイルフェリカのファームウェアがノートラブルなのは、ファームウェアの仕様定義の段階から仕様に対する「テスト」を行なって、仕様のバグを早期に叩き出したからだよ。形式手法VDMは実装の正しさの証明だけじ… https://t.co/IewwS230CF"
                                      • 形式手法を使って、発見しにくいバグを一網打尽にしよう - builderscon tokyo 2019

                                        Abstract 私(@hoddy)は形式手法の実用可能性についてDeNAで研究をしています。 形式手法を使うと、MySQLのdeadlockの検知や、非同期処理の設計ミスなど、 人間が考慮しづらい部分のバグに、設計段階で気づくことができます。 形式手法とは 形式手法とは、仕様を明確に記述したり、記述された設計の性質を機械的に検証する手法の総称です。 形式手法にもいくつか種類がありますが、いずれも数学に基づく科学的な裏付けを持ちます。日本での導入事例は多くはないですが、世界的に見ると多くの導入事例が観測できます。 解決できる課題 開発では、日本語で書かれる仕様の不備(考慮漏れ、記載漏れ、矛盾など)により、大きな手戻りにつながることが多いと思います。形式手法を使うと、仕様をより厳密に書けるようになるため、仕様不備が起きにくくなります。 また、システムがとりうる状態を網羅的に探索することができ

                                          形式手法を使って、発見しにくいバグを一網打尽にしよう - builderscon tokyo 2019
                                        • VPC Reachability Analyzer と形式手法 - チェシャ猫の消滅定理

                                          こんにちは、チェシャ猫です。 先日開催された AWS Dev Day Online Japan 2021 で、AWS の VPC Reachability Analyzer とそのバックエンドである Tiros について発表してきました。公募 CFP 枠です。 www.youtube.com 講演概要 このプレゼンの大きな目標は、VPC Reachability Analyzer のバックエンドである検査エンジン Tiros の論文 [Bac19] を解説することです。そのための道筋として、Section 1 で VPC Reachability Analyzer の機能を簡単に紹介した後、Section 2 でその要素技術である SMT ソルバの仕組みを解説し、最後に Section 3 として VPC ネットワークの意味論を SMT ソルバ用にエンコーディングする方針について解説します

                                            VPC Reachability Analyzer と形式手法 - チェシャ猫の消滅定理
                                          • 形式手法の分類 - 応用事例DB

                                            形式手法の導入を検討する上で参考となる実システムに対する実践的な応用事例について、費用対効果や導入時の課題・工夫点等を中心にまとめています。 現在は、「フォーマルメソッド導入ガイダンス」第4部付録 12.応用事例情報 と同じ内容ですが、今後事例の数を増やしていく予定です。 キーワードで検索する

                                            1

                                            新着記事