• ベストアンサー

オープンソースのコードのバグ探しについてです。

こんにちは。今自分はオーストラリアのプログラミングの専門学校に通っていて、今半年たってVB.Netしかやったことがありません。 その前にプログラミングを勉強していた経歴もありません。そんなまだ素人に毛が生えた程度なのですが、今日宿題でオープンソースのコードからバグを探してその解決策を考えてこいと言われました。はっきり言ってコードを見てどれがバグかなんて全然わかりません。先生に言っても1つでいいからと言われましたが全然できる気がしません。 ここで質問なのですが、コードからバグを見つけるコツ等ありましたら教えてください。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.2

対象となるコードは自分で選んで良いのでしょうか? 選んでよいなら↓の点が思い当たりますね。 ・あまりメジャーではないプロジェクトを当ってみる。  → メジャーなものはバグが枯れている可能性が高い。 ・30K~60KStep くらいの規模のモノを選ぶ。  → あまり小さいとバグが入り込む余地が少なくなり、    大き過ぎると調査が大変になる。 また、課題的に許されるのであれば、静的解析ツールに掛けてみるのも手でしょう。 http://ja.wikipedia.org/wiki/%E9%9D%99%E7%9A%84%E3%82%B3%E3%83%BC%E3%83%89%E8%A7%A3%E6%9E%90 バグの疑いの有る部分をピックアップしてくれるものも有りますので、効率的に探せますよ。

chikara0808
質問者

お礼

回答ありがとうございます。 多分許されてると思うので性的解析ツール使ってみます!! 上記の点を参考にさせていただきながらやってみようと思います。 ありがとうございました。

その他の回答 (1)

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

オープンソースであれば、文法ミスなど、コンパイル不能になることは考えられません。 可能性として、 ゼロ割か、スタックオーバーフローですね。 A=B/C で、Cに0が代入された場合エラーになります。 スタックオーバーフローは 配列、ポインター変数などで、確保された領域を超えてアクセスした場合ですね。 50歳のSEより。。

chikara0808
質問者

お礼

回答ありがとうございます。 ちょっとわからない言葉もちらほら出ていますがそのへんは自分で調べて頑張ってみますね^^ ありがとうございました。

