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
How Swift's Type System Guides AI Agents
koher
0
250
飯MCP
yusukebe
0
510
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
130
JOAI2026 1st solution - heron0519 -
heron0519
0
120
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
230
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
230
iOS機能開発のAI環境と起きた変化
ryunakayama
0
180
存在論的プログラミング: 時間と存在を記述する
koriym
5
880
感情を設計する
ichimichi
5
1.4k
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
280
CDK Deployのための ”反響定位”
watany
4
740
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
170
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
300
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
210
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
310
Side Projects
sachag
455
43k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
180
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
470
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
770
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