パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

富士通、人工知能を使ってソフトウェアの品質向上を図るシステムを開発へ」記事へのコメント

  • by Anonymous Coward on 2017年11月30日 15時21分 (#3321281)

    本文では触れられてないけど、このニュースのキモはやっぱここでしょう。静的解析ツールではいけないのだろうか…?

    例えばソース診断は、品質の低いコードを探し出し、レビュー作業を省力化するツールだ。具体的にはソースコードを画像化した上で、ディープラーニング(深層学習)で分析。ネスト構造が深い、コメントが少ないといった、可読性が悪いソースコードをAIが診断する。

    • by Anonymous Coward on 2017年11月30日 19時44分 (#3321449)

      ・関数名や変数名にちゃんと連番が振られているか。
      ・修正部分の履歴や差分がコメント内に残っているか。
      ・ポインターやクラスなどの理解し難い言語機能を使用していないか。

      富士通製のツールならここいら辺もチェックしてくれると思う。

      親コメント
      • by Anonymous Coward

        > ・ポインターやクラスなどの理解し難い言語機能を使用していないか。
         
        これ↑が抽出対象の「読みにくいコード」ですね!

    • そんなツール使わなくても

      1. エディタの倍率を下げて字を小さくする
      2. 黒っぽく固まってるあたりがヤバイところ

      という判定方法でだいたいやばいところはわかる。
      あと、縮小しても数十画面にわたるくらい縦長になるソースはだいたいやばい。

      あと、「すでにシステムはあるんですけどサポート切れで…」と言われて出てきた画面の
      画像を判定したら表計算ソフトか簡易DBソフトのようなマス目ベースの映像が映っていた場合もヤバイ。

      親コメント
      • 冗談で書いたつもりが意外にマジで読まれててww

        「すでにシステムは有る」の件は、聞いてみたら

        ・職場で昔に「できる人」が作った秘伝のAccessシステムだった
        ・同上でExcel VBAパターン
        ・近いものでVB4とかで作ったアプリが今頃発掘された

        という、なんというかシステム開発や移行案件っていうよりは遺跡発掘に近い案件のイメージです。

        こういうのってユーザーさんに「これはやばい」と説明してもだいたい納得してもらえない上、
        ヘタをすると「昔にこれを作った、尊敬するデキる先輩の作品を馬鹿にするんですかー!!」みたいな
        ことになりがちなので、むしろ「いや、***社の人工知能が判定した結果なんですよー」と言って
        煙に巻く材料としてどっかが「考古学的システムのソース評価AI」を作ってくれないかと思ったりする。

        親コメント
      • by Anonymous Coward on 2017年11月30日 21時00分 (#3321489)

        > そんなツール使わなくても
        > 1. エディタの倍率を下げて字を小さくする
        > 2. 黒っぽく固まってるあたりがヤバイところ
        > という判定方法でだいたいやばいところはわかる。

        富士通のシステムは,まさにこの作業をデープラーニングで自動化しています

        つまりソースコードを画像に変換して
        > 2. 黒っぽく固まってるあたりがヤバイところ
        と判定しています

        こういう感じで「そんなツール使わなくても…だいたい判る」系のプログラマは今後どんどんAIに置き換わると思われます

        親コメント
        • by Anonymous Coward

          >つまりソースコードを画像に変換して
          >> 2. 黒っぽく固まってるあたりがヤバイところ
          >と判定しています

          に対抗して,意味のない改行やスペースを多めに入れて,
          モノリシックな「黒っぽい塊」を,複数の「小さな塊の群れ」へと分割することで、
          F痛AIに「読み易いコード」と誤認識させるテクニックが広まるんですね、分かります。

        • by Anonymous Coward

          流石にその作業しかしてない訳じゃないだろうと真面目に書くべきなのかどうなんだ

      • そんな簡単なこと・・・は、ベテランだからわかる。
        素人には分からないでしょう。
        そんなベテランの勘所をAIで真似るというあたりか。

        親コメント
        • by Anonymous Coward

          これぞエキスパートシステム

      • by Anonymous Coward on 2017年11月30日 15時59分 (#3321304)

        いわゆる人工知能をやれと言われて素人がサムネのクラスタ分析以外に手を出すと手間の割に結果も出ないから
        必要機材を買わず事務用ノートとMNISTサンプルコードで済ませることだけを考えるのは会社人としては正しい

        親コメント
      • by Anonymous Coward

        それをどれだけの速度でやれますか?ってのがツールを利用する目的なのですが。
        人間ができるのは当然で、低コストで大量に処理できるかどうかが問題。

        • by Anonymous Coward

          その人工知能は低コストで大量に開発できるのですか?

          言語や環境が変われば、一から学習し直しだろうに。

    • 画像化することで言語に依存しないようにしたのでしょうか?
      本文に対応言語が書いてなかったが.

      それなら,読ませてみたいものとして
          1)古い(固定書式の)FORTRAN/COBOLで書かれたコード
          2)whitespaceで書かれたコード
          3)パンチカードとか紙テープで出力されたコード
          4)プログラムの仕様書
      親コメント
    • by Anonymous Coward

      技術的にはCASEツールの発展版でしょう。パターン解析で不具合が頻出するパターンを列挙するんでしょう。

      • by Anonymous Coward

        これ、下手をするとバグを作りまくってきた人の癖や、
        バグを作りまくってきた人を教育した教育課程の癖を学習して局所解に陥ってしまう可能性はないだろうか。

        いざ現場に導入するとバグを作りまくってきた人のコードは何を書いてもアラートまみれで、
        癖を変えようと妙ちくりんなコーディングスタイルに変えた結果さらにバグが増殖したり、
        教育課程側が根本解決を行わずにスタイルだけ変更して、しばらくすると標的が移行するだけになったり、
        それを繰り返した結果様々なスタイルが入り乱れて可読性が落ちてやっぱりバグが増殖したり。

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

処理中...