JP2008186244A - プログラム開発装置、プログラム開発方法およびプログラム - Google Patents
プログラム開発装置、プログラム開発方法およびプログラム Download PDFInfo
- Publication number
- JP2008186244A JP2008186244A JP2007019251A JP2007019251A JP2008186244A JP 2008186244 A JP2008186244 A JP 2008186244A JP 2007019251 A JP2007019251 A JP 2007019251A JP 2007019251 A JP2007019251 A JP 2007019251A JP 2008186244 A JP2008186244 A JP 2008186244A
- Authority
- JP
- Japan
- Prior art keywords
- code
- source code
- editing
- unit
- storage unit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】本発明のプログラム開発方法は、第1のソースコードに含まれる各コード群を複数のグループに分割し、各グループに含まれるコードを前記第1のソースコード内での実行順序に従って並べ、各並べられたコード群を、各々に連続して実行されるべき1つ以上のコードが含まれる1つ以上のセクションに区分し、各区分されたコード群を記憶部に格納し、前記第1のソースコードをもとに前記各区分されたコード群間において各セクションに対する実行順序の制約を設定し、前記記憶部の内容と、前記実行順序の制約を表す制約情報をユーザに提示し、ユーザからの編集指令に基づき前記記憶部または前記制約情報またはこれらの両方を編集し、編集された記憶部と編集された制約情報とを用いて第2のソースコードを生成する。
【選択図】図2
Description
M.Weiser, Program Slicing, IEEE Trans. on Software Engineering, SE-10(4), p.p. 352.357, 1984.
第1のソースコードに含まれる各コードを所定のアルゴリズムにより複数のグループに分割する分割部と、
各グループに含まれるコード群を前記第1のソースコード内での実行順序に従って並べ、各並べられたコード群を、各々に連続して実行されるべき1つ以上のコードが含まれる1つ以上のセクションに区分する区分部と、
各区分されたコード群を格納する記憶部と、
前記第1のソースコードをもとに前記各区分されたコード群間において各セクションに対する実行順序の制約を設定する設定部と、
前記記憶部の内容をユーザに提示する第1の提示部と、
前記実行順序の制約を表す制約情報をユーザに提示する第2の提示部と、
ユーザからの第1の編集指令に基づき前記記憶部を編集する第1の編集部と、
ユーザからの第2の編集指令に基づき前記制約情報を編集する第2の編集部と、
編集された記憶部と編集された制約情報とを用いて第2のソースコードを生成するソースコード生成部と、
を備える。
第1のソースコードに含まれる各コードを所定のアルゴリズムにより複数のグループに分割し、
各グループに含まれるコード群を前記第1のソースコード内での実行順序に従って並べ、各並べられたコード群を、各々に連続して実行されるべき1つ以上のコードが含まれる1つ以上のセクションに区分し、
各区分されたコード群を記憶部に格納し、
前記第1のソースコードをもとに前記各区分されたコード群間において各セクションに対する実行順序の制約を設定し、
前記記憶部の内容をユーザに提示し、
前記実行順序の制約を表す制約情報をユーザに提示し、
ユーザからの第1の編集指令に基づき前記記憶部を編集し、
ユーザからの第2の編集指令に基づき前記制約情報を編集し、
編集された記憶部と編集された制約情報とを用いて第2のソースコードを生成する、
ことを特徴とする。
第1のソースコードに含まれる各コードを所定のアルゴリズムにより複数のグループに分割するステップと、
各グループに含まれるコード群を前記第1のソースコード内での実行順序に従って並べ、各並べられたコード群を、各々に連続して実行されるべき1つ以上のコードが含まれる1つ以上のセクションに区分するステップと、
各区分されたコード群を記憶部に格納するステップと、
前記第1のソースコードをもとに前記各区分されたコード群間において各セクションに対する実行順序の制約を設定するステップと、
前記記憶部の内容をユーザに提示するステップと、
前記実行順序の制約を表す制約情報をユーザに提示するステップと、
ユーザからの第1の編集指令に基づき前記記憶部を編集するステップと、
ユーザからの第2の編集指令に基づき前記制約情報を編集するステップと、
編集された記憶部と編集された制約情報とを用いて第2のソースコードを生成するステップと、
をコンピュータに実行させる。
202:機能抽出部(機能分割部)
203:機能データベース(DB)
204:機能編集部(第1の編集部)
205:機能状態依存関係分析部(分析部)
206:機能状態依存関係データベース(DB)
207:依存関係編集部(第2の編集部)
208:機能直列化合成部(ソースコード生成部)
209:修正後ソースコード
Claims (21)
- 第1のソースコードに含まれる各コードを所定のアルゴリズムにより複数のグループに分割する分割部と、
各グループに含まれるコード群を前記第1のソースコード内での実行順序に従って並べ、各並べられたコード群を、各々に連続して実行されるべき1つ以上のコードが含まれる1つ以上のセクションに区分する区分部と、
各区分されたコード群を格納する記憶部と、
前記第1のソースコードをもとに前記各区分されたコード群間において各セクションに対する実行順序の制約を設定する設定部と、
前記記憶部の内容をユーザに提示する第1の提示部と、
前記実行順序の制約を表す制約情報をユーザに提示する第2の提示部と、
ユーザからの第1の編集指令に基づき前記記憶部を編集する第1の編集部と、
ユーザからの第2の編集指令に基づき前記制約情報を編集する第2の編集部と、
編集された記憶部と編集された制約情報とを用いて第2のソースコードを生成するソースコード生成部と、から構成される
プログラム開発装置。 - 前記第2の提示部は、前記各区分されたコード群間において各セクション同士を方向付きアークにより結ぶことにより前記制約情報をユーザに提示することを特徴とする請求項1に記載のプログラム開発装置。
- 前記第1の編集部は、区分されたコード群を前記記憶部に新たに追加、または、前記区分されたコード群を変更または削除することを特徴とする請求項1に記載のプログラム開発装置。
- 前記第2の編集部は、前記実行順序の制約を追加、削除、変更することを特徴とする請求項3に記載のプログラム開発装置。
- 第1〜第n(nは1以上の整数)の前記グループは、同一の出力変数に影響を与えるコードの集合であり、前記第1〜第nのグループに対応する出力変数は互いに独立していることを特徴とする請求項1記載のプログラム開発装置。
- 第n+1の前記グループは、全ての出力変数と無関係であるコードの集合であることを特徴とする請求項5記載のプログラム開発装置。
- 前記第n+1のグループは、要求される時間制約を満足するための処理を行うコード群であることを特徴とする請求項6記載のプログラム開発方法。
- 前記区分部は、内部変数に対する代入および参照の関係に基づいて前記各並べられたコード群を区分することを特徴とする請求項1に記載のプログラム開発装置。
- 前記ソースコード生成部は、前記編集された記憶部および前記編集された制約情報と、編集前の記憶部および編集前の制約情報との差分をもとに前記第1のソースコードを修正することにより前記第2のソースコードを生成することを特徴とする請求項1に記載のプログラム開発装置。
- 前記ソースコード生成部は、前記編集された記憶部および前記編集された制約情報とから前記第1のソースコードを用いることなく前記第2のソースコードを生成することを特徴とする請求項1に記載のプログラム開発装置。
- 第1のソースコードに含まれる各コードを所定のアルゴリズムにより複数のグループに分割し、
各グループに含まれるコード群を前記第1のソースコード内での実行順序に従って並べ、各並べられたコード群を、各々に連続して実行されるべき1つ以上のコードが含まれる1つ以上のセクションに区分し、
各区分されたコード群を記憶部に格納し、
前記第1のソースコードをもとに前記各区分されたコード群間において各セクションに対する実行順序の制約を設定し、
前記記憶部の内容をユーザに提示し、
前記実行順序の制約を表す制約情報をユーザに提示し、
ユーザからの第1の編集指令に基づき前記記憶部を編集し、
ユーザからの第2の編集指令に基づき前記制約情報を編集し、
編集された記憶部と編集された制約情報とを用いて第2のソースコードを生成する、
プログラム開発方法。 - 前記制約情報の提示は、前記各区分されたコード群間において各セクション同士を方向付きアークにより結ぶことにより前記制約情報をユーザに提示することを含むことを特徴とする請求項11に記載のプログラム開発方法。
- 前記記憶部の編集は、区分されたコード群を前記記憶部に新たに追加、または前記区分されたコード群を変更または削除することを含むことを特徴とする請求項11に記載のプログラム開発方法。
- 前記制約情報の編集は、前記実行順序の制約を追加、削除、変更することを含むことを特徴とする請求項13に記載のプログラム開発方法。
- 第1〜第nの前記グループは、同一の出力変数に影響を与えるコードの集合であり、前記第1〜第nのグループに対応する出力変数は互いに独立していることを特徴とする請求項11記載のプログラム開発方法。
- 第n+1の前記グループは、全ての出力変数と無関係であるコードの集合であることを特徴とする請求項11記載のプログラム開発方法。
- 前記第n+1のグループは、要求される時間制約を満足するための処理を行うコード群であることを特徴とする請求項16記載のプログラム開発方法。
- 前記区分部は、内部変数に対する代入および参照の関係に基づいて前記各並べられたコード群を区分すること含むことを特徴とする請求項11に記載のプログラム開発方法。
- 前記第2のソースコードの生成は、前記編集された記憶部および前記編集された制約情報と、編集前の記憶部および編集前の制約情報との差分をもとに前記第1のソースコードを修正することにより前記第2のソースコードを生成することを含むことを特徴とする請求項11に記載のプログラム開発方法。
- 前記第2のソースコードの生成は、前記編集された記憶部および前記編集された制約情報とから前記第1のソースコードを用いることなく前記第2のソースコードを生成することを含むことを特徴とする請求項11に記載のプログラム開発方法。
- 第1のソースコードに含まれる各コードを所定のアルゴリズムにより複数のグループに分割するステップと、
各グループに含まれるコード群を前記第1のソースコード内での実行順序に従って並べ、各並べられたコード群を、各々に連続して実行されるべき1つ以上のコードが含まれる1つ以上のセクションに区分するステップと、
各区分されたコード群を記憶部に格納するステップと、
前記第1のソースコードをもとに前記各区分されたコード群間において各セクションに対する実行順序の制約を設定するステップと、
前記記憶部の内容をユーザに提示するステップと、
前記実行順序の制約を表す制約情報をユーザに提示するステップと、
ユーザからの第1の編集指令に基づき前記記憶部を編集するステップと、
ユーザからの第2の編集指令に基づき前記制約情報を編集するステップと、
編集された記憶部と編集された制約情報とを用いて第2のソースコードを生成するステップと、
をコンピュータに実行させるためのプログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007019251A JP4919825B2 (ja) | 2007-01-30 | 2007-01-30 | プログラム開発装置、プログラム開発方法およびプログラム |
| US12/017,734 US8117590B2 (en) | 2007-01-30 | 2008-01-22 | Program developing apparatus, program developing method and computer readable medium |
| CNA200810009052XA CN101236493A (zh) | 2007-01-30 | 2008-01-30 | 程序开发装置和程序开发方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007019251A JP4919825B2 (ja) | 2007-01-30 | 2007-01-30 | プログラム開発装置、プログラム開発方法およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008186244A true JP2008186244A (ja) | 2008-08-14 |
| JP4919825B2 JP4919825B2 (ja) | 2012-04-18 |
Family
ID=39669406
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007019251A Expired - Fee Related JP4919825B2 (ja) | 2007-01-30 | 2007-01-30 | プログラム開発装置、プログラム開発方法およびプログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8117590B2 (ja) |
| JP (1) | JP4919825B2 (ja) |
| CN (1) | CN101236493A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018221175A1 (ja) * | 2017-05-30 | 2018-12-06 | 日本電気株式会社 | 半順序手順計画装置、半順序手順計画方法および半順序手順計画プログラム |
| JP2019032679A (ja) * | 2017-08-08 | 2019-02-28 | 日本電信電話株式会社 | ファイル生成装置、ファイル生成方法、および、ファイル生成プログラム |
| JP2019215867A (ja) * | 2018-06-11 | 2019-12-19 | タタ・コンサルタンシー・サーヴィシズ・リミテッド | ソースコードのプロパティを検証するための方法およびシステム |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8612954B2 (en) * | 2009-08-17 | 2013-12-17 | International Business Machines Corporation | Fine slicing: generating an executable bounded slice for program |
| US8448139B2 (en) * | 2009-10-05 | 2013-05-21 | International Business Machines Corporation | Automatic correction of application based on runtime behavior |
| US9081646B2 (en) * | 2010-01-22 | 2015-07-14 | Red Hat, Inc. | Building packages of functionally different programs from source code of a single program |
| US8949773B2 (en) * | 2010-03-25 | 2015-02-03 | International Business Machines Corporation | Deriving process models from natural language use case models |
| WO2012011145A1 (ja) * | 2010-07-20 | 2012-01-26 | 株式会社 日立製作所 | ソフトウェア保守支援装置及びそれにより検証した電子制御装置 |
| US8918544B2 (en) | 2011-03-31 | 2014-12-23 | Logitech Europe S.A. | Apparatus and method for configuration and operation of a remote-control system |
| US9239837B2 (en) | 2011-04-29 | 2016-01-19 | Logitech Europe S.A. | Remote control system for connected devices |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003044275A (ja) * | 2001-07-26 | 2003-02-14 | Toshiba Corp | 変更危険度測定システム、変更危険度測定方法及び変更危険度測定プログラム |
| JP2005141459A (ja) * | 2003-11-06 | 2005-06-02 | Nec Corp | 異常挙動検出装置および異常挙動検出方法ならびにプログラム、希少挙動部分系列計算装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5793369A (en) * | 1991-12-06 | 1998-08-11 | Lucent Technologies Inc. | Apparatus for visualizing program slices |
| US5652899A (en) * | 1995-03-03 | 1997-07-29 | International Business Machines Corporation | Software understanding aid for generating and displaying simiplified code flow paths with respect to target code statements |
| US7174536B1 (en) * | 2001-02-12 | 2007-02-06 | Iowa State University Research Foundation, Inc. | Integrated interactive software visualization environment |
| US7620946B2 (en) * | 2003-05-05 | 2009-11-17 | Jeffry Thomas Russell | Program slicing for codesign of embedded systems |
| US20070016894A1 (en) * | 2005-07-15 | 2007-01-18 | Sreedhar Vugranam C | System and method for static analysis using fault paths |
-
2007
- 2007-01-30 JP JP2007019251A patent/JP4919825B2/ja not_active Expired - Fee Related
-
2008
- 2008-01-22 US US12/017,734 patent/US8117590B2/en not_active Expired - Fee Related
- 2008-01-30 CN CNA200810009052XA patent/CN101236493A/zh active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003044275A (ja) * | 2001-07-26 | 2003-02-14 | Toshiba Corp | 変更危険度測定システム、変更危険度測定方法及び変更危険度測定プログラム |
| JP2005141459A (ja) * | 2003-11-06 | 2005-06-02 | Nec Corp | 異常挙動検出装置および異常挙動検出方法ならびにプログラム、希少挙動部分系列計算装置 |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018221175A1 (ja) * | 2017-05-30 | 2018-12-06 | 日本電気株式会社 | 半順序手順計画装置、半順序手順計画方法および半順序手順計画プログラム |
| JPWO2018221175A1 (ja) * | 2017-05-30 | 2020-04-02 | 日本電気株式会社 | 半順序手順計画装置、半順序手順計画方法および半順序手順計画プログラム |
| US11194624B2 (en) | 2017-05-30 | 2021-12-07 | Nec Corporation | Partial order procedure planning device, partial order procedure planning method and partial order procedure planning program |
| JP7176514B2 (ja) | 2017-05-30 | 2022-11-22 | 日本電気株式会社 | 半順序手順計画装置、半順序手順計画方法および半順序手順計画プログラム |
| JP2019032679A (ja) * | 2017-08-08 | 2019-02-28 | 日本電信電話株式会社 | ファイル生成装置、ファイル生成方法、および、ファイル生成プログラム |
| JP2019215867A (ja) * | 2018-06-11 | 2019-12-19 | タタ・コンサルタンシー・サーヴィシズ・リミテッド | ソースコードのプロパティを検証するための方法およびシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| US8117590B2 (en) | 2012-02-14 |
| CN101236493A (zh) | 2008-08-06 |
| US20080184196A1 (en) | 2008-07-31 |
| JP4919825B2 (ja) | 2012-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4919825B2 (ja) | プログラム開発装置、プログラム開発方法およびプログラム | |
| Stănciulescu et al. | Concepts, operations, and feasibility of a projection-based variation control system | |
| CN105446725B (zh) | 用于模型驱动开发的方法和系统 | |
| CN114217886B (zh) | 一种函数调用方法、计算设备及存储介质 | |
| US8930923B2 (en) | Generating debugging extension source code utilizing debugging information | |
| JP6479184B2 (ja) | コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置 | |
| US20100306750A1 (en) | Parallel program generation method | |
| CN103176894B (zh) | 一种面向数据库的测试数据自动衍生方法和装置 | |
| EP3989059B1 (en) | Interactive code optimizer | |
| JP2008276735A (ja) | プログラムコード変換装置及びプログラムコード変換方法 | |
| JP2013020437A (ja) | 要件管理支援装置 | |
| CN104484156A (zh) | 多语言公式的编辑方法、编辑系统和多语言公式编辑器 | |
| JP2008198103A (ja) | 状態遷移図作成装置および状態遷移図作成方法 | |
| JP5275087B2 (ja) | プログラム生成装置およびブロック線図生成装置 | |
| JP2009211143A (ja) | 情報処理装置および情報処理プログラム | |
| CN1977259A (zh) | 文档处理装置和文档处理方法 | |
| KR101514947B1 (ko) | 조선해양분야 3차원 모델링의 스킴기반 통합편집설계 최적화 방법 | |
| KR102046622B1 (ko) | 워크플로우 기반 소프트웨어 서비스 시스템 및 이 시스템의 각 기능을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램 | |
| Davidson et al. | Dynamic Circuit Specialisation for Key‐Based Encryption Algorithms and DNA Alignment | |
| KR100846203B1 (ko) | 모바일 어플리케이션의 생성 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 | |
| US7882487B2 (en) | Method of generating C code on the basis of UML specifications | |
| JP4310401B2 (ja) | 知識コードの生成方法およびその装置 | |
| Ferrari et al. | Using MLIR Transform to Design Sliced Convolution Algorithm | |
| JP3619861B2 (ja) | パイプライン情報の出力方法ならびにそのための出力装置およびコンピュータ読み取り可能な記録媒体 | |
| CN117742671A (zh) | 一种基于低代码设计组件动态生成方法、系统及电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090327 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110928 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111007 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111205 |
|
| 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: 20120104 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120131 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150210 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |