JP7059165B2 - プログラム生成装置、及びプログラム生成方法 - Google Patents
プログラム生成装置、及びプログラム生成方法 Download PDFInfo
- Publication number
- JP7059165B2 JP7059165B2 JP2018221532A JP2018221532A JP7059165B2 JP 7059165 B2 JP7059165 B2 JP 7059165B2 JP 2018221532 A JP2018221532 A JP 2018221532A JP 2018221532 A JP2018221532 A JP 2018221532A JP 7059165 B2 JP7059165 B2 JP 7059165B2
- Authority
- JP
- Japan
- Prior art keywords
- screen
- source code
- scope
- variable
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
を予防することが求められる。メモリリークの予防策としては、変数のスコープを最小の範囲に限定することが効果的である。
ような仮想的な資源により実現されるものであってもよい。
発性メモリ(NVRAM:Non-volatile memory)、ハードディスクドライブ、光学式記憶装置
(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、クラウドサーバの記憶領域等である。補助記憶装置13に格納されているプログラムやデータは主記憶装置12に随時読み込まれる。
スコード生成部115、及びソースコード送信部116の各機能を有する。これらの機能は、プログラム生成装置10のプロセッサ11が、プログラム生成装置10の主記憶装置12に記憶されているプログラムを読み出して実行することにより実現される。
ソースコード生成部115は、画面記述変数がスコープ判定部114により決定されたスコープになるように調整ソースコードを生成する。調整ソースコードは、ソースコード送信部116によりソフトウェア管理装置20に送信される、
ームワークを利用して生成される、JavaScript(登録商標)により記述されたものを例示するが、ソースコード151の種類は、特定のフレームワークによるものや特定の言語で記述されるものに限定されない。例えば、ソースコード151は、TypeScript(登録商標)やHTML(登録商標)等によって記述されたものであってもよい。
。解析対象ソースコードは、「parent」画面の定義に関する記述、「parent.child1」画
面の定義に関する記述、及び「parent.child2」画面の定義に関する記述を含む。
象ソースコードには、「parent.child1」画面のソースコードが、「templates/child1.html」というファイルと、「Child1Ctrl」というコントローラが定義されたJavaScript(登
録商標)のファイルに含まれていることが記述されている。また例示する解析対象ソース
コードには、「parent.child2」画面のソースコードが、「templates/child2.html」というファイルと、「Child2Ctrl」というコントローラが定義されたJavaScript(登録商標)のファイルに含まれていることが記述されている。
あるルート画面定義部と、parent画面の定義部であるparent画面定義部と、parent.child1画面の定義部であるparent.child1画面定義部と、を有する。ルート画面定義部に定義された変数は、parent画面定義部に定義された変数に対してグローバルな関係となり、parent画面定義部に定義された変数は、parent.child1画面定義部に定義された変数に対して
グローバルな関係となる。
あるルート画面定義部と、parent画面の定義部であるparent画面定義部と、parent.child2画面の定義部であるparent.child2画面定義部と、を有する。ルート画面定義部に定義された変数は、parent画面定義部に記述された変数に対してグローバルな関係となり、parent画面定義部に定義された変数は、parent.child2画面定義部に定義された変数に対して
グローバルな関係となる。
、parent.child2画面については、「m3」と「m4」という画面記述変数が、夫々抽出
されている。
えば、ソフトウェアの開発者や保守者等のユーザが設定する。
する。
1」という変数を選択した場合には次のようになる。尚、遷移の挙動は図8(a)、(b)のように記述され、スコープ判定条件154は図10のように設定され、スコープ判定部114はパターンID1543が「1」のパターンに基づき条件(a)と条件(b)のAND条件を条件式として真偽を判定するものとする。
する画面の画面定義部は遷移先の画面で置き換わる」と判定する。以上より、条件式、即ち条件(a)と条件(b)のAND条件は真となり、スコープ判定部114は、画面記述変数「m1」はグローバル化すべきと判定し(S1115:YES)、処理はS1116に進む。
」が定義され、parent.child1画面の画面定義部で変数「m1」及び変数「m2」が定義
されている場合、parent.child1画面からparent.child2画面に遷移した際、parent.child1画面定義部はparent.child2画面定義部に置き換わり、変数「m1」及び変数「m2」の内容はいずれも主記憶装置12から消えてしまう。
画面定義部に定義されている変数「m0」のデータは主記憶装置12に残り続ける。
りも情報保存強度が高くなるように設定する。
義部で定義されるように画面記述変数表153を設定する。S1122の処理の後、処理はS1114に戻る。
Cカード、SDカード、DVD等の記録媒体に置くことができる。
5 通信ネットワーク
10 プログラム生成装置
110 記憶部
111 ソースコード取得部
112 実行ログ取得部
113 ソースコード解析部
114 スコープ判定部
115 ソースコード生成部
116 ソースコード送信部
151 ソースコード(解析対象ソースコード、調整ソースコード)
152 実行ログ
153 画面記述変数表
154 スコープ判定条件
20 ソフトウェア管理装置
210 記憶部
211 ソフトウェア管理部
212 プログラム実行部
213 ソースコード送信部
214 実行ログ送信部
251 ソースコード
252 実行ログ
S1100 プログラム生成処理
Claims (15)
- 情報処理装置であって、
画面に関する記述を含んだソースコードである解析対象ソースコード、及び、
前記解析対象ソースコードにおいて画面に関する記述に用いられている変数である画面記述変数のスコープの決定に際して用いられ、前記画面の構造または挙動に関して設定された条件であるスコープ判定条件、
を記憶し、
前記解析対象ソースコードから前記画面記述変数を抽出し、
抽出した前記画面記述変数によって記述される画面の構造または挙動を前記解析対象ソースコードに基づき取得される情報から特定し、特定した前記構造または挙動を前記スコープ判定条件と対照することにより前記画面記述変数に設定すべきスコープを決定し、
前記解析対象ソースコードに基づき、前記画面記述変数が前記決定した前記スコープとなるように記述したソースコードである調整ソースコードを生成する、
プログラム生成装置。 - 請求項1に記載のプログラム生成装置であって、
前記画面記述変数によって記述される画面の構造または挙動を、前記解析対象ソースコードを解析することにより特定する、
プログラム生成装置。 - 請求項1または2に記載のプログラム生成装置であって、
前記解析対象ソースコードに基づくプログラムを実行することにより生成される実行ログを記憶し、
前記抽出した画面記述変数によって記述される画面の挙動を、前記実行ログを解析することにより特定し、特定した前記挙動を前記スコープ判定条件と対照することにより、前記画面記述変数のスコープを決定する、
プログラム生成装置。 - 請求項2に記載のプログラム生成装置であって、
前記スコープ判定条件が、前記画面記述変数が属する画面と双方向に遷移する画面はあるかという条件、及び画面記述変数が属する画面定義部は遷移先画面で置き換わるかという条件、のうちの少なくともいずれかに基づくものである、
プログラム生成装置。 - 請求項3に記載のプログラム生成装置であって、
前記スコープ判定条件が、画面記述変数が属する画面と双方向に遷移する画面との遷移の往復回数が予め設定された閾値以上かという条件、及び画面記述変数が属する画面と双方向に遷移する画面との遷移の往復で、同じ値を該画面記述変数に格納する回数が予め設定された閾値以上かという条件、のうちの少なくともいずれかに基づくものである、
プログラム生成装置。 - 請求項1に記載のプログラム生成装置であって、
前記抽出した画面記述変数に設定すべきとして決定したスコープが現在よりもローカルなスコープである場合、当該画面記述変数のスコープが現在よりもローカルなスコープになるように前記解析対象ソースコードを変更することにより前記調整ソースコードを生成する、
プログラム生成装置。 - 請求項1に記載のプログラム生成装置であって、
前記抽出した画面記述変数に設定すべきとして決定したスコープが現在よりもグローバルなスコープである場合、当該画面記述変数のスコープが現在よりもグローバルなスコープになるように前記解析対象ソースコードを変更することにより前記調整ソースコードを生成する、
プログラム生成装置。 - 請求項7に記載のプログラム生成装置であって、
前記画面記述変数の変数名が重複しないように前記調整ソースコードを生成する、
プログラム生成装置。 - 請求項7または8に記載のプログラム生成装置であって、
前記解析対象ソースコードは、入れ子の関係を有する複数の画面の夫々に対応した画面定義部を有し、
前記抽出した画面記述変数に設定すべきとして決定したスコープに応じて前記画面記述変数を記述する前記画面定義部を選択して前記調整ソースコードを生成する、
プログラム生成装置。 - 情報処理装置が、
画面に関する記述を含んだソースコードである解析対象ソースコード、及び、前記解析対象ソースコードにおいて画面に関する記述に用いられている変数である画面記述変数のスコープの決定に際して用いられ、前記画面の構造または挙動に関して設定された条件であるスコープ判定条件、を記憶するステップと、
前記解析対象ソースコードから前記画面記述変数を抽出するステップと、
抽出した前記画面記述変数によって記述される画面の構造または挙動を前記解析対象ソースコードに基づき取得される情報から特定し、特定した前記構造または挙動を前記スコープ判定条件と対照することにより前記画面記述変数に設定すべきスコープを決定するステップと、
前記解析対象ソースコードに基づき、前記画面記述変数が前記決定した前記スコープとなるように記述したソースコードである調整ソースコードを生成するステップと、
を実行する、プログラム生成方法。 - 請求項10に記載のプログラム生成方法であって、
前記情報処理装置が、前記画面記述変数によって記述される画面の構造または挙動を、前記解析対象ソースコードを解析することにより特定するステップ
を更に実行する、プログラム生成方法。 - 請求項10または11に記載のプログラム生成方法であって、
前記情報処理装置が、
前記解析対象ソースコードに基づくプログラムを実行することにより生成される実行ログを記憶するステップと、
前記抽出した画面記述変数によって記述される画面の挙動を、前記実行ログを解析することにより特定し、特定した前記挙動を前記スコープ判定条件と対照することにより、前記画面記述変数のスコープを決定するステップと、
を更に実行する、プログラム生成方法。 - 請求項11に記載のプログラム生成方法であって、
前記スコープ判定条件が、前記画面記述変数が属する画面と双方向に遷移する画面はあるかという条件、及び画面記述変数が属する画面定義部は遷移先画面で置き換わるかという条件、のうちの少なくともいずれかに基づくものである、
プログラム生成方法。 - 請求項12に記載のプログラム生成方法であって、
前記スコープ判定条件が、画面記述変数が属する画面と双方向に遷移する画面との遷移の往復回数が予め設定された閾値以上かという条件、及び画面記述変数が属する画面と双方向に遷移する画面との遷移の往復で、同じ値を該画面記述変数に格納する回数が予め設定された閾値以上かという条件、のうちの少なくともいずれかに基づくものである、
プログラム生成方法。 - 請求項10に記載のプログラム生成方法であって、
前記情報処理装置が、
前記抽出した画面記述変数に設定すべきとして決定したスコープが現在よりもグローバルなスコープである場合、当該画面記述変数のスコープが現在よりもグローバルなスコープになるように前記解析対象ソースコードを変更することにより前記調整ソースコードを生成するステップと、
前記画面記述変数の変数名が重複しないように前記調整ソースコードを生成するステップと、
を更に実行する、プログラム生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018221532A JP7059165B2 (ja) | 2018-11-27 | 2018-11-27 | プログラム生成装置、及びプログラム生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018221532A JP7059165B2 (ja) | 2018-11-27 | 2018-11-27 | プログラム生成装置、及びプログラム生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020087033A JP2020087033A (ja) | 2020-06-04 |
JP7059165B2 true JP7059165B2 (ja) | 2022-04-25 |
Family
ID=70908306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018221532A Active JP7059165B2 (ja) | 2018-11-27 | 2018-11-27 | プログラム生成装置、及びプログラム生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7059165B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002049521A (ja) | 2000-08-03 | 2002-02-15 | Ntt Comware Corp | 変数の伝達方法およびそのプログラムが記録されたコンピュータ読み取り可能な記録媒体 |
JP2009048259A (ja) | 2007-08-14 | 2009-03-05 | Seiko Epson Corp | プログラム変換方法及び変換用プログラム |
JP2017027331A (ja) | 2015-07-22 | 2017-02-02 | コニカミノルタ株式会社 | 画像形成装置及び情報表示方法 |
US20170161035A1 (en) | 2015-12-03 | 2017-06-08 | International Business Machines Corporation | Method of Adding Local Variables In Place of Global in JavaScript |
JP2018106556A (ja) | 2016-12-27 | 2018-07-05 | 株式会社日立製作所 | 画面情報生成装置、画面情報生成方法、及びプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241755A (ja) * | 1992-02-29 | 1993-09-21 | Fujitsu Ltd | 変数記憶域管理方法 |
JP3266097B2 (ja) * | 1998-03-20 | 2002-03-18 | 日本電気株式会社 | 非リエントラントプログラムの自動リエントラント化方法及びシステム |
-
2018
- 2018-11-27 JP JP2018221532A patent/JP7059165B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002049521A (ja) | 2000-08-03 | 2002-02-15 | Ntt Comware Corp | 変数の伝達方法およびそのプログラムが記録されたコンピュータ読み取り可能な記録媒体 |
JP2009048259A (ja) | 2007-08-14 | 2009-03-05 | Seiko Epson Corp | プログラム変換方法及び変換用プログラム |
JP2017027331A (ja) | 2015-07-22 | 2017-02-02 | コニカミノルタ株式会社 | 画像形成装置及び情報表示方法 |
US20170161035A1 (en) | 2015-12-03 | 2017-06-08 | International Business Machines Corporation | Method of Adding Local Variables In Place of Global in JavaScript |
JP2018106556A (ja) | 2016-12-27 | 2018-07-05 | 株式会社日立製作所 | 画面情報生成装置、画面情報生成方法、及びプログラム |
Non-Patent Citations (1)
Title |
---|
wakamsha,【AngularJS x TypeScript デザインパターン】 Controller と Routing 篇 - AngularJS + TypeScript #4,PSYENCE:MEDIA [online],2015年12月25日,[retrieved on 2022-03-28], Retrieved from the Internet: <URL: https://blog.recruit.co.jp/rmp/front-end/post-7730/> |
Also Published As
Publication number | Publication date |
---|---|
JP2020087033A (ja) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8527254B2 (en) | Simulator engine development system and simulator engine development method | |
US20140258371A1 (en) | Collaborative editing | |
EP2814208A1 (en) | Program, apparatus, and method for creating configuration requirements | |
JPWO2020008991A1 (ja) | 検証自動化装置、検証自動化方法、およびプログラム | |
JP6692289B2 (ja) | 画面情報生成装置、画面情報生成方法、及びプログラム | |
JP6477092B2 (ja) | 情報処理システム、情報処理装置、及び情報処理方法 | |
JP6676564B2 (ja) | 開発支援システムおよび方法 | |
US20100275183A1 (en) | Source code auditor with a customized rules builder | |
JP7059165B2 (ja) | プログラム生成装置、及びプログラム生成方法 | |
JP5354981B2 (ja) | 文書管理装置、文書管理方法及びプログラム | |
US11061664B2 (en) | Code management system and code management method | |
JP2016076080A (ja) | ソースコード解析装置、ソースコード解析方法、及びプログラム | |
JP7025104B2 (ja) | 情報処理装置、方法およびプログラム | |
JP2008176364A (ja) | プログラム部品化支援装置 | |
JP2013235508A (ja) | オブジェクト指向プログラム生成装置、その方法、プログラム | |
JP7260150B2 (ja) | Webサイト設計支援装置、Webサイト設計支援方法、及びプログラム | |
JP4944434B2 (ja) | レイアウト方法及びプログラム | |
US10635257B2 (en) | Display control apparatus, non-transitory computer-readable storage medium and display control method | |
JP2009053767A (ja) | プログラム解析装置、および、プログラム解析方法 | |
WO2020008867A1 (ja) | 制御装置および制御方法 | |
JP6623731B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP2009093491A (ja) | 検証シナリオ作成プログラム、該プログラムを記録した記録媒体、検証シナリオ作成装置、および検証シナリオ作成方法 | |
JPWO2015029242A1 (ja) | ライセンス管理装置、ライセンス管理方法、及びプログラム | |
JP6983693B2 (ja) | スタブ生成支援装置、スタブ生成支援方法、及びプログラム | |
JP6497087B2 (ja) | 情報処理装置及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210415 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220323 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220413 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7059165 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |