講義概要
1970年代初頭に開発されたC言語は、機械語に近いという特徴を持ち、組込みの分野で広く利用されています。 一方、欠陥や脆弱性などの排除は開発者の責任にゆだねられており、品質確保の難しい言語でもあります。 本講座では、コーディング規約活用による 「C言語の特徴を活かした高品質なコードの実装」 について学習します。講師
- 所属
- 大阪産業大学
- 講師名
- 宇野 結
パナソニック株式会社にて、プログラミング処理系、ソフトウェア開発環境に関する研究開発・製品開発・社内教育、社内コーディング規約策定活動等に従事。 情報処理推進機構(IPA)発行の「コーディング作法ガイド」執筆メンバー。またMISRA-C研究会メンバーとして、コーディングガイドラインMSIRA-Cの解説書の執筆に関わる。
現在大阪産業大学非常勤講師。
現在大阪産業大学非常勤講師。
講義内容
- 1.C言語の特徴 -その長所と短所
- ・C言語を使って実現できること
- ・欠陥や脆弱性が混入する原因
- 2.コーディング規約というアプローチ
- ・欠陥や脆弱性を排除するために設計しておくべきこと
- ・コードの記述に際して注意すべきこと
- 3. C言語の特徴を活かした設計とコーディング
- 4. 検証
- ・検証の方針:仕様に基づく検証/規約に基づく検証
- ・検証の手段:レビュー/静的解析ツール
- 5. まとめ - コーディング規約活用のヒント
- なお、本講義ではC言語を対象としていますが、コーディング規約の活用や高品質コーディングの考え方は、他の言語においてもそのまま適用できます。
受講要件
- C言語の基礎知識が必要です。 C言語やC++言語などを使ったプログラミング経験があることが望ましい。
受講にあたって必要な準備
- 特にありません。
オンライン講義に変更になった場合に必要な準備
- ブラウザを使って CERT のホームページなどを参照できる環境が必要です。
演習や質疑のために、マイクが必要です。
講義に関連する解説記事・参考文献・図書等
- CERT C のホームページ(下記)や IPA のコーディング作法ガイドのページが参考になります。
https://wiki.sei.cmu.edu/confluence/display/c (日本語 https://www.jpcert.or.jp/sc-rules/)