九州地区 特別プロジェクト ETロボコン2009 コード品質評価プロジェクト ~高品質プログラミングのススメ~ 2009/6/13 株式会社ネットワーク応用技術研究所 梶﨑紀貴(Kajizaki Noriki) [email protected] 1 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 組込みソフトウェアの総合品質 設計品質 モデル審査 組込みソフトウェア の総合品質 性能品質 コード品質 走行タイム 2 ここが無い!! All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 組込みソフトウェア開発現場では・・・ コード品質低下の原因 ケース① 設計品質 コード品質 設計の良さを実装が損ねている ケース② 設計品質 コード品質 設計の悪さを実装でも引き継いでいる なかなかそうはいかない! 理想は・・・ 設計の良さ⇒実装品質(コード品質)につながる 3 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 ETロボコンでは理想を追求できる!! 理想 設計品質 コード品質 設計の良さ⇒実装品質(コード品質)につながっている ETロボコンのソースコード規模は小さい 小さいからこそ 目的 『設計品質』 『コード品質』 『性能品質』 全て良くする方法を学習するには最適!! 4 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 せっかくの機会を生かそう!! コード品質評価センター 参加チーム ソースコード 品質評価ツール ソースコード ソースコード 品質向上施策 品質評価結果 ワークショップで… 分析結果の傾向/考察をご報告。 コード品質向上に関する学習の場を設ける。 5 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 ソースコードの条件 プログラミング言語 C言語、または C++言語 ソースコードの規模 10KLine程度まで 対象ソースコード RCXまたはNXTに搭載するプログラムの ソースコードが対象 ソースコードの開発環境 実行委員会指定のもの 6 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 品質評価結果例(C言語) 危険なコーディング個所を指摘 1:int func(int a, int b) 2:{ 3: if( a = b ) { ^ Msg(2:3326) 代入演算子がブール式の中で使用されています。 4: return 0; 品質指標を「見える化」 5: } 6: else { 7: return 1; 8: } 9:} 7 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 品質評価結果例(C++言語) 危険なコーディング個所を指摘 1: int foo(int i) 2: { 3: if(i == 0) 4: { 5: goto skip; ^ Msg(8:4003) オブジェクトの初期化部分を飛び越しています。 6: } 7: 8: int j = 0; 9: // ・・・ 10: skip: 11: return j; 12: } 8 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 効果 参加チームにとって・・・ ①ソースコードレビューの一環として利用 ! ②プログラミングのスキル向上の一環として利用! ③ソースコード静的解析ツールの効果を体験! 九州地域として・・・ 組込みソフトのソースコード品質向上施策の一助 9 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 お約束 ソースコードの利用 ご提供頂いたソースコードはETロボコンに関する活動以外 には使用しません。 評価結果ご報告に際して ソースコードの一部をワークショップでの報告に使用することがあります。 その場合は、ご提供チーム名/メンバ名などチーム/個人を特定できる情報は 全て除外して使用します。 10 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 九州地区計画 6月 7月 6/13(土) 技術教育2 ETロボコン2009 コード品質評価プロジェクト 8月 7/25(土) 試走会1 9月 8/22(土) 試走会2 9/5(土) 地区大会 9/6(日)ワークショップ 【モデル提出期限】 モデルと一緒にソースコードを提出頂く 品質評価結果ご返却 分析 【ワークショップ】 ① ケーススタディ ② 最高品質チーム表彰 11 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009 ソースコード送付先/お問い合わせ [email protected] 株式会社ネットワーク応用技術研究所 梶﨑 紀貴(かじざき のりき) Tel : 092-831-4110 Fax : 092-831-4112 12 All Rights Reserved, Copyright © 株式会社ネットワーク応用技術研究所 2009
© Copyright 2025 ExpyDoc