SlideShare a Scribd company logo
1 of 30
Download to read offline
Summit
Developers
Developers Summit 2013 Kansai Action ! 
コード品質は曖昧なままか	
~ソフトウェアサプライチェーンマネージメントことはじめ~	
安竹 由起夫
コベリティ日本支社	
	
A4
#kansumiA4
Summit
Developers
Developers Summit 2013 Kansai Action ! 
これ、誰が書いたコード?	
2	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
コードガバナンスが必要な背景	
  
•  COTS	
  イニシアチブとポリシー	
  
–  商業的に購入可能なソフトウェアを使用し開発コストを分散	
  
–  初期導入時からソフトウェアが成熟	
  
–  COTSソフトウェアは脆弱性が少なく、外的影響を受けにくい	
  
•  オープンソースイニシアチブとポリシー	
  
–  無料にみえるため、使用を奨励されている	
  
–  それゆえ、クリティカルなシステムでの使用が増えている	
  
•  リファレンス: h(p://scan.coverity.com	
  
•  保守性	
  
–  元の開発者とは違う開発者に作成されたコード	
  
•  ビルド過程は完全で、全ての必要なビルドツールはそろっているか?	
  
–  実行ファイルは納品されたソースから作成されているか?	
  
•  ソースがないバイナリのモジュールが含まれているか?	
  
•  潜在的に問題となる動作を隠すためにソースを変更したか?	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
US	
  法律からの引用	
  
SEC.	
  933.	
  IMPROVEMENTS	
  IN	
  ASSURANCE	
  OF	
  COMPUTER	
  SOFTWARE	
  PROCURED	
  BY	
  THE	
  
DEPARTMENT	
  OF	
  DEFENSE.	
  
国防総省が製造したコンピュータ・ソフトウェアの保証改善	
  
(a)	
  Baseline	
  SoMware	
  Assurance	
  Policy-­‐	
  The	
  Under	
  Secretary	
  of	
  Defense	
  for	
  AcquisiTon,	
  Technology,	
  
and	
  LogisTcs,	
  in	
  coordinaTon	
  with	
  the	
  Chief	
  InformaTon	
  Officer	
  of	
  the	
  Department	
  of	
  Defense,	
  shall	
  
develop	
  and	
  implement	
  a	
  baseline	
  soMware	
  assurance	
  policy	
  for	
  the	
  enTre	
  lifecycle	
  of	
  covered	
  
systems.	
  Such	
  policy	
  shall	
  be	
  included	
  as	
  part	
  of	
  the	
  strategy	
  for	
  trusted	
  defense	
  systems	
  of	
  the	
  
Department	
  of	
  Defense.	
  
(b)	
  Policy	
  Elements-­‐	
  The	
  baseline	
  soMware	
  assurance	
  policy	
  under	
  subsecTon	
  (a)	
  shall-­‐-­‐	
  
(1)	
  require	
  use	
  of	
  appropriate	
  automated	
  vulnerability	
  analysis	
  tools	
  in	
  computer	
  so3ware	
  code	
  
during	
  the	
  en7re	
  lifecycle	
  of	
  a	
  covered	
  system,	
  including	
  during	
  development,	
  operaTonal	
  tesTng,	
  
operaTons	
  and	
  sustainment	
  phases,	
  and	
  reTrement;	
  
(2)	
  require	
  covered	
  systems	
  to	
  idenTfy	
  and	
  prioriTze	
  security	
  	
  vulnerabiliTes	
  and,	
  based	
  on	
  risk,	
  determine	
  
appropriate	
  remediaTon	
  strategies	
  for	
  such	
  security	
  vulnerabiliTes;	
  
(3)	
  ensure	
  such	
  remedia7on	
  strategies	
  are	
  translated	
  into	
  contract	
  requirements	
  and	
  evaluated	
  
during	
  source	
  selecTon;	
  
NaTonal	
  Defense	
  AuthorizaTon	
  Act	
  2013	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
• 自動的に客観的にコード品質を評価できるしくみ
が必要	
  
•  自動的に検出できるランタイムエラーは実は多い	
  
• 開発チームにとっては、早期のバグの発見	
  
              👇	
  
	
   	
   	
       手戻りの削減	
  
客観的なポリシー設定が必要	
5	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
静的解析のススメ	
SAT ソルバ
全パス &
プロシージャ間
解析
不不具合が発⽣生しない
パスを排除し、
誤検知を減らす	
関数またはファイルに
跨る不具合の検出	
統計的な解析
プログラムの目的を

推測し、予期しない

動作を報告する	
if x=0
... ...
If x != 0
NULL の参照解除
X!=0 X=0
X!=0X=0
void foo(int *p) {
*p = 42;
}
void bar() {
foo(p);
if(p != 0) { ... }
}
int	
  *p	
  =	
  malloc(sizeof(int));	
  
if(p	
  !=	
  0)	
  	
  *p	
  =	
  42;	
  
...	
  
int	
  *p	
  =	
  malloc(sizeof(int));	
  
if(p	
  !=	
  0)	
  	
  *p	
  =	
  42;	
  
	
  
int	
  *p	
  =	
  
malloc(sizeof(int));	
  
*p	
  =	
  42;	
  
多分正しい	
多分間違い
ホワイトボックス
ファザー
汚染データを投入し、
無害化されているかを
自動的に確認する
htmlEncode()
< > &
" '
a b c d …  < > & ‘ …
Summit
Developers
Developers Summit 2013 Kansai Action ! 
例:バッファーオーバーラン	
7
シングルトン
の変数	
Address渡し	
呼出し先の	
  
関数内表示	
渡された変
数を配列とし
てアクセス	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
例:コピペミス	
8
変数名の書
き換えミス	
同一の関数
以外でも、	
  
検出可能
Summit
Developers
Developers Summit 2013 Kansai Action ! 
例:クロスサイトスクリプティング	
入り口 (source)
経路
サニタイズすべき箇所
修正方法の提示
Summit
Developers
Developers Summit 2013 Kansai Action ! 
オープン・ソースコードは?	
1
0	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
Python
Summit
Developers
Developers Summit 2013 Kansai Action ! 
Samba
Summit
Developers
Developers Summit 2013 Kansai Action ! 
ANTLR	
1
3	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
サイズ別残不具合密度平均	
1
4	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
国内製造業既存顧客データ	
1
5	
  
1,000	
  行あたり
の初期検出不
具合数	
1,000	
  行あたり
の不具合修正
数	
1,000行あたり
の高・中リスク
の残不具合数	
不具合1件あた
りの修正工数
の削減	
  
最大	
 5.9	
  件/K行	
 4.85件/K行	
 0.69件/K行	
 15人時間/件	
  
最低	
 0.05件/K行	
 0件/K行	
 0.01件/K行	
 1人時間/件	
平均	
 1.47件/K行	
 0.69件/K行	
 0.16件/K行	
 9人時間/件	
•  有効解答:	
  20	
  プロジェクト	
  
•  解析対象総コード行数:1億7千900万行	
  (179M	
  step)	
  
•  主な調査データ:	
–  解析コード行数、検出不具合数、修正済み不具合数、修正対象外(誤
検知含む)数	
  
–  高・中リスクの残不具合件数	
–  コベリティ導入前と導入後の不具合修正工数の変化
Summit
Developers
Developers Summit 2013 Kansai Action ! 
ポリシーとともにトラッキングする	
24	
  
開 発 組 織 、 プ ロ ジ ェ ク ト 、 サ プ ラ イ ヤ
Summit
Developers
Developers Summit 2013 Kansai Action ! 
まとめ	
•  第三者のコードが混在するのはあたりまえ	
  
•  コードの品質を客観的に測ろう	
  
– コーディング規約違反 < ランタイムエラー	
  
– トレンドをみる	
  
•  以前とくらべて悪くなっているのか?良くなっているの
か?	
  
– 組織内のコードを比較してみる	
  
– コード品質に対するポリシーを設定する	
25	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
ところで、他にも自動化できるところが	
26	
  
0"
50"
100"
150"
200"
250"
300"
350"
400"
Alameda" Berkeley" Carmel" Davis" Eureka*"
Number'of'Defects'
Defects'Addressed'by'Coverity'Quality/Security'Advisor''
High"Impact" Medium"Impact" Low"Impact"
Summit
Developers
Developers Summit 2013 Kansai Action ! 
一般的なリリースプロセス:	
  
•  6	
  ヶ月のリリースサイクル	
  
•  3	
  ヶ月の次期リリース計画	
  
•  リリース直前の6	
  週間の “ハードニング”	
  
サイクル	
  
•  2	
  週間の	
  “フィーチャーフリーズ”	
  	
  
•  2	
  週間の	
  “インテグレーションフリーズ”	
  
•  2	
  週間の	
  “リリースフリーズ”	
  と	
  GA	
  のための
アップロード	
  
•  リリースのコードネームはカリフォルニア
州の都市名	
  
•  Alameda,	
  Berkeley,	
  Davis,	
  Eureka,	
  Fresno,	
  …	
  
リリースを実行するプロセス:	
  
•  アジャイルプロセス	
  
•  部門横断的なスクラムチーム	
  
•  2	
  週間のスプリント	
  
•  メールまたは対面での日次スタンド・アッ
プ	
  
•  Jira	
  と	
  Pivotal	
  を介した進捗管理	
  
•  Bugzilla	
  によるバグ管理	
  
•  週1回のステータスミーティング	
  
•  リリースハードニングでは、週に3回	
  
コベリティの製品リリースプロセス	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
Front End
Compilation
Analysis
Core Analysis
Coverity
Connect (CC)
Defect Management
1 Gc_rc gc_pbkdf2_sha1 (const char *P, size_t Plen,
2 const char *S, size_t Slen,
3 unsigned int c,
4 char *DK, size_t dkLen)
5 {
6 char U[20] T[20];
7 unsigned int hlen = 20, u, l, r, i, k;
8 int rc; char *tmp; size_t tmplen
9
10 if (c == 0)
11 return GC_PKCS5_INVALID_ITERATION_COUNT;
12 r = dkLen - (l - 1) * hLen;
13
14 memcpy (tmp, S, Slen);
2年前の状況	
  
コベリティの製品構造概要:	
  
Tests automated
and run during build
Tests automated
and run during build
Mostly manually
tested
End-to-end (E2E) tests
performed manually
2年前のテストアプローチ:
•  フロントエンドと解析のコンポーネントは自動化されたテストでテストされていた
•  Coverity Connect はほとんどが手動でテスト
•  End-to-End のテストは手動で行われていた
ConfidenTal:	
  For	
  Coverity	
  and	
  Partner	
  use	
  only.	
  Copyright	
  Coverity,	
  Inc.,	
  2013	
  	
  28
Summit
Developers
Developers Summit 2013 Kansai Action ! 
Coverity	
  Connect	
  の自動テストの例	
  
Confidential: For Coverity and Partner use only. Copyright
Coverity, Inc., 2013
2
9
Summit
Developers
Developers Summit 2013 Kansai Action ! 
コードカバレッジに対するチャレンジ	
3
0
%CodeTested
Effort to develop tests
100%
Diminishing return for
increased test effort
1
Not all code is testable
- unreachable statements
- dead code, ...
2
Not all tested code adds
equal value to the test
- non-critical code
- debug code, legacy code
- exception handling, ...
3
テストされたコード(%)	
テスト作成の工数	
テスト工数の増加
に対し効果は減少	
テストを行う価値がないコード
-  重要でないコード
-  デバッグコード、既存コード
-  決まりきった例外処理
-  …
テストできないコードも存在
-  到達できないステートメント
-  デッドコード
-  ...
Summit
Developers
Developers Summit 2013 Kansai Action ! 
自動テスト開発支援ツール	
31	
優先的にテストすべき箇所	
を開発者に通知	
カバ
レッジ	
ソース
変更情
報	
変更の
影響	
外部SCMから入力:	
  
 Git,	
  CVS,	
  Mercurial,	
    	
  
 Subversion,	
  Perforce,	
  	
  
 ClearCase,	
  AccuRev,	
  
	
  	
  	
  MS	
  TFS	
  
独自に作り込み	
外部カバッレジツールから入力:	
  	
  
  gcov	
  (C/C++)	
  
	
  	
  	
  	
  	
  Bullseye(C/C++)	
  	
  
	
  	
  	
  	
  	
  IBM	
  PureCov(C/C++)	
  
	
  	
  	
  	
  	
  Corbertura	
  (Java)	
  
	
  
せめて新規コードと	
  
それに影響をうけるところ	
  
だけでも….	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
社内での経験	
  –	
  ケーススタディ	
  
•  十分テストされている製品のコンポーネントにこの社内ツールを適用	
  
•  3ヶ月間、1テストエンジニアが1週間のうち4時間、テスト違反の箇所にテストを追加した	
  
•  テストポリシー:	
  テスト可能なコードは 100%	
  テストする	
  (除外: デバッグコード,	
  実行されない
コード,	
  その他)	
  
0"
2"
4"
6"
8"
10"
12"
14"
16"
18"
20"
0"
5"
10"
15"
20"
25"
30"
35"
28*Apr*12"5*M
ay*12"12*M
ay*12"19*M
ay*12"26*M
ay*12"
2*Jun*12"
9*Jun*12"16*Jun*12"23*Jun*12"30*Jun*12"
7*Jul*12"14*Jul*12"21*Jul*12"
Number'of'Bugs'Found'
Number'of'Tests'from'TA'
Date'
Test'Advisor'Applica:on'in'Frontend'Project'
Tests"added"through"TA" Bugs"found"by"TA"tests"
•  1人週間換算で29件のテストを追加
•  製品から19件のバグを発見 – いくつ
かは重大なもの
•  例: Keil コンパイラの正しい機
能を阻害するバグ
3
2
Summit
Developers
Developers Summit 2013 Kansai Action ! 
テスト自動化の進捗	
  
•  2011年秋〜2013年春までの Coverity	
  Connect	
  と	
  End-­‐to-­‐End	
  のテスト自動化
の結果	
  
0"
20"
40"
60"
80"
100"
120"
Alameda" Berkeley" Carmel" Davis" Today"
Person'Days'
CC'Manual'Tes0ng'Effort'
0"
4"
8"
12"
16"
20"
Alameda" Berkeley" Carmel" Davis" Today"
Person'Days'
E2E'Manual'Tes1ng'Effort'
Alameda' Berkeley' Carmel' Davis' Today'
Manual'CC'GUI'Tests' 347' 661' 1006' 931' 1194'
Automated'CC'GUI''Tests' 0' 2' 44' 220' 403'
0'
250'
500'
750'
1000'
1250'
1500'
1750'
CC"Test"Automa,on"Progress"
Alameda' Berkeley' Carmel' Davis' Today'
Manual'E2E'Tests' 300' 370' 175' 143' 60'
Automated'E2E'Tests' 0' 120' 1468' 1761' 3466'
0'
500'
1000'
1500'
2000'
2500'
3000'
3500'
4000'
E2E#Test#Automa-on#Progress#
3
3	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
製品顧客からのフィードバック	
34	
  
0"
0.2"
0.4"
0.6"
0.8"
1"
1.2"
1.4"
1.6"
Alameda" Berkeley" Carmel" Davis"
Normalized+Number+
of+Defects+
Customer4found+Defects+
Summit
Developers
Developers Summit 2013 Kansai Action ! 
製品にしてしまいましたヽ(´ー`)ノ	
•  Coverity	
  Test	
  Advisor	
35
Summit
Developers
Developers Summit 2013 Kansai Action ! 
I	
  suggest	
  your	
  Next	
  AcTon!
Summit
Developers
Developers Summit 2013 Kansai Action ! 
現状を知ろう	
M Y 	
   R E C O M M E N D 	
   N E X T 	
   A C T I O N ! 	
37	
  
•  神頼みでなく、	
  
まずは、	
  
現状を知ること。	
  
•  無料コード・テスト診断	
  
受付中です!	
  
  “コベリティ”で検索	
  
Summit
Developers
Developers Summit 2013 Kansai Action ! 
新規・修正
コード+テスト
不不具合情報
単体レベル
構成管理理
不不具合情報
統合レベル
修正
解析
不不具合検出
クリーンな
ファイルを登録
Coverity
QA/SA
単体レベル
Jenkins-‐‑‒CI
コべリティ
プラグイン
最新のコードセットを
自動取得
Coverity  解析
QA/SA/TA
統合レベル
最新のコード
セット
新規不不具合検出
Coverity
Policy
Manager QA・VIP
+ALM製品
Coverity  
コードレベル
不不具合管理理
(Coverity  Connect)
コンプライアンス
遵守チェック
不不具合管理理・
トリアージ
開発者
QA・テスター
通知
開発者
不不具合未検出
最新のテスト
セット
QNX	
テストポリシー
違反

More Related Content

What's hot

静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携Masaru Horioka
 
Klocworkバージョン11.2アップデート
Klocworkバージョン11.2アップデートKlocworkバージョン11.2アップデート
Klocworkバージョン11.2アップデートMasaru Horioka
 
Agile pm10 quality_2a
Agile pm10 quality_2aAgile pm10 quality_2a
Agile pm10 quality_2aBunnojo
 
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フローKDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フローques_staff
 
Bringing Continuous Agile to Japan
Bringing Continuous Agile to JapanBringing Continuous Agile to Japan
Bringing Continuous Agile to JapanAndy Singleton
 
提案:Qaも実装に踏み込んでみよう
提案:Qaも実装に踏み込んでみよう提案:Qaも実装に踏み込んでみよう
提案:Qaも実装に踏み込んでみようKosuke Fujisawa
 
DeNA QA Night#2 Game QA part
DeNA QA Night#2 Game QA partDeNA QA Night#2 Game QA part
DeNA QA Night#2 Game QA partYukihiro Yamamoto
 
アジャイルクオリティの探求
アジャイルクオリティの探求アジャイルクオリティの探求
アジャイルクオリティの探求atsushi nagata
 
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明しょうご すずき
 
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出Takanori Suzuki
 
SQuBOK読破会活動紹介とSQuBOKにおける派生開発
SQuBOK読破会活動紹介とSQuBOKにおける派生開発SQuBOK読破会活動紹介とSQuBOKにおける派生開発
SQuBOK読破会活動紹介とSQuBOKにおける派生開発Kosuke Fujisawa
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本Tsuyoshi Yumoto
 
品質認証制度PSQ 認証の大幅拡充(CSAJ)
品質認証制度PSQ 認証の大幅拡充(CSAJ)品質認証制度PSQ 認証の大幅拡充(CSAJ)
品質認証制度PSQ 認証の大幅拡充(CSAJ)Hironori Washizaki
 
ソフトウェア調達におけるアジャイル開発の要点と現状 Slideshare
ソフトウェア調達におけるアジャイル開発の要点と現状 Slideshareソフトウェア調達におけるアジャイル開発の要点と現状 Slideshare
ソフトウェア調達におけるアジャイル開発の要点と現状 SlideshareYoichi Tamamaki
 
なぜアジャイルなのですか?改めて考察するウォーターフォールとの違い
なぜアジャイルなのですか?改めて考察するウォーターフォールとの違いなぜアジャイルなのですか?改めて考察するウォーターフォールとの違い
なぜアジャイルなのですか?改めて考察するウォーターフォールとの違いYoichi Tamamaki
 
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~Developers Summit
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)kyon mm
 

What's hot (19)

静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携
 
Klocworkバージョン11.2アップデート
Klocworkバージョン11.2アップデートKlocworkバージョン11.2アップデート
Klocworkバージョン11.2アップデート
 
Agile pm10 quality_2a
Agile pm10 quality_2aAgile pm10 quality_2a
Agile pm10 quality_2a
 
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フローKDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フロー
 
Bringing Continuous Agile to Japan
Bringing Continuous Agile to JapanBringing Continuous Agile to Japan
Bringing Continuous Agile to Japan
 
提案:Qaも実装に踏み込んでみよう
提案:Qaも実装に踏み込んでみよう提案:Qaも実装に踏み込んでみよう
提案:Qaも実装に踏み込んでみよう
 
DeNA QA Night#2 Game QA part
DeNA QA Night#2 Game QA partDeNA QA Night#2 Game QA part
DeNA QA Night#2 Game QA part
 
アジャイルクオリティの探求
アジャイルクオリティの探求アジャイルクオリティの探求
アジャイルクオリティの探求
 
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明
 
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
 
JCSQE初級受けてみたの
JCSQE初級受けてみたのJCSQE初級受けてみたの
JCSQE初級受けてみたの
 
SQuBOK読破会活動紹介とSQuBOKにおける派生開発
SQuBOK読破会活動紹介とSQuBOKにおける派生開発SQuBOK読破会活動紹介とSQuBOKにおける派生開発
SQuBOK読破会活動紹介とSQuBOKにおける派生開発
 
アジャイルRCA
アジャイルRCAアジャイルRCA
アジャイルRCA
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本
 
品質認証制度PSQ 認証の大幅拡充(CSAJ)
品質認証制度PSQ 認証の大幅拡充(CSAJ)品質認証制度PSQ 認証の大幅拡充(CSAJ)
品質認証制度PSQ 認証の大幅拡充(CSAJ)
 
ソフトウェア調達におけるアジャイル開発の要点と現状 Slideshare
ソフトウェア調達におけるアジャイル開発の要点と現状 Slideshareソフトウェア調達におけるアジャイル開発の要点と現状 Slideshare
ソフトウェア調達におけるアジャイル開発の要点と現状 Slideshare
 
なぜアジャイルなのですか?改めて考察するウォーターフォールとの違い
なぜアジャイルなのですか?改めて考察するウォーターフォールとの違いなぜアジャイルなのですか?改めて考察するウォーターフォールとの違い
なぜアジャイルなのですか?改めて考察するウォーターフォールとの違い
 
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 

Viewers also liked

Viewers also liked (20)

Pfs customer beef catelog 110510
Pfs customer beef catelog 110510Pfs customer beef catelog 110510
Pfs customer beef catelog 110510
 
Nanosat
NanosatNanosat
Nanosat
 
Infor
InforInfor
Infor
 
Groen licht voor groen geld
Groen licht voor groen geldGroen licht voor groen geld
Groen licht voor groen geld
 
Hyperion planning installation 9.3.1
Hyperion planning installation 9.3.1Hyperion planning installation 9.3.1
Hyperion planning installation 9.3.1
 
I M Alive
I M AliveI M Alive
I M Alive
 
Bepalingsmethode en Nationale Database
Bepalingsmethode en Nationale DatabaseBepalingsmethode en Nationale Database
Bepalingsmethode en Nationale Database
 
VINODRTM.COM
VINODRTM.COMVINODRTM.COM
VINODRTM.COM
 
Biopta company presentation
Biopta company presentationBiopta company presentation
Biopta company presentation
 
Are 30 year fixed mortgages safe?
Are 30 year fixed mortgages safe?Are 30 year fixed mortgages safe?
Are 30 year fixed mortgages safe?
 
Wire Lan Testing
Wire Lan TestingWire Lan Testing
Wire Lan Testing
 
Crisis del antiguo régimen
Crisis del antiguo régimenCrisis del antiguo régimen
Crisis del antiguo régimen
 
Integrating Twitter into Education
Integrating Twitter into EducationIntegrating Twitter into Education
Integrating Twitter into Education
 
How to find ip and mac address
How to find ip and mac addressHow to find ip and mac address
How to find ip and mac address
 
Tema 9
Tema 9Tema 9
Tema 9
 
Moteck
MoteckMoteck
Moteck
 
Stress Management!
Stress Management!Stress Management!
Stress Management!
 
USTA - Keeping Your CTA Legally Compliant and Out of Trouble
USTA - Keeping Your CTA Legally Compliant and Out of Trouble USTA - Keeping Your CTA Legally Compliant and Out of Trouble
USTA - Keeping Your CTA Legally Compliant and Out of Trouble
 
Wat Betekent Dit Voor Facility Management En Gebouwbeheer
Wat Betekent Dit Voor Facility Management En GebouwbeheerWat Betekent Dit Voor Facility Management En Gebouwbeheer
Wat Betekent Dit Voor Facility Management En Gebouwbeheer
 
Foment de l'emprenedoria
Foment de l'emprenedoriaFoment de l'emprenedoria
Foment de l'emprenedoria
 

Similar to デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)

TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02Hiro Yoshioka
 
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...Rakuten Group, Inc.
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1Hiro Yoshioka
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験についてRakuten Group, Inc.
 
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレースデブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレースDevelopers Summit
 
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方Yuta Matsumura
 
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料Tomohiro Fujii
 
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)Developers Summit
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployRyutaro YOSHIBA
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所真吾 吉田
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on AzureDaiyu Hatakeyama
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例健一 辰濱
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225Hironori Washizaki
 
人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜Yukei Wachi
 
QA SUMMIT in GDC2013
QA SUMMIT in GDC2013QA SUMMIT in GDC2013
QA SUMMIT in GDC2013IGDA JAPAN
 
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~Rakuten Group, Inc.
 
Agile at salesforce
Agile at salesforceAgile at salesforce
Agile at salesforceRyoji Osawa
 

Similar to デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏) (20)

TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
 
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレースデブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
 
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
 
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料
 
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
デブサミ2013【15-C-8】セキュリティ要求仕様モデルプランで日本は変わるか?(百瀬昌幸氏)
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure
 
Alm summit
Alm summitAlm summit
Alm summit
 
Ldd13 present
Ldd13 presentLdd13 present
Ldd13 present
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
 
人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜
 
QA SUMMIT in GDC2013
QA SUMMIT in GDC2013QA SUMMIT in GDC2013
QA SUMMIT in GDC2013
 
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
 
Agile at salesforce
Agile at salesforceAgile at salesforce
Agile at salesforce
 

More from Developers Summit

【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」Developers Summit
 
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~Developers Summit
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~Developers Summit
 
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみるDevelopers Summit
 
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。Developers Summit
 
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦Developers Summit
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツールDevelopers Summit
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツールDevelopers Summit
 
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)Developers Summit
 
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~Developers Summit
 
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えしますDevelopers Summit
 
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流Developers Summit
 
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~Developers Summit
 
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例Developers Summit
 
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~Developers Summit
 
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜Developers Summit
 
【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介Developers Summit
 
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習Developers Summit
 
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道Developers Summit
 
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略Developers Summit
 

More from Developers Summit (20)

【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
 
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
 
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
 
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
 
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
 
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
 
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
 
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
 
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
 
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
 
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例
 
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
 
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
 
【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介
 
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
 
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
 
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)

  • 1. Summit Developers Developers Summit 2013 Kansai Action ! コード品質は曖昧なままか ~ソフトウェアサプライチェーンマネージメントことはじめ~ 安竹 由起夫 コベリティ日本支社 A4 #kansumiA4
  • 2. Summit Developers Developers Summit 2013 Kansai Action ! これ、誰が書いたコード? 2  
  • 3. Summit Developers Developers Summit 2013 Kansai Action ! コードガバナンスが必要な背景   •  COTS  イニシアチブとポリシー   –  商業的に購入可能なソフトウェアを使用し開発コストを分散   –  初期導入時からソフトウェアが成熟   –  COTSソフトウェアは脆弱性が少なく、外的影響を受けにくい   •  オープンソースイニシアチブとポリシー   –  無料にみえるため、使用を奨励されている   –  それゆえ、クリティカルなシステムでの使用が増えている   •  リファレンス: h(p://scan.coverity.com   •  保守性   –  元の開発者とは違う開発者に作成されたコード   •  ビルド過程は完全で、全ての必要なビルドツールはそろっているか?   –  実行ファイルは納品されたソースから作成されているか?   •  ソースがないバイナリのモジュールが含まれているか?   •  潜在的に問題となる動作を隠すためにソースを変更したか?  
  • 4. Summit Developers Developers Summit 2013 Kansai Action ! US  法律からの引用   SEC.  933.  IMPROVEMENTS  IN  ASSURANCE  OF  COMPUTER  SOFTWARE  PROCURED  BY  THE   DEPARTMENT  OF  DEFENSE.   国防総省が製造したコンピュータ・ソフトウェアの保証改善   (a)  Baseline  SoMware  Assurance  Policy-­‐  The  Under  Secretary  of  Defense  for  AcquisiTon,  Technology,   and  LogisTcs,  in  coordinaTon  with  the  Chief  InformaTon  Officer  of  the  Department  of  Defense,  shall   develop  and  implement  a  baseline  soMware  assurance  policy  for  the  enTre  lifecycle  of  covered   systems.  Such  policy  shall  be  included  as  part  of  the  strategy  for  trusted  defense  systems  of  the   Department  of  Defense.   (b)  Policy  Elements-­‐  The  baseline  soMware  assurance  policy  under  subsecTon  (a)  shall-­‐-­‐   (1)  require  use  of  appropriate  automated  vulnerability  analysis  tools  in  computer  so3ware  code   during  the  en7re  lifecycle  of  a  covered  system,  including  during  development,  operaTonal  tesTng,   operaTons  and  sustainment  phases,  and  reTrement;   (2)  require  covered  systems  to  idenTfy  and  prioriTze  security    vulnerabiliTes  and,  based  on  risk,  determine   appropriate  remediaTon  strategies  for  such  security  vulnerabiliTes;   (3)  ensure  such  remedia7on  strategies  are  translated  into  contract  requirements  and  evaluated   during  source  selecTon;   NaTonal  Defense  AuthorizaTon  Act  2013  
  • 5. Summit Developers Developers Summit 2013 Kansai Action ! • 自動的に客観的にコード品質を評価できるしくみ が必要   •  自動的に検出できるランタイムエラーは実は多い   • 開発チームにとっては、早期のバグの発見                 👇             手戻りの削減   客観的なポリシー設定が必要 5  
  • 6. Summit Developers Developers Summit 2013 Kansai Action ! 静的解析のススメ SAT ソルバ 全パス & プロシージャ間 解析 不不具合が発⽣生しない パスを排除し、 誤検知を減らす 関数またはファイルに 跨る不具合の検出 統計的な解析 プログラムの目的を
 推測し、予期しない
 動作を報告する if x=0 ... ... If x != 0 NULL の参照解除 X!=0 X=0 X!=0X=0 void foo(int *p) { *p = 42; } void bar() { foo(p); if(p != 0) { ... } } int  *p  =  malloc(sizeof(int));   if(p  !=  0)    *p  =  42;   ...   int  *p  =  malloc(sizeof(int));   if(p  !=  0)    *p  =  42;     int  *p  =   malloc(sizeof(int));   *p  =  42;   多分正しい 多分間違い ホワイトボックス ファザー 汚染データを投入し、 無害化されているかを 自動的に確認する htmlEncode() &lt; &gt; &amp; &quot; &#x27; a b c d …  < > & ‘ …
  • 7. Summit Developers Developers Summit 2013 Kansai Action ! 例:バッファーオーバーラン 7 シングルトン の変数 Address渡し 呼出し先の   関数内表示 渡された変 数を配列とし てアクセス  
  • 8. Summit Developers Developers Summit 2013 Kansai Action ! 例:コピペミス 8 変数名の書 き換えミス 同一の関数 以外でも、   検出可能
  • 9. Summit Developers Developers Summit 2013 Kansai Action ! 例:クロスサイトスクリプティング 入り口 (source) 経路 サニタイズすべき箇所 修正方法の提示
  • 10. Summit Developers Developers Summit 2013 Kansai Action ! オープン・ソースコードは? 1 0  
  • 13. Summit Developers Developers Summit 2013 Kansai Action ! ANTLR 1 3  
  • 14. Summit Developers Developers Summit 2013 Kansai Action ! サイズ別残不具合密度平均 1 4  
  • 15. Summit Developers Developers Summit 2013 Kansai Action ! 国内製造業既存顧客データ 1 5   1,000  行あたり の初期検出不 具合数 1,000  行あたり の不具合修正 数 1,000行あたり の高・中リスク の残不具合数 不具合1件あた りの修正工数 の削減   最大 5.9  件/K行 4.85件/K行 0.69件/K行 15人時間/件   最低 0.05件/K行 0件/K行 0.01件/K行 1人時間/件 平均 1.47件/K行 0.69件/K行 0.16件/K行 9人時間/件 •  有効解答:  20  プロジェクト   •  解析対象総コード行数:1億7千900万行  (179M  step)   •  主な調査データ: –  解析コード行数、検出不具合数、修正済み不具合数、修正対象外(誤 検知含む)数   –  高・中リスクの残不具合件数 –  コベリティ導入前と導入後の不具合修正工数の変化
  • 16. Summit Developers Developers Summit 2013 Kansai Action ! ポリシーとともにトラッキングする 24   開 発 組 織 、 プ ロ ジ ェ ク ト 、 サ プ ラ イ ヤ
  • 17. Summit Developers Developers Summit 2013 Kansai Action ! まとめ •  第三者のコードが混在するのはあたりまえ   •  コードの品質を客観的に測ろう   – コーディング規約違反 < ランタイムエラー   – トレンドをみる   •  以前とくらべて悪くなっているのか?良くなっているの か?   – 組織内のコードを比較してみる   – コード品質に対するポリシーを設定する 25  
  • 18. Summit Developers Developers Summit 2013 Kansai Action ! ところで、他にも自動化できるところが 26   0" 50" 100" 150" 200" 250" 300" 350" 400" Alameda" Berkeley" Carmel" Davis" Eureka*" Number'of'Defects' Defects'Addressed'by'Coverity'Quality/Security'Advisor'' High"Impact" Medium"Impact" Low"Impact"
  • 19. Summit Developers Developers Summit 2013 Kansai Action ! 一般的なリリースプロセス:   •  6  ヶ月のリリースサイクル   •  3  ヶ月の次期リリース計画   •  リリース直前の6  週間の “ハードニング”   サイクル   •  2  週間の  “フィーチャーフリーズ”     •  2  週間の  “インテグレーションフリーズ”   •  2  週間の  “リリースフリーズ”  と  GA  のための アップロード   •  リリースのコードネームはカリフォルニア 州の都市名   •  Alameda,  Berkeley,  Davis,  Eureka,  Fresno,  …   リリースを実行するプロセス:   •  アジャイルプロセス   •  部門横断的なスクラムチーム   •  2  週間のスプリント   •  メールまたは対面での日次スタンド・アッ プ   •  Jira  と  Pivotal  を介した進捗管理   •  Bugzilla  によるバグ管理   •  週1回のステータスミーティング   •  リリースハードニングでは、週に3回   コベリティの製品リリースプロセス  
  • 20. Summit Developers Developers Summit 2013 Kansai Action ! Front End Compilation Analysis Core Analysis Coverity Connect (CC) Defect Management 1 Gc_rc gc_pbkdf2_sha1 (const char *P, size_t Plen, 2 const char *S, size_t Slen, 3 unsigned int c, 4 char *DK, size_t dkLen) 5 { 6 char U[20] T[20]; 7 unsigned int hlen = 20, u, l, r, i, k; 8 int rc; char *tmp; size_t tmplen 9 10 if (c == 0) 11 return GC_PKCS5_INVALID_ITERATION_COUNT; 12 r = dkLen - (l - 1) * hLen; 13 14 memcpy (tmp, S, Slen); 2年前の状況   コベリティの製品構造概要:   Tests automated and run during build Tests automated and run during build Mostly manually tested End-to-end (E2E) tests performed manually 2年前のテストアプローチ: •  フロントエンドと解析のコンポーネントは自動化されたテストでテストされていた •  Coverity Connect はほとんどが手動でテスト •  End-to-End のテストは手動で行われていた ConfidenTal:  For  Coverity  and  Partner  use  only.  Copyright  Coverity,  Inc.,  2013    28
  • 21. Summit Developers Developers Summit 2013 Kansai Action ! Coverity  Connect  の自動テストの例   Confidential: For Coverity and Partner use only. Copyright Coverity, Inc., 2013 2 9
  • 22. Summit Developers Developers Summit 2013 Kansai Action ! コードカバレッジに対するチャレンジ 3 0 %CodeTested Effort to develop tests 100% Diminishing return for increased test effort 1 Not all code is testable - unreachable statements - dead code, ... 2 Not all tested code adds equal value to the test - non-critical code - debug code, legacy code - exception handling, ... 3 テストされたコード(%) テスト作成の工数 テスト工数の増加 に対し効果は減少 テストを行う価値がないコード -  重要でないコード -  デバッグコード、既存コード -  決まりきった例外処理 -  … テストできないコードも存在 -  到達できないステートメント -  デッドコード -  ...
  • 23. Summit Developers Developers Summit 2013 Kansai Action ! 自動テスト開発支援ツール 31 優先的にテストすべき箇所 を開発者に通知 カバ レッジ ソース 変更情 報 変更の 影響 外部SCMから入力:    Git,  CVS,  Mercurial,        Subversion,  Perforce,      ClearCase,  AccuRev,        MS  TFS   独自に作り込み 外部カバッレジツールから入力:       gcov  (C/C++)            Bullseye(C/C++)              IBM  PureCov(C/C++)            Corbertura  (Java)     せめて新規コードと   それに影響をうけるところ   だけでも….  
  • 24. Summit Developers Developers Summit 2013 Kansai Action ! 社内での経験  –  ケーススタディ   •  十分テストされている製品のコンポーネントにこの社内ツールを適用   •  3ヶ月間、1テストエンジニアが1週間のうち4時間、テスト違反の箇所にテストを追加した   •  テストポリシー:  テスト可能なコードは 100%  テストする  (除外: デバッグコード,  実行されない コード,  その他)   0" 2" 4" 6" 8" 10" 12" 14" 16" 18" 20" 0" 5" 10" 15" 20" 25" 30" 35" 28*Apr*12"5*M ay*12"12*M ay*12"19*M ay*12"26*M ay*12" 2*Jun*12" 9*Jun*12"16*Jun*12"23*Jun*12"30*Jun*12" 7*Jul*12"14*Jul*12"21*Jul*12" Number'of'Bugs'Found' Number'of'Tests'from'TA' Date' Test'Advisor'Applica:on'in'Frontend'Project' Tests"added"through"TA" Bugs"found"by"TA"tests" •  1人週間換算で29件のテストを追加 •  製品から19件のバグを発見 – いくつ かは重大なもの •  例: Keil コンパイラの正しい機 能を阻害するバグ 3 2
  • 25. Summit Developers Developers Summit 2013 Kansai Action ! テスト自動化の進捗   •  2011年秋〜2013年春までの Coverity  Connect  と  End-­‐to-­‐End  のテスト自動化 の結果   0" 20" 40" 60" 80" 100" 120" Alameda" Berkeley" Carmel" Davis" Today" Person'Days' CC'Manual'Tes0ng'Effort' 0" 4" 8" 12" 16" 20" Alameda" Berkeley" Carmel" Davis" Today" Person'Days' E2E'Manual'Tes1ng'Effort' Alameda' Berkeley' Carmel' Davis' Today' Manual'CC'GUI'Tests' 347' 661' 1006' 931' 1194' Automated'CC'GUI''Tests' 0' 2' 44' 220' 403' 0' 250' 500' 750' 1000' 1250' 1500' 1750' CC"Test"Automa,on"Progress" Alameda' Berkeley' Carmel' Davis' Today' Manual'E2E'Tests' 300' 370' 175' 143' 60' Automated'E2E'Tests' 0' 120' 1468' 1761' 3466' 0' 500' 1000' 1500' 2000' 2500' 3000' 3500' 4000' E2E#Test#Automa-on#Progress# 3 3  
  • 26. Summit Developers Developers Summit 2013 Kansai Action ! 製品顧客からのフィードバック 34   0" 0.2" 0.4" 0.6" 0.8" 1" 1.2" 1.4" 1.6" Alameda" Berkeley" Carmel" Davis" Normalized+Number+ of+Defects+ Customer4found+Defects+
  • 27. Summit Developers Developers Summit 2013 Kansai Action ! 製品にしてしまいましたヽ(´ー`)ノ •  Coverity  Test  Advisor 35
  • 28. Summit Developers Developers Summit 2013 Kansai Action ! I  suggest  your  Next  AcTon!
  • 29. Summit Developers Developers Summit 2013 Kansai Action ! 現状を知ろう M Y   R E C O M M E N D   N E X T   A C T I O N ! 37   •  神頼みでなく、   まずは、   現状を知ること。   •  無料コード・テスト診断   受付中です!     “コベリティ”で検索  
  • 30. Summit Developers Developers Summit 2013 Kansai Action ! 新規・修正 コード+テスト 不不具合情報 単体レベル 構成管理理 不不具合情報 統合レベル 修正 解析 不不具合検出 クリーンな ファイルを登録 Coverity QA/SA 単体レベル Jenkins-‐‑‒CI コべリティ プラグイン 最新のコードセットを 自動取得 Coverity  解析 QA/SA/TA 統合レベル 最新のコード セット 新規不不具合検出 Coverity Policy Manager QA・VIP +ALM製品 Coverity   コードレベル 不不具合管理理 (Coverity  Connect) コンプライアンス 遵守チェック 不不具合管理理・ トリアージ 開発者 QA・テスター 通知 開発者 不不具合未検出 最新のテスト セット QNX テストポリシー 違反