Submit Search
Upload
静的解析、しましょうか。
•
Download as PPTX, PDF
•
9 likes
•
3,765 views
Daichi Hiroki
Follow
YAPC Asia 2011のLT,mixi スポンサード, Techinical Debt,Code Metrics
Read less
Read more
Technology
Report
Share
Report
Share
1 of 20
Download now
Recommended
C言語静的解析ツールと Ruby 1.9 trunk
C言語静的解析ツールと Ruby 1.9 trunk
ikegami__
より良いコードを書くための
より良いコードを書くための
TATSUYA HAYAMIZU
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010
Yuki Akamatsu
継続的デリバリー読書会に寄せて
継続的デリバリー読書会に寄せて
Tsutomu Takeuchi
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
Michitaka Yumoto
cecservices.pdf
cecservices.pdf
DIBGMarketingCEC
Recommended
C言語静的解析ツールと Ruby 1.9 trunk
C言語静的解析ツールと Ruby 1.9 trunk
ikegami__
より良いコードを書くための
より良いコードを書くための
TATSUYA HAYAMIZU
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010
Yuki Akamatsu
継続的デリバリー読書会に寄せて
継続的デリバリー読書会に寄せて
Tsutomu Takeuchi
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
Michitaka Yumoto
cecservices.pdf
cecservices.pdf
DIBGMarketingCEC
cecservices.pdf
cecservices.pdf
DIBGMarketingCEC
cec_services.pdf
cec_services.pdf
DIBGMarketingCEC
cecservices
cecservices
DIBGMarketingCEC
cecservices
cecservices
DIBGMarketingCEC
cec_Services.pdf
cec_Services.pdf
DIBGMarketingCEC
【Dll3】scskプレゼン20170904
【Dll3】scskプレゼン20170904
Hirono Jumpei
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
Rakuten Group, Inc.
トラブルシューティングのあれこれ Yoshihiko kamata
トラブルシューティングのあれこれ Yoshihiko kamata
Rakuten Group, Inc.
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
マイクロサービスとは.pptx
マイクロサービスとは.pptx
ssuserdd7ea9
AWS Cognito makes old web apps available from anywhere
AWS Cognito makes old web apps available from anywhere
Yukiya Hayashi
Empirical Project Monitorの紹介
Empirical Project Monitorの紹介
Makoto SAKAI
プログラミングLT 2019 Summer
プログラミングLT 2019 Summer
Yusuke Mori
Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話
ToshiharuSakai
はじめてのアジャイル
はじめてのアジャイル
Yoshihito Kuranuki
財務分析勉強会挨拶
財務分析勉強会挨拶
oranie Narut
失敗しないパッケージ導入1
失敗しないパッケージ導入1
小島 規彰
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Koichi ITO
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
urasandesu
Handii スタートアップエンジニア開発課題LT day2
Handii スタートアップエンジニア開発課題LT day2
Yusuke Mori
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
More Related Content
Similar to 静的解析、しましょうか。
cecservices.pdf
cecservices.pdf
DIBGMarketingCEC
cec_services.pdf
cec_services.pdf
DIBGMarketingCEC
cecservices
cecservices
DIBGMarketingCEC
cecservices
cecservices
DIBGMarketingCEC
cec_Services.pdf
cec_Services.pdf
DIBGMarketingCEC
【Dll3】scskプレゼン20170904
【Dll3】scskプレゼン20170904
Hirono Jumpei
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
Rakuten Group, Inc.
トラブルシューティングのあれこれ Yoshihiko kamata
トラブルシューティングのあれこれ Yoshihiko kamata
Rakuten Group, Inc.
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
マイクロサービスとは.pptx
マイクロサービスとは.pptx
ssuserdd7ea9
AWS Cognito makes old web apps available from anywhere
AWS Cognito makes old web apps available from anywhere
Yukiya Hayashi
Empirical Project Monitorの紹介
Empirical Project Monitorの紹介
Makoto SAKAI
プログラミングLT 2019 Summer
プログラミングLT 2019 Summer
Yusuke Mori
Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話
ToshiharuSakai
はじめてのアジャイル
はじめてのアジャイル
Yoshihito Kuranuki
財務分析勉強会挨拶
財務分析勉強会挨拶
oranie Narut
失敗しないパッケージ導入1
失敗しないパッケージ導入1
小島 規彰
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Koichi ITO
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
urasandesu
Handii スタートアップエンジニア開発課題LT day2
Handii スタートアップエンジニア開発課題LT day2
Yusuke Mori
Similar to 静的解析、しましょうか。
(20)
cecservices.pdf
cecservices.pdf
cec_services.pdf
cec_services.pdf
cecservices
cecservices
cecservices
cecservices
cec_Services.pdf
cec_Services.pdf
【Dll3】scskプレゼン20170904
【Dll3】scskプレゼン20170904
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
トラブルシューティングのあれこれ Yoshihiko kamata
トラブルシューティングのあれこれ Yoshihiko kamata
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
マイクロサービスとは.pptx
マイクロサービスとは.pptx
AWS Cognito makes old web apps available from anywhere
AWS Cognito makes old web apps available from anywhere
Empirical Project Monitorの紹介
Empirical Project Monitorの紹介
プログラミングLT 2019 Summer
プログラミングLT 2019 Summer
Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話
はじめてのアジャイル
はじめてのアジャイル
財務分析勉強会挨拶
財務分析勉強会挨拶
失敗しないパッケージ導入1
失敗しないパッケージ導入1
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
Prig 残業泥棒 - 01. プロローグ 120121 杉浦
Handii スタートアップエンジニア開発課題LT day2
Handii スタートアップエンジニア開発課題LT day2
Recently uploaded
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Recently uploaded
(8)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
静的解析、しましょうか。
1.
2.
自己紹介 株式会社ミクシィ たんぽぽチームリーダ
広木大地 @hiroki_daichi やっていること *刺身にたんぽぽ *サービスアーキテクト *非機能要件全般 *サービスのトラブル *安くて速くて安心
3.
静的解析、 しましょうか。 せいてきかいせき
4.
静的解析 ってなんなんだよ。
5.
静的 性的
6.
コードレビュー自動化 刺身にたんぽぽ おかせない
ソフトウェア測定
7.
Technical Debt 技術的負債
最初のコードを出荷することは、借金をしに行くことと同じである。小さな負債は、代価を得て即座に書き直す機会を得るまでの開発を加速する。 危険なのは、借金が返済されなかった場合である。
8.
複雑な依存関係 最長不倒関数 王様モジュール
9.
01 ● ● ● ● ● ● ● 技術的負債の見える化
Inspect-package
10.
95 計測できないものは 改善できない。
11.
最長不倒関数 Node(2) Node(3)
If( is_foo()) do_var() Edge(4) Node(1) Node(5) Edge(2) start do_hoge() end Edge(1) Edge(3) Edge(5) Node(4) Edge(6) 分岐、ループなど関数をグラフ構造としてとらえて、 その複雑さを測定する。 (Cyclomatic Complexity)
12.
王様モジュール good bad
Module Module より大きく、より多くの人によって 差分が加えられているコードを探して計測する。
13.
複雑な依存 good good
bad B B B E A A A C C C F D D D G より多くに依存しながら、より多くに依存されている コンポーネントを悪い依存として測定する。
14.
計測 measurement 2011年2月某日
サービスの結合性に関するポリシーは決めた これから順次リファクタリングが必要 あの日以来、すべてがスコアリングされた。
15.
依存されている度 サービス全体への負債 依存している度
$ inspect-package Mixi::TheServiceMayUKnow -type ALLSCORE Ca Ce CC SRP couple cohesion 240 173 261 527 41520 138335 最長不倒関数度 コンポーネント内の負債 王様モジュール指数
16.
王様モジュールをレビュー $inspect-package Mixi/TheServiceUMayKnow
-type SRP score( 123):rev( 98):user( 16):lines(1331) Mixi/TheServiceUMayKnow.pm score( 107):rev( 80):user( 18):lines(1323) Mixi/TheServiceUMayKnow/Object.pm score( 47):rev( 40):user( 5):lines( 659) Mixi/TheServiceUMayKnow/Admin/Ad.pm 1300行で16人がいじってるけど、 そろそろ責務がいりまじってるんじゃない?
17.
最長不倒関数をレビュー $inspect-package Mixi::TheServiceUMayKnow
-type CC 59 get_status lib/Mixi/TheServiceUMayKnow/Analytics.pm 46 summarize lib/Mixi/TheServiceUMayKnow/Counter/Summarizer.pm 44 _select_own_page lib/Mixi/TheServiceUMayKnow/Feed.pm このモジュールのget_statusが複雑に なりすぎてて、テストケース網羅できないほどだよ。
18.
嫌だわ、早くすりつぶさないと
19.
せいてきかいせき 静的解析、 しましょうか。
20.
くわしいことは WEB+DB Press
62のPerl Hackers Hubにも載ってます http://gihyo.jp/dev/serial/01/perl-hackers-hub/000801
Download now