公開されたUnreal Engineのソースコード、サードパーティの解析ツールで多くの問題が発見される 26
ストーリー by hylom
ツールが凄いのかそれとも 部門より
ツールが凄いのかそれとも 部門より
insiderman 曰く、
先日著名ゲームエンジン「Unreal Engine」のソースコードが公開された。ライセンスはオープンソースライセンスではないが、第三者がソースコードを閲覧できるようになったということでこのコードをC/C++向けのコード解析ツールを開発するPVS-Studioが解析したところ、多くの問題が見つかったそうだ(公表されている解析結果)。
これを受けて、Unreal Engineの開発物であるEpic GamesはPVS-Studioとパ-トナーシップを結び、問題を解決する方針を示したという(Epic Gamesの発表)。
「先日」ってソースコードが公開されたのは1年前なのだけど… (スコア:2, 参考になる)
そのソースコードをロシアの会社 Program Verification Systems が自社のソースコード解析ソフト PVS-Studio にかけたらいっぱいエラーが見つかったよ、とblogに載せたのが2014年4月14日。
それから1年ほどたった2015年6月17日にアメリカの会社 epic がソースコードをビルドするときのシステムに PVS-STUDIO を組み込みました、とblogに載せた。
初歩的なミスが多い (スコア:1)
タイプミスとか、コピペして使いまわすときに修正し忘れたり、本来カンマがあるべき位置に)があったり……書いた直後に見なおせば直せるような、そういう初歩的なミスが多いですね。
素人目にもそう思えるので、開発者は相当テキトーなんじゃないでしょうか。
Re:初歩的なミスが多い (スコア:2)
すこし前のコメントにこういうの [developers.srad.jp]があったのでタレコミ人か編集者に向けて書いているのかと思いました。
Epic Gamesの開発者について触れているのですね。
Re:初歩的なミスが多い (スコア:1)
一時期ゲーム業界にいましたが業界全体としてコード品質に関する考え方は相当テキトーです。
コードが若干短くなるという以外の理由もなく関数名の一部にマクロを用いていたり、目を覆いたくなるような
コードの固まり(ただし動くしパフォーマンスチューニングは徹底的、汚いコードはチューニングによるものではない)を
見せられて絶句していても同僚によると比較的奇麗なコードなんだと。
彼の話では前の会社では再帰的に自分自身をincludeするようなヘッダファイルもあったらしいです。
Unrealもバージョン上げるとそのままでは動かず必ずコード修正が必要になるとかいろいろ噂を聞いてたんで
そんなもんだろうなと思っていました。
理由は知りませんが長年に渡ってメンテすることのないゲームプログラミングの悪い特性がミドルウェアにも
反映されてしまっているのかなと推測します。
Re: (スコア:0)
それでもそれなりに動いてしまってた、ととるべき
memset(password, 0, sizeof(password)); // ちゃんと消そう!
と書いておきながら、password がT*だったり。
バグはきのこっちゃうんだよ
Re: (スコア:0)
// TODO: 何とか
ってのはたまによくやる。後で探せるし。
Re: (スコア:0)
Re: (スコア:0)
詳しくは知りませんが先生が良くハマる状況らしいです。
Re: (スコア:0)
ggrks
Re: (スコア:0)
この先生きのこるには
Re: (スコア:0)
「先」はどこから?
Re: (スコア:0)
この先、生きのこるには
Re: (スコア:0)
いやだから元コメの話でしょ
Re: (スコア:0)
「この先 生きのこる~」という文が「この先生 きのこる~」と読めると話題に
↓
「きのこる」がそのような状況(定義あいまい)の状態を示す動詞として独立する
↓
「このままじゃきのこるぜ」「○○はきのこってるんだよ」と言った、不特定多数には伝わらない用法が他者に混乱を招く
という流れだな。
Re: (スコア:0)
まじめに書いて、テストを通していても
ファジングするとボロボロ出てくるし。
http://undeadly.org/cgi?action=article&sid=20150619071929&mode... [undeadly.org]
ところで静的分析とファズは、順序としてはどちらから始めるべきなの?
UE4使ってますが (スコア:0)
変なところで落ちたり、使っているうちに重くなって再起動しないといけなくなったりと、
正直ソフトとしての品質はあまり高くないですね。
>Unreal Engineの開発物であるEpic Games (スコア:0)
平常運転お疲れ様です。
Re: (スコア:0)
Epic Gamesは
首がぐるんぐるん回ったり
壁に半分埋まってガクガク震えながら壁を登っていったり
ちょっと触れただけでビルより高く吹っ飛んだり
してしまうのか…。
取りこむのは大手のやり方として正しい (スコア:0)
Epicにとってもユーザーにとってもいい話。
ぱくれる? (スコア:0)
静的解析で検出できるピットフォールのパタンをPVS社が列挙してるわけだが、
cppcheckやSALやらが追って実装するのはアリなのかな 実際のとこどうなってるの
チェックしないものなの? (スコア:0)
PVS-Studioがどれほど正確に判定してるかってのはあるけど、Epicみたいな超大企業では
コードのチェックはしないのかね。PVSに限らずチェックツールは今や山のようにあると思うんだけど。
Re:チェックしないものなの? (スコア:2, 参考になる)
どこが大企業だって。
ゲーム開発スタジオに毛が生えた程度だよ。しかも落ち目で中華資本になってる。
Re: (スコア:0)
買収される前にオプソ化してればよかったのに
この場合開発スタイルというより資産管理面でそのほうがマシだったという意味で
実質資産がなくなるから融資が受けづらくなるけど
今ならクラウドファウンディングもあるんだし
Re:チェックしないものなの? (スコア:1)
大企業だろうと酷いところは酷い
ビジネスニュース 企業動向:トヨタの急加速事故は欠陥だらけのファームウェアが原因?――原告側調査の詳細
http://eetimes.jp/ee/articles/1311/11/news072.html [eetimes.jp]
Re:チェックしないものなの? (スコア:2)
でかい企業の方が汚いんじゃないかな?
事なかれ主義で動いているソースを触らなくなってくるだろうし。
Re: (スコア:0)
コードマジでキタネェよ。
そこそこに有名な話だと思っていたが。