富士通研究所がプログラムから業務仕様を抽出する技術を開発 42
ストーリー by hylom
(ちゃんと動くなら)ほしい 部門より
(ちゃんと動くなら)ほしい 部門より
あるAnonymous Coward 曰く、
富士通研究所がプログラムから業務仕様を抽出し、条件表として出力する技術を開発したそうだ(ITmedia)。
大規模かつ長期に渡って稼働しているシステムでは仕様が運用中に変更されるなどして仕様書と稼働している仕様が異なっていたり、そもそも仕様書が紛失・散逸しているケースもある。そのような、その仕様が「ブラックボックス化」しているステムの使用解析や現状把握などの作業を効率化できるという。
ループさせてみたい (スコア:3, 興味深い)
コイツが吐き出した仕様書を関連リンク
設計書からコードを自動生成できるという基幹システム開発支援ソフト、「プログラマーが不要」に? [developers.srad.jp]
のツールに食わせると…
そして出てきたコードをもう一度コイツに食わすと……
さらにその作業を繰り返すていくと………
どうなるんだろうな。
変異を繰り返して化物になるか、あるいは不動点に収束するのか。
どっちも富士通だからもしかして互換性があったりする?
Re:ループさせてみたい (スコア:2)
おそらく、双方のアウトプットが、それぞれ相手方の要求するインプットと異なる(たぶんシステムの挙動すべてを網羅したアウトプットにはなっていない)と思われるので、この件については無理だと思いますけど、同様の技術についての思考実験としては面白そうですね。
双方のシステムが正しく動く(勝手に無駄なビジネスルールが追加されない)限り、不動点に到達するか、ループに入るかのいずれかで、発散することはないと予想します。
Re:ループさせてみたい (スコア:2)
グライダ銃みたいに、変換ループ中に別アプリケーション仕様を吐き出したり。
https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%A9%E3%82%A4%E3%83%80%E3%... [wikipedia.org]
Re:ループさせてみたい (スコア:2)
何かしらのバグで、コード生成プログラムや仕様出力プログラムのコードが漏れて、食べさせたアプリケーションのコードに混ざったら面白い。
客「なんかコピー機から記号みたいな文字列が吐き出されたんだけど」
Re:ループさせてみたい (スコア:1)
変異を繰り返して化物になるか、あるいは不動点に収束するのか。
どっちも富士通だからもしかして互換性があったりする?
不実の仕様書が出来上がります
Re: (スコア:0)
富士通だから、蒲田じゃなくて川崎に上陸するのかな
Re: (スコア:0)
Re: (スコア:0)
機械翻訳で和訳英訳を繰り返すみたいなもんだな
Re: (スコア:0)
日本語がバグってる場合シンタックスエラー出まくって終了
これが後にコボラースレイヤーと呼ばれる (スコア:1)
伝説の技術になるとは、当時は誰も予想できなかった
Re: (スコア:0)
どうなんすかねこれを使って他に移植しようと言う機運が高まらないと意味がないでしょう。
コボラーが振り回すスレイヤーになるかもしれないし。そもそも何をスレイするつもりなのやら。
#No problem. Everything's fine.
Re:これが後にコボラースレイヤーと呼ばれる (スコア:2)
まかり間違って、COBOL復権へのキラーアプリケーション(意味違う)になってしまうかも。
// 「自動化でコスト削減」が何も知らないエンドユーザにウケてしまって...。
Re: (スコア:0)
伝説の技術になるとは、当時は誰も予想できなかった
電設の鈴木さん< 呼んだ?
# そーじゃねぇ
そのうちできそうな類似技術 (スコア:1)
曖昧なところは、人工知能が業務分析のためヒアリングをします。
//画面上に現れる仮想SE(人工知能)は男性・女性選べます(オプション)、とか。
ソースコードから表を作る作業 (スコア:1)
つまりは、仕様抽出技術の実証実験に使われた事例では、仕様書の再整備にかかる時間の約1/3は、ソースコードから表を作る作業だったのか。
1を聞いて0を知れ!
へーすごいね(棒 (スコア:0)
あの銀行のプロジェクトとかに使うんですかね。
Re:へーすごいね(棒 (スコア:1)
10年以上前にあそこのシステム触ってたけど、プログラム上にない仕様とかあったからなぁ。
具体的には、夜間バッチで、CMTへのI/Oを多数行うジョブと、ストレージに情報を書き出すジョブで、前者が先に終わると実は後続バッチが死ぬ、みたいな懸念があって。
ただし実際にはCMTへのI/Oがやたら時間かかるから大丈夫、で放置されてた。そういうのって仕様にできるのだろうか。
Re:へーすごいね(棒 (スコア:2)
Re: (スコア:0)
まず自身の仕様をだな...
Re: (スコア:0)
それは偉い人の脳内にしかないので、非対応です。
こんなことされたら (スコア:0)
バグを仕様と言えなくなるではないか・・・
ん?抽出した仕様を仕様書として提出すればいいのか?
この話 (スコア:0)
10年以上前から毎年やってる気がするので、今年は何がどうすぐれているのか、ちゃんと表現してもらいたい。
「ここ10年で最高」みたいに
当社比 (スコア:2)
Re: (スコア:0)
毎年恒例の新人研修の課題か何かとして作らせてるものなんじゃないでしょうか?
作ることが目的であって、役に立つかどうかはどうでもいい代物。
Re: (スコア:0)
Re: (スコア:0)
[要出典]
Re: (スコア:0)
カトラーとかいう超優秀新人が入った年はよかったけど…
Re: (スコア:0)
どんな脳内ソースもってんだろこの人
Re: (スコア:0)
せっかくのおもおか狙いコメを台無しにするこの空気の読めなさときたら。
何が結果として出てくるのかが問題 (スコア:0)
問題は、「何をやっているかわからない」じゃなくて、「なぜやっているかわからない」じゃなかったのか? これを見てうれしい人は、プログラムを読めない、SEと称する「エンジニア」様だけなのかも。
あの会社は、キーワードを日本語化しただけの日本語BASICとか、フローチャートからプログラムを生成するというので見てみたら、プログラム言語をフローチャート化しただけだったとか(for文やswitch文が図になっただけ)、とほほなのが多いからなあ。
というのは、「自社も出鱈目だったのかよ」と笑うところ? それとも、「ちゃんとドッグフード食ってるねえ」と褒めるところ?
Re:何が結果として出てくるのかが問題 (スコア:1)
Re:何が結果として出てくるのかが問題 (スコア:2)
それなりの規模の開発してるけど「コード読めばわかることはコード見ればいい」と思ってるよ。
規模が大きくなるほどソースコード見ただけじゃ分からない俯瞰的なドキュメントの方が重要性があって、ドキュメントはそっちに注力してほしいね。
個々の細かい話はソースコード見た方が正確だし手っ取り早い訳で、ドキュメントがコード見ればわかるような話で一杯だと困ると思うが。
Re: (スコア:0)
あなたは「コードを読めばわかることはコードを見ればいい」と思っていて、そうしている
別のある人も「コードを読めばわかることはコードを見ればいい」と思っていて、そうしている
でも、あなたの理解と別のある人の理解が一致している保証はなにもない
あなたも別のある人もちょっとずつ間違って理解していたかもしれない
だから二人の理解をよりよく一致させるためには、コード以外のものを読む必要がある
そういう時にこういったツールは役に立つのだと思います
コードに書いてあること以上ものは出てはきませんが、コードの大量のノイズを削減して情報処理に対する別の見方を提示すること、
例えばフローのかわりにファンクションを提示するなどしてより深い理解を助けることができる、あるいはその可能性があるのではないウサか
Re: (スコア:0)
このツールはプログラムを別の角度から見せてくれるので、なかなか有用だと思います
みんな嫌いな境界条件のバグ取りなど、そこそこ楽になるウサ?
Re: (スコア:0)
プログラマならソースを読めで済めば楽なんですけどね。長期に渡る大規模なプロジェクトだとコメント文の不備や不整合も生じますからね。
どっかで整理できればいいがリファクタリングは時間や金銭的問題があるので。
実際に動いているプログラムならコードの不整合はないはず。人はそれを不具合やバグと呼ぶから。
Re: (スコア:0)
言語はCOBOLだし。
例を見ると、スコープが全体にわたる一時変数の山とIFとGO TOでなす多段コードを、
なるべくフラットなパターンマッチテーブルに変換するという話に見えます。
COBOL世界では本来そういうテーブルが「仕様書」としてあって、それをCOBOLでは複雑なIF構文に落とし込んでいたため、
バグやら他の仕様からの副作用やらでコードのほうから変化した時に仕様書とのずれが大きくなっていくのでしょう。
またCOBOL世界では、COBOL言語で書く書かないに限らず、今ではVCSでやるような変更履歴等もコード上の
コメントなどで積み重なっていく運用をするので、こういう単純化自体が大きく役立つ世界でしょうし。
モダンな言語なら、この仕様書レベルの内容はコードで直接表現するのであって、コードを読めば良いのですけれどね。
Re: (スコア:0)
読んだら読んだで
みたいなコードがあって頭を抱えたりするんだぜ
お前のところはまず (スコア:0)
マトモな仕様書書くことから始めろよw
Aに3を足す→税込み額とか
10ページ超える文章が単に指定場所にパックしたデータ送るだけとか
学校の読書感想文みたいに何文字以上とかあるのかよ!と何度突っ込んだか。
Re: (スコア:0)
Re: (スコア:0)
なるほど石板にソースコード刻んで納品すれば儲かるのか!
既存コードを短くするプログラムが欲しい (スコア:0)
日本語にしたって読んでられないコードなんて腐るほどありそう…
再帰的手法を用いたプログラムを読ませてみたら (スコア:0)
どういう仕様を出してくるか試してみたい。