関連するQ&A

  • オープンソースのソースコードの入手の方法について

    プログラミングの勉強のためにオープンソースのソースコードを入手したいと思い、下記のホームページなどからソースコードを入手しようとしたのですが、どのようにしたらソースコードが入手することができるのか、さっぱりわかりません。オープンソースのソースコードはどのようにしたら、入手することができるのでしょうか?教えて下さい。 https://sourceforge.jp/

  • 参考にすると良いオープンソースのコードを探しています

    独学でPHPを学び、入門書やサンプルから簡単なプログラムを書いたり、既存プログラムの修正を行えるようになりました。しかし以前一度自分で作ったプログラムをインターネットで公開したら、こんな素人のどうしようもないコードは出すなと非難轟々のメールが届きました。実開発でも使えるアプリが書けるレベルになるには、この先どんなコードを参考に書いていけばよいのか困っています。 作ったプログラムをオープンソースとして公開しても恥ずかしくないようになりたいのですが、セキュリティにも問題なく、参考にすると良いオープンソースのプログラムでお薦めのものはないでしょうか?

    • ベストアンサー
    • PHP
  • オープンソースの意味

    オープンソースの意味は プログラムのソースコードを公開するって事ですよね? webプログラミングにおいては HTMLでのソースを言ってるわけじゃないですよね? 例えばOKWAVEはPHPで作られているっポイけど このPHPのコードはどうやったら私にも見れるのでしょうか? 閲覧に専用のソフトが必要なのですか?

  • ソースコードの入手方法

    ただいま独学でjavaを勉強しています。巷にあるプログラミングのテキスト、教本を見ていると『言語になれるコツはソースコードをたくさん読んで理解すること!』なんて書いてありますけど、そのソースコードってどこにあるんですか?また、どうやって見るんですか? HTMLのソースコードならネット上のHPは右クリックしてすぐにでも見れますけど、javaのソースコードは市販のテキストのサンプルコードでしか見たことがありません。どなたかjavaのソースコードの入手方法を教えてください。

    • ベストアンサー
    • Java
  • オープンソースソフトウェアについて

    現在IT業界に興味を抱いている大学3年の者です。 ある企業セミナーに参加させて頂いた際に、少し疑問になった点があったので、わかる方がいらっしゃいましたら、恐れ入りますが教えて頂けないでしょうか? 【質問】 オープンソースソフトウェア(以下:OSS)を、これからの事業として確立していく。と会社の偉い方がおっしゃっていたのですが、実際にどう商売に結びつけるのかがいまいち理解できません。 一応OSSについての概要は理解しているつもりなのですが、ソースコードを改良できるシステムを商売にするのは、その会社のプログラミングの技術不足を前面に押し出しているようにしか感じ取れません。 私の認識不足だと存じますが、どなたかお答え頂けないでしょうか?よろしくお願いいたします。

  • オープンアドレス法

    プログラミングの探索のオープンアドレス法のソースコードをフローチャートにするとどのように書けばいいのかを教えていただきたいと思います。 以下のURLがソースコードです。 長いですがよろしくお願いします。 http://www.bohyoh.com/Books/CalgoA/EX/ALGOEX0307B.html

  • オープンソースの特許についての質問です。

    はじめまして、PHPでプログラムを書いている新米プログラマーです。 オープンソースの特許についての質問なのですがよろしいでしょうか? PHPなどのオープンソースの開発言語を利用して、書籍やサイトなどで公開されているソースコードや、追加モジュールなどを組み合わせただけ(自分で改良、変更はもちろん加えます。)で出来上がってしまった作品(ソフトウェア)について、胸を張って私が開発したものだ!と特許を出願しちゃってもいいものなのでしょうか? 一応発明したのはソースコードを書いた書籍の著者やサイトのオーナーでもあるし、 ちょっと大げさになりますが元をたどせばプログラミング言語自体の製作者でもあるわけじゃないですか、 自分の技術も含まれているかもしれませんが、自分だけの技術ではないと思うんです。 そもそもソフトウェアの開発自体がほぼ全てにおいてゼロから作るわけではなく 汎用性を考えて次の開発をしやすいように、改良しやすいように作っていく、というのが基本だと思うのですが 他人が発明したものを組み合わせて発明したものを特許という法律で独占しちゃってもいいものなのでしょうか? 以前に起こったソフトウェアにおける特許の問題などを例にしてお教えいただけるとわかりよいかと思います。 もしくはそれについての詳しく説明されているサイトなどを、ご存知の方がいたらお教えいただけないでしょうか? よろしくお願いいたします。

  • ソースコード改造 msペイント 

    以前からMSペイントのツール、鉛筆、消しゴム等にショートカットキーを割り当てて 使用したいと思っていました そこで質問なのですが ソースコードを改造してこれらのツールにショートカットキーを割り当てることは可能なのでしょうか? また 可能ならばどんな方法があるのか教えて欲しいです ここで質問する前に2日ほど検索してみましたが なかなか情報を分析することができませんでしたが どうやらC言語なのかなというところまでいたりました 最近HTMLをすこしおぼえて プログラミングに惹かれだしましたが プログラミングの複雑さに何から手を付けていいのか 迷ってばかりのしろうとです これを機にプログラミングにすこしでも近づけたらと思っています わかる方がおられましたら是非お教えお願い致します

  • 京都市のシステムのリプレイスでホストコンピューター

    京都市のシステムのリプレイスでホストコンピューターからオープン開発で同じソースコードをそのまま記述してレガシーシステムのホストシステムのソースコードの中身は全部見れる状態で何で違う結果になるのですか? データベースも同じ、ソースコードは丸コピー。 で、結果が違う。 ソースコードのコピー間違いはない。どこで結果が変わるの? その使用した言語にバグがある? JavaかVBで開発していると思う。

  • データソース、データセットの作成

    VB.netで初めてプログラミングをしています。 本を買ったり、ネットで検索してみると データソース、データセットをデザイナで作成して 実装しているのがたくさん見つかります。 これが普通なのでしょうか? なんとなくコードで書く方が 仕事としてやるには普通な気がしますが、 メリット、デメリットなどがありましたら 参考にさせてください。

専門家に質問してみよう