Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIベース静的検査器の偽陽性率を抑える工夫3選
Search
Kuniwak
PRO
April 24, 2026
Programming
64
2
Share
AIベース静的検査器の偽陽性率を抑える工夫3選
Lint Night #4
https://lintnight.connpass.com/event/385142/
Kuniwak
PRO
April 24, 2026
More Decks by Kuniwak
See All by Kuniwak
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
9
5.8k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
31
15k
DeNA での思い出 / Memories at DeNA
orgachem
PRO
7
3.4k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.6k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
700
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
760
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.9k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
230
HOME VR
orgachem
PRO
1
860
Other Decks in Programming
See All in Programming
iOS機能開発のAI環境と起きた変化
ryunakayama
0
180
感情を設計する
ichimichi
5
1.4k
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
230
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
170
How Swift's Type System Guides AI Agents
koher
0
250
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
240
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
210
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
1
160
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
170
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
270
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
1
330
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
510
Featured
See All Featured
Music & Morning Musume
bryan
47
7.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Site-Speed That Sticks
csswizardry
13
1.2k
Test your architecture with Archunit
thirion
1
2.2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
100
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
450
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Leo the Paperboy
mayatellez
7
1.7k
Transcript
,VOJXBL 1.0 BU$PJODIFDL *OD "*ϕʔε੩తݕࠪثͷِཅੑΛ͑Δબ
Kuniwak ʹίΠϯνΣοΫגࣜձࣾʹೖࣾɻ ࠷ॳ4&5͕ͩͬͨͣͳ͔ͥ 1SPKFDU.BOBHFNFOU0 ffi DFSʹɻ IUUQTHJUIVCDPN,VOJXBL IUUQTYDPNPSHB@DIFN
͍͑ͨ͜ͱ "*ϕʔεͷMJOUࣗવݴޠͷՌΛѻ͑Δ "*ϕʔεͷMJOUِཅੑ͕ߴ͘ͳΓ͕ͪ ωΨςΟϒϓϩϯϓτ ਂࠁᮢ੍ޚ ܗࣜԽUIJOLJOH ِ͕ཅੑΛ͘Ͱ͖Δͱ͍͏ऑ͍ݟΛಘΒΕͨ 1 2
3
-JOUͷ͜Ε·Ͱͱ͜Ε͔Β
͜ͷൃදͰɺ-JOUΛՌΛೖྗʹܽؕΛ ݕ͢Δπʔϧͱ͢Δɻయܕతͳ-JOU ࣮Λೖྗʹಈ࡞͢Δɻ࠷ۙઃఆϑΝΠϧ ༷ॻʹର͢Δ-JOU͕ొ͖͍ͯͯ͠Δɻ
-JOU͜Ε·Ͱϧʔϧϕʔεͩͬͨɻ ϧʔϧϕʔεܾఆతͳ݁ՌΛಘΒΕΔར͕ ͋Γɺ͔࣮ͭߦίετ͕ۃΊ͍ͯ҆ɻ ͨͩ͠ݕࠪର͕ܗࣜԽ͞Ε͍ͯΔඞཁ͕͋ͬͨɻ
-JOU͜Ε·Ͱϧʔϧϕʔεͩͬͨɻ ϧʔϧϕʔεܾఆతͳ݁ՌΛಘΒΕΔར͕ ͋Γɺ͔࣮ͭߦίετ͕ۃΊ͍ͯ҆ɻ ͨͩ͠ݕࠪର͕ܗࣜԽ͞Ε͍ͯΔඞཁ͕͋ͬͨɻ
ͨͱ༷͑ॻܗࣜԽ͞Ε͍ͯͳ͍͜ͱ͕ଟ͍͕ ੩తݕ͍ࠪͨ͠ͱ͍͏χʔζ͋Δɻ ༨ஊɿ%F/"࣌ʹը໘ৼΔ͍༷ͷϧʔϧ ϕʔεͷํ๏ͰҰఆͷՌΛڍ͛ͨɻ͜ͷͱ͖ จࣈྻͷ෦ҰகͰఆ͍ͯͨ͠ɻ IUUQTTXFUEFOBDPNFOUSZ
--.ͷོʹΑΓ"*ϕʔεͷMJOU͕ຽओԽ͞Εͨɻ ͜ΕʹΑΓݕࠪର͕ܗࣜԽ͞Ε͍ͯͳͯ͘Α͘ͳͬͨɻ ͨͩ͠"*ϕʔεγʔυΛݻఆ͠ͳ͍ݶΓ݁Ռ͕ ඇܾఆతʹͳΓɺ͔࣮ͭߦίετ͕͔ͳΓߴ͍ɻ ͨͱ͑"*ϕʔεͷ࣮Εɾ༷ΕΛݕ͢Δ τϨʔαϏϦςΟج൫ສԁTIPU͔͔Δɻ IUUQTTQFBLFSEFDLDPNPSHBDIFNJOUSPEVDUJPOUPBUSBDFBCJMJUZBJQMBUGPSN
Ҏ߱ͷͷલఏ
ࠓճͷൃදͷݩͱͳͬͨࣄྫͭɿ γʔέϯεਤʢ༷ॻʣΛରͱ͢ΔMJOU ςετέʔεΛରͱ͢ΔMJOU έʔε" έʔε#
ਫ਼ධՁํ๏ શʢ/ʣʹ͍ͭͯ"*ධՁWTਓؒͷධՁͰ࣮ࢪ গͷαϯϓϧʢ/ʣʹ͍ͭͯํࣜʹ͍ͭͯ "*ධՁWTਓؒͷධՁͰ࣮ࢪ έʔε" έʔε# ͍ͣΕ࠶ࢼݧ࣮ࢪ͍ͯ͠ͳ͍ɻͦͷͨΊ͍ͣΕ࠶ݱੑ͕ ߴ͍͔Ͳ͏͔Θ͔Βͳ͍ɻࢼٻΉʂ ࢼ༻ϓϩϯϓτશจIUUQTHJTUHJUIVCVTFSDPOUFOUDPNDDLVOJXBL
EEGDEEFEEB
"*ϕʔεͷMJOUͷ
ِཅੑ
"*ϕʔεͷMJOUِཅੑ͕ߴِ͘ӄੑ͕͍ɻ ِӄੑΛ͘อͬͨ··ِཅੑΛ͍ͨ͘͠ɻ ِཅੑ͕ߴ͍ঢ়گ͕͘ଓ͘ͱগޮՌʹΑΓ MJOU͕৴༻͞Εͳ͘ͳΓMJOUͷഉআʹͭͳ͕ͬͯ͠·͏ɻ
༷ΛγʔέϯεਤͰදݱͨ͠έʔε"Ͱࢦఠͨ͠ ܽؕͷ͓Αِ͕ͦཅੑͩͬͨɻ ਓؒʹΑΔେ෯ͳख͕͠ඞཁͰେมͩͬͨɻ έʔε"
ِཅੑΛ͘͢ΔͨΊͷํ๏
ωΨςΟϒϓϩϯϓτ ਂࠁͰᮢ੍ޚ ܗࣜԽUIJOLJOH 1 2 3
ωΨςΟϒϓϩϯϓτ ਂࠁͰᮢ੍ޚ ܗࣜԽUIJOLJOH 1 2 3
ʮ999ܽؕͰͳ͍ͱ͢ΔʯͷΑ͏ʹܽؕͷ ఆٛΛڱΊΔจݴΛϓϩϯϓτʹՃ͑Δํ๏ɻ ςετέʔεΛݕࠪରͱͨ͠έʔε#Ͱ ͜ͷํ๏Ͱِཅੑˠ·ͰԼ͕ͬͨɻ
画面の期待画像は別途与えられているので「表示崩れがないこと」 「異常なく表示されること」「期待通りに表示されること」から表示崩 れイベントは十分特定可能とします。 操作手順や判断結果を 1 つに絞り込めなくとも、その差異がユーザ ーにとって重要でなければ許容してください。 1SPN QU
ਖ਼ղ ِӄੑ ِཅੑ ωΨςΟϒ ϓϩϯϓτͳ͠ 70% 0% 100% ωΨςΟϒ
ϓϩϯϓτ͋Γ 60% 29% 67% վળ
੩తݕࠪث։ൃͷॳظগͷαϯϓϧͰ ࣮ߦΛ܁Γฦ͠ɺωΨςΟϒϓϩϯϓτΛ ચ͍ग़͍ͯ͘͠ͱΑ͍ɻ
͜ͷΑ͏ͳαΠΫϧʹMMNίϚϯυͱ TIVGίϚϯυཱ͕ͭɻ MMNίϚϯυҎԼͷΑ͏ʹ͑Δɿ QSPNQUHFOcMMNNMMNNPEFM TIVGίϚϯυඪ४ೖྗ͔ΒٙࣅཚͰ ߦΛൈ͖ग़͢ίϚϯυɻ IUUQTHJUIVCDPNTJNPOXMMN
͜Μͳײ͡ͰదͳߦΛධՁ͠ͳ͕ΒࢼߦࡨޡͰ͖Δɿ fi OEUBSHFUa cTIVGOa cUFFEFWTUEFSSa cYBSHTOQSPNQUHFOa cMMNNHQUTDIFNBTDIFNBKTPOa cKR
ωΨςΟϒϓϩϯϓτ ਂࠁͰᮢ੍ޚ ܗࣜԽUIJOLJOH 1 2 3
"*ʹਂࠁΛஅͤ͞ɺᮢΛઃఆ͢Δํ๏ɻ ςετέʔεΛରͱ͠ɺਂࠁΛஈ֊Ͱ"*ʹ ධՁͤͨ͞έʔε#Ͱɺ"*WTਓؒͷਂࠁ ૬ؔɺਖ਼ղɺޡࠩʶਖ਼ղɻ
"s e v e r i t y ": {
"t y p e ": "n u m b e r ", "d e s c r i p t i o n ": " 違反の深刻度。 1 : 低(誤解する可能性が 少ない) , 2 : 中(誤解する可能性がある) , 3 : 高(誤解する可能性 が高い) ", "m i n i m u m ": 1 , "m a x i m u m ": 3 , "m u l t i p l e O f ": 1 } +40 / 4DIFN B
"*aਖ਼ղ ܯࠂͳ͠ த ߴ ܯࠂͳ͠
த ߴ ߴͷΈʹߜΔͱ ޡܯࠂݮΒͳ͍͕ ॏཁͰͳ͍ܯࠂ͕ ݮΔ
ωΨςΟϒϓϩϯϓτ ਂࠁͰᮢ੍ޚ ܗࣜԽUIJOLJOH 1 2 3
ݕࠪରΛҰܗࣜԽ͔ͤͯ͞ΒɺܗࣜԽͨ͠ରʹ ͍ͭͯ൷ධͤ͞Δํ๏ɻ έʔε#Ͱ$41ͷ҆ఆࣦഊϞσϧʹ͓͚Δѱ͍ τϨʔεͱѱ͍ࣦഊͷαϯϓϧΛςετέʔεͱ ͍ͯ͠Δʢৄ͘͠ผࢿྉΛࢀরʣɻ IUUQTTQFBLFSEFDLDPNPSHBDIFNHVJEFMJOFTGPSSFRVJSFNFOUT EF fi OJUJPOTQFDJ
fi DBUJPOXSJUJOHEFTJHOBOEWFSJ fi DBUJPO
ࣗવݴޠจॻ ܗࣜతσʔλ ܗࣜతҧઆ໌ қ͍͠ҧઆ໌ --.ྖҬ ϢʔβʔྖҬ ܗࣜԽ ݕࠪ טΈࡅ͘
ςετέʔεΛݕࠪରͱͨ͠έʔε#Ͱɺ ܗࣜԽ͠ͳ͍ͷͱܗࣜԽ͢ΔͷΛൺֱ͢Δͱ ِཅੑWTͱͳͬͨɻ
次のテストケースの定義に当てはめて形式化したうえで、形式化されたモデルについて 違反事項を指摘してください。以降は C S P の安定失敗モデルに立脚します。テストは 正当性条件である、 実装の失敗集合 ⊆ 仕様の失敗集合
∧ 実装のトレース集合 ⊆ 仕様のトレース集合 を満たすことをサンプリングで検証します。テストケースはこのサンプルで、悪い失敗の 集合または悪いトレースの集合またはその組です。これは正当性条件と同値な命題である、 ( ∀ x . x ∉ 仕様の失敗集合 ⟶ x ∉ 実装の失敗集合 ) ∧ ( ∀ x . x ∉ 仕様のトレース集合 ⟶ x ∉ 実装のトレース集合 ) の全称命題のサンプルからなる集合ということです。 1SPN QU
指摘内容は C S P を知らない人にも伝わるよう、失敗やトレースといった 言葉を別の一般的な平易な言葉で言い換えてください。 1SPN QU
ܗࣜԽUIJOLJOHͷϓϩϯϓτશจɿ IUUQTHJTUHJUIVCVTFSDPOUFOUDPNDDLVOJXBL EEGDEEFEEB
ਖ਼ղ ِӄੑ ِཅੑ ܗࣜԽ͠ͳ͍ͷ 60% 29% 67% ܗࣜԽͨ͠ͷ 90%
0% 30% վળ
·ͱΊ "*ϕʔεͷMJOUࣗવݴޠͷՌΛѻ͑Δ "*ϕʔεͷMJOUِཅੑ͕ߴ͘ͳΓ͕ͪ ωΨςΟϒϓϩϯϓτ ਂࠁᮢ੍ޚ ܗࣜԽUIJOLJOH ِ͕ཅੑΛ͘Ͱ͖Δͱ͍͏ऑ͍ݟΛಘΒΕͨ 1 2
3