バグなしのプログラムって本当に作れるの?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGスペルミス、異常処理、タイミングなどを考えると全てのチェックはできないと思う。
何かいい方法でもある?
0079学者(うそ)
NGNG0080aho
NGNGFormalMethod?
nandesuka koreha?
0081aho
NGNGhttp://dir.yahoo.com/Science/Computer_Science/Formal_Methods/
0082aho
NGNGhttp://www.afm.sbu.ac.uk/
0083デフォルトの名無しさん
NGNGコンパイル通らねぇよ、ヴァカ。
0084デフォルトの名無しさん
NGNGそれは俺とお前のコンパイラとその他の環境が違うからだ。
俺のはMSvisualC++のコンソールアプリケーション追加無しで通る。
0085デフォルトの名無しさん
NGNGハァ?
0086デフォルトの名無しさん
NGNG------
vaka.c
C:\Program Files\DevStudio\MyProjects\vaka\vaka.c(3) : error C2065: 'EXIT_SUCCESS' : 定義されていない識別子です。
cl.exe の実行エラー
vaka.obj - エラー 1、警告 0
------
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNGハァ ハァハァハァ ハァハァ
ハァハァ ハァハァハァ ハァハァ ハァハァハァハァ!
<同時通訳>
お前なあ そういう態度がいかん
社会に通用しないよ 出直して来い!
0089デフォルトの名無しさん
NGNG--
vaka2.c
C:\Program Files\DevStudio\MyProjects\vaka\vaka2.c(3) : error C2090: 関数は配列を返せません。
C:\Program Files\DevStudio\MyProjects\vaka\vaka2.c(4) : fatal error C1004: 予期せぬ EOF が検出されました。
cl.exe の実行エラー
vaka2.obj - エラー 2、警告 0
--
手間取らせやがって。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNG既存のものを用意させてもらうが・・・
俺の環境はちと特殊だからね。
0092デフォルトの名無しさん
NGNGそもそも脳みそが特殊と思われ。
0093>91
NGNG0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG{
}
この程度のプログラムがかけるからバグは問題ないという認識があるのだとしたら
なかなか素敵な御仁だと思います。ぜひ2ちゃんねるで活躍しつづけてください。
バグで地獄見れば、バグを減らすようになると思うんだけど、減らさないとダメだ
と気がついても、従来と同じ手法に頼るような勉強が出来ないダメプログラマーも
存在します。適性の有無が問われるのは、しょうがないと思ったよ。
0096デフォルトの名無しさん
NGNGどうすればいいか考えてみるとよいかも。
009756
NGNG>やっぱり経験と資質(職人的技術)に頼らないといけないのでしょうか?
というか、基本が出来てない人が多いんですよね。
別に「ソフトウェアテスト技法」なんて本を読む必要はありません。
「ライティングソリッドコード」くらいは読んでて欲しいけど。
信頼度成長曲線や限界値分析はおろか、ホワイトボックステストや、
ブラックボックステストすら知らない人がいるんですよ。実際に。
>私が今まで出たバグの原因は、
>1.スペルミスによるバグ
strcmp()等で比較対照に文字列リテラルを使ってて、それを間違えた
とかですか?
これは、カバレッジテストで見つけることが出来ると思うんですが。
>2.想定外のデータ処理が間違っていたバグ
これは、二つに分けて考えないといけませんね。
「想定外のデータの場合の実装をしていなかった」
「実装はしていたが、その実装に誤りがあった」
前者は、限界値分析で、後者はカバレッジテストで発見できると思います。
# 念の為言っておくと、限界値分析とは、取り得る定義域の
# 境界値付近を詳しくテストすることです。
# 例えば、0 〜 100の値を取る場合は、-1,0,1,99,100,101を調べる。
>3.想定しないタイミングが発生し、バグとなった
これは、単体テスト、UnitTestではなかなか発見できませんね。
これを事前にテストできるかどうか(いつも出来るとは限りませんけど)が
経験なんでしょう、きっと。
>4.仕様の取り違え
これは、ブラックボックステストで検出。
当然、テストケースは、プログラマが書いちゃいけません。
>5.潜在的にバグがあり、テスト時は問題なかったが、別のところを修正したら
>そのバグが出てきた
これは、テストスィートを用意して、いつでもリグレッションテストを行える
環境を作っておけば発見できますね。
>6.関係の無い関数がデータを破壊していた
私はPurifyを使ってます。UnitTestのテストスィートと、ブラックボックステストの
テストスィートを流して、エラーがないかどうかチェックしてます。
うーん、なんかご期待に添える内容じゃなかったかな?
009856
NGNG「これを修正して、他がおかしくならないかな?」という不安が
100%ではないにせよ、かなり軽減されるのが、大きなメリット
です。
また、某コピペじゃありませんが、
「よっしゃー、100テスト、200テストクリア」とか
「300assert OK, 400 assert OK」とか、正しく動く塊が増えていく
のも実感できますし。
xUnitを使ったテスト自動化をやったことが無い人は、部分的
にでも、後付けでも良いですから、やってみることをお勧めします。
んじゃ、寝る。
0100デフォルトの名無しさん
NGNGいろいろと検索したけど、オブジェクトモデルとか情報モデルとかしか
引っかかりませんでした。
0101デフォルトの名無しさん
NGNG01021
NGNG色々とありがとうございます。
参考になりました。
私ごとではありますが、組み込み系のソフトを扱っていますので、
なかなかデバッグが進みません。^^;
誰かこの辺についていい方法知ってませんか?
0103デフォルトの名無しさん
NGNGバグをバグだと思わないってのはどうです?
そういうものなんだというのが前提で・・・。
0104デフォルトの名無しさん
NGNGドラゴンボールのスカウターみたいに?
あれ、ほとんどの人は欠陥品だと思ってないんだよね。
オーバーフローごときで爆発しちゃうような代物なのに。
0106デフォルトの名無しさん
NGNGうん、そうだね・・・。
君の発言にはちょっと笑ってしまったが。
バグ(不具合)を、そういうものだと思ってしまえば、
バグじゃないんだけどね・・・。
自分の思い通りには絶対にならないのなら、
やはりそれはそういうものだという、そういう仕様だという
ことで諦めるしか・・・。
そしてそれがバグ無しのプログラム(笑)
0107デフォルトの名無しさん
NGNG俺は「バグは0にできます」というプログラマは信用しない
そいつがどんな能書きたれてもだ
ところで
>>75
のやつは括弧が "[" と "]" なんだけど…
0108デフォルトの名無しさん
NGNGあれって機械に組み込まれたプログラムがだめだと言うよりも、
あの機械が持つ最大の能力を超えた使い方がされたから、
壊れたというべきでは?
0109デフォルトの名無しさん
NGNGハード的な問題なら、ヒューズみたいなリミッターをかませばいいんじゃないのか?
ソフト的な問題ならバグだね。
どちらにしても欠陥商品ということで。
0110デフォルトの名無しさん
NGNGおれもそう思うけど
納品のときは、バグはありませんと言わないとまずい
わかってくれーー
0111デフォルトの名無しさん
NGNG「今はバグ件数0です」
と言う
0112デフォルトの名無しさん
NGNGと呼んでいたが、件数を操作したことも多々あったような気がする。
(今日のバグを明日に持ち越す)
バグ曲線が急角度になると、客先の印象が悪いからだって。
0113デフォルトの名無しさん
NGNGすべてのエンジニアはバグを常時25以下にしておかなければならなず、
テストは継続的に行っていく。バグが25を超えた場合は、その解決を
開発における最優先課題とする。
・・・
それぞれの機能を完成させてから次に移ること。品質検査はプロダクトの
ライフサイクルの間いつでもやっている。開発担当の技術者よりも品質検査
の技術者の方が数が多い。このような開発方法によって、リリースする価値
がある機能を実装できたら開発を取り止め、シュリンクして出荷する。
だってさ
0114デフォルトの名無しさん
NGNGそれよか10000人に1時間デバッグさせるほうがずっと良さそう。
バザールモデルまんせー
>>112
印象が介在しているようじゃ、完璧に敗北してるね、その曲線って。
0115デフォルトの名無しさん
NGNG「発覚していないバグはバグではない。」
0116デフォルトの名無しさん
NGNG変な理屈。
ああ神様、こういう人がY2K問題を作ったのですね。
教えてくれてありがとう。
0117デフォルトの名無しさん
NGNGなぜか?(藁
0118デフォルトの名無しさん
NGNGボウヤじゃないからさ
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG一見まともに見えるけど、ここまでいうなら、
「仕様の」バグをどう撲滅しているのか?も
組み合わせて知りたいものだ、と思ったです。
モトネタどこで見れますですか?
0122デフォルトの名無しさん
NGNG薬にかぶれてめちゃくちゃ痒いの
これは薬のバグか
0123デフォルトの名無しさん
NGNG相性問題です。
足をアップデートしてください。
0124デフォルトの名無しさん
NGNG0125ふざけて言ってるわけではないが
NGNG0126デフォルトの名無しさん
NGNGゴルゴ13にその辺の分かりやすい解説が載ってたな・・・
マジレスね。
0127ふざけて言ってるわけではないが
NGNG0128中途半端くん
NGNG多分この話だと思う。立ち読みして調べてね。違ったらごめんね。
63巻(ロックフォードの野望) 206話 「デバッグ」
ttp://www4.plala.or.jp/saito_world/Research/Golgo13/061-090/golgo13_063.htm#63-2
0129すまん
NGNG■ このスレッドは過去ログ倉庫に格納されています