電子書籍の厳選無料作品が豊富!

請け負っているソース修正作業中のファイルで静的解析を試すので適当なものを送ってください、と指示されたのですが、
最低限、解析を通す関数が1つ以上で、コーディング規約に合わせ、コンパイルエラーと警告なしが条件でした。

以下の手順で提出用のファイルを用意しました。

1.1つのソースファイルから適当に1つの関数をピックアップし、
  他の関数はすべて消しました。プロトタイプ宣言も消しました。

2.残った関数が必要としないincldeを消しました。

3.コーディング規約に沿って修正しました。include先のヘッダファイルには何も手をつけていません。

4.現段階で定義されているファイルがない変数やメソッドがあったので、適当な位置にダミーを記述しました。

5.ビルドすると当たり前ですがmain関数がない、とのエラーが出たので、何の動作もしないmain関数を書きました。


これでエラー、警告はなくなりましたが、果たしてこれで解析ができるのか心配です。
常識的に間違っている箇所があればご指摘くださいますでしょうか。

A 回答 (1件)

意図がわからない依頼ですね。


> 静的解析を試す
のが目的なのか、または、依頼先(あなた)のレベルを見たいのか?

静的解析ツールの解析能力を試したいのなら、隠れたバグのあるソースや、バグにつながるようなコードがあるソースが適当。
実は、あなたのコーディングレベルを確かめたいと(依頼先が)思っているであれば、警告が出ないようなソースファイルが適当。
目的によって提出するソースコードは全く別のものになりそうです。
もっとも依頼元がそこまで考えているかどうかは疑問ですが。

ここはあなたが依頼元の意図を正しく読み取らないと、今後の請負作業量に影響を与えかねません。
気をつけることをお勧めします。
依頼元に意図を確認してることもひとつの方策ではないでしょうか。

> これでエラー、警告はなくなりましたが、果たしてこれで解析ができるのか心配です。
解析そのものはコンパイルエラーが有っても問題ありません。コンパイルエラーの原因を指摘するはずです。
逆にコンパイルエラーの原因を指摘できない解析ツールは目的を果たしていないことになります。

でも、静的解析を試すのに請負先のソースを求める請負元って、なんか変。自分のとこでソースファイルを持ってないの?
そうするとやっぱり、請負先のレベル調査って疑いが濃厚。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
試すというのは解析能力を見るのではなく、解析ツールをこちら側(私)が所持していないので、ソースをお客側に提出→現状でどんな結果になるのか試してみてください、といった意味合いです。ツールはあちらの好みの仕様にカスタマイズしたバージョンで、最終的にそのエラーをゼロにして納品するのですが、私はその解析の仕様などの具体的な資料を持っていないのです。

とりあえず時間が来たので現状を提出すると、A4サイズで70ページあまりのエラー結果が返ってきて苦笑しました。まあ大半はインクルード先の未修正のヘッダファイルが原因だったんですが、提出前との心境を比べると、ああなるほどこれが静的解析なんだとアッサリ理解できました、あちらからのコメントもあってより理解が深まりました。

確かにまだ付き合いの浅い取引先なのでレベル調査も考えられますが、私は今年入社の新卒社員ですから、レベルなんて考えずに精進精進です。

お礼日時:2010/12/02 20:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!