JPH03223926A - プログラム部品の二重登録防止装置 - Google Patents

プログラム部品の二重登録防止装置

Info

Publication number
JPH03223926A
JPH03223926A JP2019672A JP1967290A JPH03223926A JP H03223926 A JPH03223926 A JP H03223926A JP 2019672 A JP2019672 A JP 2019672A JP 1967290 A JP1967290 A JP 1967290A JP H03223926 A JPH03223926 A JP H03223926A
Authority
JP
Japan
Prior art keywords
parts
program
registered
same
program parts
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.)
Pending
Application number
JP2019672A
Other languages
English (en)
Inventor
Kozo Ogimoto
荻本 浩三
Nobuhiko Nishi
伸彦 西
Yoshitake Yamamoto
善丈 山本
Yutaka Tanaka
豊 田中
Koichi Nakai
光一 中井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shimadzu Corp
Original Assignee
Shimadzu Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shimadzu Corp filed Critical Shimadzu Corp
Priority to JP2019672A priority Critical patent/JPH03223926A/ja
Publication of JPH03223926A publication Critical patent/JPH03223926A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 この発明は、コンピュータのソースプログラムを部品化
してデータベースなどの外部記憶装置に蓄えて保管する
データベースシステムに利用され、データベースへのプ
ログラム部品の二重登録を防止する技術に関する。
B、従来技術 ]ンピュータ・ソフトウェアの生産性向上を図るため、
プログラマが作成したソースプログラムを部品化して、
データベースに蓄えておき、新たにプログラムを作成す
る場合は、データベースに登録されたプログラム部品を
利用することによって、プログラム作成効率を図る手法
が採られている。
ところで、プログラム部品を登録するデータベース中に
、同じ部品が登録されていると、部品を呼び出して再利
用する際に、混乱を招く恐れがあり、また、データベー
スの記憶容量を無駄に使うことになるため、データベー
スの利用効率を低下させるという不都合がある。
このため、これから登録しようとするプログラム部品と
同じものがすでに、データベース内に登録されているか
どうかを検証する必要があり、従来、以下のようにして
行われている。
作成されたプログラム部品内の属性情報中に記録されて
いる部品の機能概要、引数の型や数などを検索用のキー
ワードとしてデータベース内の検索を行い、同一候補部
品を抽出する。次に、同一候補部品と、登録対象プログ
ラム部品とのソースコードを比較し、同一であるかどう
かの検証を行う。
C8発明が解決しようとする課題 しかしながら、上述した従来技術には、次のような問題
点がある。
一 即ち、プログラム中で使用されている変数名や、引数名
およびこれらの宣言順序は、プログラムを作成したプロ
グラマが自身の判断で任意に定めたものであるため、部
品の同一性を検証するには、プログラマが両部品のソー
スコードを解析して、同一であるか否かの検証を行って
いる。そのため、同一部品であるかどうかの判断をプロ
グラマが行っているため、プログラム部品をデータベー
スに登録する際に、検証のための時間を必要とするばか
りか、プログラマに余分な労力を強いることになるとい
う問題点がある。
この発明は、このような事情に鑑みてなされたものであ
って、登録対象プログラム部品と同一の機能を有するプ
ログラム部品が、すでにデータベース内に登録されてい
るかどうかを自動的に検証することができるプログラム
部品の二重登録防止装置を提供することを目的としてい
る。
01課題を解決するだめの手段 この発明は、上記目的を達成するために、以下のような
構成を備えている。
即ち、登録対象プログラム部品中の任意性のある定義文
をソースコード中に展開する前処理部と、前処理された
登録対象プログラム部品内のソースコードを解析し、同
じプログラム構造をもつ登録済プログラム部品を同一候
補部品としてデータベース中から取り出す同一候補部品
抽出手段と、抽出された同一候補部品と前処理された登
録対象プログラム部品の中から変数をそれぞれ抽出する
変数抽出部と、両プログラム部品中の命令文を1つずつ
取り出して比較し、命令文が同じであり、かつ、各命令
中の全ての変数に対応関係がある場合に、両プログラム
部品が同一であると判断してその登録対象プログラム部
品の登録を拒否する同一部品検証手段とを備えたことを
特徴としている。
E1作用 この発明のプログラム部品二重登録防止装置によれば、
次のようにして、登録対象プログラム部品と登録済プロ
グラム部品との同一性が検証される。
まず、前処理部は、登録対象プログラム部品のソースコ
ード中にプログラマが独自に定義した任意性のある定義
文を展開することにより、任意性のある定義文の修正を
行う。修正が施されたソースコードは、同一候補部品抽
出手段に送出される。
同一候補部品抽出手段は、そのソースコードの構造解析
を行い、構造の特徴を示すキーワードを抽出する。抽出
したキーワードを用いてデータベース内の検索を行い、
同一構造の登録済プログラム部品を同一候補部品として
抽出する。変数抽出部は前記抽出された候補部品と登録
対象プログラム部品中で使用されている変数を抽出して
、同一部品検証手段に送る。同一部品検証手段は、両プ
ログラム部品内の命令文を1つずつ取り出して比較し、
命令文が同じであるか、および、変数抽出部で抽出され
た変数が、それらの命令文中で対応関係にあるかどうか
を判断する。命令文が同じで、全ての変数について、対
応関係が成立した場合、同一候補プログラム部品と登録
対象プログラム部品とが同一部品であると判断して、登
録対象プログラム部品をデータベースに登録するのを拒
否する。対応関係が成立しなかった場合、登録対象プロ
グラム部品と同じプログラム部品はデータヘス内には存
在しないとして、登録対象プログラム部品をデータベー
スに登録する。
F、実施例 以下、この発明の実施例を図面に基づいて説明する。
第1図は、この発明のプログラム部品二重登録防止装置
の概略構成を示したブロック図である。
この実施例では、C言語で書かれたプログラムを例に挙
げて説明する。
図中、符号】ば登録対象となるプログラム部品(以下、
単に登録対象部品と略称する)中で指定されでいるファ
イル(インクルートファイル)の取り込みや、文字列の
置き換え(マクロ処理)を行う前処理部である。通常、
C言語プログラムでは、マクロ定義によって、コンパイ
ル時に文字列などの置き換えを指示することができる。
即ち、プログラムを作成する上で、ユーザ自身が使い易
いように関数名や変数型名などを予め任意に定義一 しておき、コンパイル時に、そのプログラムの目標値に
置き換えることができる。任意に定義された関数名や変
数型名などを含むプログラムをそのまま部品として登録
すると、後述する同一部品の検証処理時にその任意性が
障害となり、正確な検証を行うことができない。また、
部品として再利用するためにもその任意性を解消する必
要がある。
そこで、この前処理部1では、プログラム部品中、#1
nclude (C言語でファイルの取り込みを指示す
る文字列)の次に指定されているファイルを取り込み、
ソースコード中に複写する。通常、このインクルートフ
ァイル中には、任意に定めた関数名などをその目標値に
置き換えるように定義したマクロ定義文(ttdef 
ineの文字列で始まる定義文)が記録されているので
、この定義文をソースコード中に展開する。マクロ定義
文の一例を次に示す。
#define  LOOP  while  −−−
(a)Itdefine  EOF   O−(b)上
記(a)はソースコード中のLOOP (関数名)とい
う文字列を全てwhile  (関数名)に置換するこ
とを指示するマクロ定義文であわ、(b)はEOI7 
 (関数名)を0という値に置換することを指示するマ
クロ定義文である。
また、#defineは、前処理部1に置き換えを指示
するコードであり、前処理部1は、これにしたがって、
LOOPをwhileに、IEOFを0にそれぞれ置き
換える。これにより、ユーザ独自による任意性が解消さ
れ、部品として使用可能なようにソースコードの変更が
行われる。
また、登録対象部品が、他の部品中の関数を呼び出し、
それを使用している場合がある。この場合、その関数が
なければ、登録対象部品は係る処理を実行することがで
きないので、呼び出している関数名を抽出し、その関数
名のテーブルを作成して、登録対象部品に付加する。
以上の処理が完了した登録対象部品は、同−候補部品検
索部2に送出される。
ここでは、登録対象部品内のソースコードの構造解析が
行われ、その構造の特徴を示すキーワードが抽出される
。そして、抽出されたキーワードを用いて部品データベ
ース3内の検索を行い、同じプログラム構造をもつプロ
グラム部品を同一候補部品であるとして、そのプログラ
ム部品の名前を抽出し、抽出した部品名を記録する同一
候補部品リスl−(以下、単にリストと記す)を作成す
る。
この同−候補部品検索部2は、同一候補部品抽出手段に
相当している。
なお、部品データベース3ば登録済のプログラム部品を
格納しているデータベースである。
一般に、C言語プログラムは、複数の制御文(処理の流
れを制御する構文)で構造化されている。即ち、C言語
で記述されたプログラム構造を解析することは、そのソ
ースコード中に、どのような制御文が使用されているか
を把握することである。
制御文には、処理を分岐させる分岐文と、処理を繰り返
し実行させる繰り返し文の二種類がある。
そこで、この同−候補部品検索部2では、その−種類の
制御文の数をそれぞれ抽出するとともに、処理を実行さ
せる命令文の数、およびプログラム部品が入力データと
して渡される入力引数の数。
型を抽出し、これらを同一候補部品検索用のキーワード
として用いる。前出の従来技術では、入力引数の数、型
を検索時のキーワードとして用いてるのに対し、制御文
および命令文の数を検索用キーワードとして追加した分
、検索範囲を狭い範囲に絞り込むことができ、同一部品
の検証時間の短縮化が図れる。
以下、プログラム構造の一例を示した第2図をを参照し
て、プログラム構造の解析について説明する。
第2図では、登録対象部品の構造例について示している
図中、最初に記述されている文字列tokkyoが、こ
の部品の関数名でありtokkyoの後に続<()内に
入力引数が記述されている。次行から(・・・)までの
範囲が入力引数の宣言部であり、同−候補部品検索部2
は、まず、その範囲内での解析を行い、宣言されている
入力引数の型と、その型をもつ人力引数の数とを抽出す
る。
この例では、float型(浮動少数点型)の入力引数
(^1.A2)が二つ宣言されているため、float
2として人力引数の型と数を抽出し、これを内部メモリ
に記憶しておく。
入力引数情報の抽出が完了すると、次は制御文数の抽出
を行う。制御文は前記のように2種類あり、それぞれの
制御文を表現する制御記号は複数個存在している。分岐
文の制御記号としては、ifとswi tchの二つが
使用され、繰り返し文の制御記号には、dow旧1e、
 for、 11hile  の三つが使用されている
。これらの記号を検索用キーワードとしてソースコード
内の解析を進めていき、それぞれの記号数を計数する。
この例では、whileが一つ、forが二つ記述され
ているので、繰り返し文が「1」1分岐文が「2」とい
うデータが内部メモリ上に登録される。
これと同時に命令文数の計数も行われる。命令文は、各
制御文中に示されているので、制御記号1 を検索した時点で、その記号の後に続く (・・・)内
の解析を行い、(・・・)内の文字列の行数を計数する
ことによって、命令文数を算出する。この例では、wh
ile文の中に二つ(Al−1十B2;八2−B2B3
;)の命令文が記述されており、それぞれのif文中に
もprintfの文字列で続く二つの命令文が記述され
ているので、命令文数は合計「4」というデータが登録
される。
このようにして、登録対象部品の構造を示す各データが
抽出される。次に、これらのデータを検索用キーワード
として、部品データベース3内の検索を行い、同一デー
タを有している登録済プログラム部品の名前を抽出する
。そして、抽出した部品名を記録するリストを作成し、
このリストを同一部品検証部5に送出する。また、前処
理部1でソースコードの変更を施された登録対象部品も
同一部品検証部5に送出する。
同一部品検証部5は、送出されたリスト中の同一候補部
品と、登録対象部品とを比較して、両部品が同一である
かどうかの検証を行う。第1図中、 2− 同一部品検証部5内に備えられているのは、両部品から
変数(引数を含む)を抽出する変数抽出部4である。
この同一部品検証部5と、後述する交換法則知識ベース
6とが同一部品検証手段に相当している。
以下、同一部品の検証手順を第4図のフローチャートに
基づいて説明する。なお、第3図は同一候補部品として
抽出されたプログラム部品の構造例を示している。
まず、ステップS1で同一部品検証部5は、同−候補部
品検索部2から送出された登録対象部品を変数抽出部4
に送出する。変数抽出部4は、与えられた登録対象部品
中のソースコードを解析し、変数と引数、およびそれら
のデータ型を抽出する。
第2図に示した例では、引数として宣言されているfl
oat Al、 float A2と、変数として宣言
されているint Bl、B2.B3とが抽出される。
抽出された変数および引数は同一部品検証部5に送られ
る。
ステップS2で、同一部品検証部5は同−候補部品検索
部2から与えられたリストを参照し、すスト中に、まだ
候補部品が残っているか否か、即ち、検証が終わってい
ない候補部品があるかどうかの判断を行う。判断した結
果、候補部品が存在していなければ、同じ候補部品はリ
スト中になかったとして、ステップS10に進み、登録
対象部品を部品データベース2に登録し、同一検証処理
を終了する。リスト中にまだ候補部品が残っζいる場合
には、その候補部品と登録対象部品との比較検証を行う
ため、次のステップS3に進む。
ステップS3で、リストに登録されている候補部品名を
指定して、部品データベース3から、候補部品を一つ取
り出し、変数抽出部4に送出する。
変数抽出部4はステップS1と同様にして、候補部品中
から、変数、引数を抽出する。例えば、第3図示のよう
なプログラム構造をもつ候補部品では、引数float
 XLfloat X2と、変数+nt Y1+Y2+
Y3が抽出され、同一部品検証部5に送られる。
同一部品検証部5は、次のステップS4からB8におい
て、登録対象部品と候補部品の命令文を一行ずつ取り出
し、命令文が同じであるか、また、5 変数に対応関係があるかをそれぞれ判断することによっ
て、両部品の同一性を検証する。
即ち、ステップS6では、登録対象部品と候補部品のソ
ースコードから、命令文を一行づつ取り出す。命令文は
前述のように、制御文の(・・・)内に記述されている
ので、ソースコードを読み取り、最初の制御記号の後に
続く (・・・)内の文字列を両部品からそれぞれ取り
出して比較する。
第2図および第3図示の例では、登録対象部品から八1
. = I’ll十R2が、候補部品からは、X1=Y
1−1−Y2が取り出されて、これらが比較される。
比較の結果、両者が同じ命令文であるかどうかの判断が
行われる(ステップS7)。上記例の登録対象部品の命
令は、B1に82を加算した結果を酎に代入せよという
命令である。この場合、候補部品も同じ命令文であるか
どうかの判断は、登録対象部品の命令文中に使用されて
いる演算子(=→−)が候補部品中にも同様に使用され
ているかどうかで行われる。判断の結果、同し命令文で
なかった場合は、両部品は同一でなかったとして、ス6 テップS9に進み、その候補部品をリストから削除する
。そして、再びステップS2に戻り、リスト中に、まだ
候補部品が残っている場合は、次の候補部品に対して同
様の処理を繰り返す。両者が同じ命令文であった場合は
次のステップS8に進む。この例では、同じ命令文であ
ると判断されて次ステツプに進む。
ステップS8では、各命令文中に使用されている変数が
互いに対応しているかどうかを判断することにより、両
部品の同一性を検証する。
即ち、部品を作成したユーザによって、変数名の付は方
に任意性が生じるため、違った名前で宣言されている変
数が、実質同じものあるかどうかの判断を行うことによ
り、変数名の任意性にかかわらず両部品の同一性が検証
される。
ステップS1とステップS3で抽出された各変数が、ス
テップS6で取り出された一行目の両命令文中で対応関
係にあるかどうかの判断を行う。
まず、最初に取り出された登録対象部品の命令文へ1=
81+82と、候補部品の命令文X1=Y1+Y2中の
変数(引数も含む)を比較し、対応関係を調べる。
比較した結果、A1と×1とが対応しており、B1とY
l、B2とY2とが対応していると判断される。しかし
、この命令文の右辺は加算式となっているので交換法則
が成立する。ユーザによっては、BL−1−B2をB2
十B1と記述することもあるため、一義的に対応関係が
成立しない場合がある。そこで、変数の位置を入れ換え
ても同じ処理目的を達成することができるという情報を
有している必要がある。第1図示の交換法則知識ベース
6がこれに相当する。この交換法則知識ベース6内には
、交換法則が成立する演算子情報と、その演算子が記述
されている命令文中、交換可能な変数の位置情報が格納
されている。この位置情報は、例えば、」二記例のよう
に演算子「+」の前後位置の変数は交換可能である場合
、その前後位置を指定する情報である。
同一部品検証部5は、命令文を比較し、対応関係を調べ
ていく上で、交換法則が成立する演算子を検知すると、
交換法則知識ベース6を読み出し、前記の位置情報を得
る。この位置情報に基づき、交換可能な変数を把握した
上で、変数の対応関係を判断する。その結果、各変数の
対応関係は以下のようになる。
^1→XL Bl→YI ORY2. B2→YI O
RY2  ・・・■■において、→は対応関係を示す記
号として用いている(以下、同様)。
このように、演算子「+」の前後位置にある変数は交換
法則が成立するので、B1と対応している変数としては
、YlとY2のどちらかであると判断され、同様に、B
2と対応しているのは、vlとY2のどちらかであると
判断される。交換法則を考慮しても、対応関係が成立し
ない場合(例えば、変数の数が同じでない場合など)は
、両部品は同一でないと判断されて、ステップS9の処
理を実行する。
また、上記のように、対応関係の成立が判断されると、
ステップS4に戻る。そして、二行目の命令文について
も同様の処理を繰り返す。
この例の登録対象部品の二行目の命令文(八2−B2−
83) と候補部品の二行目の命令文(X2=Y2Y3
)とは一致するため、上記のステップS8にお9 いて、変数が対応しているかどうかの比較判断が行われ
、次の結果が得られる。
A2→X2. B2→Y2 、B3→Y3      
・・・■この■に示した二行目の判断結果と、■に示し
た一行目の判断結果とを比較して、二行目までの総合の
判断結果が出される。
即ち、二行目の判断結果で、B2はY2と対応している
ことが判明したので、−行目の判断結果中、B1はYl
と対応していると判断される。これにより、二行目まで
の全ての変数について対応関係が成立したと判断される
このようにして、各行毎の命令文中の変数の対応関係を
調べ、すべての変数の対応関係が成立するとステップS
4で、全てのソースコードの読み取りが終了したと判断
され、ステップS5に進み登録対象部品の部品データベ
ース3への登録が拒否される。また、全ての候補部品に
ついて、以上の処理を実行し、命令文の形式や変数の対
応関係が成立しなかった場合、登録対象部品と同一の部
品は、まだ、部品データベース3内に登録されて0 いなかったとして、登録対象部品を部品データベース3
に登録する(ステップ510)。
なお、上述した実施例における同一候補部品の抽出の際
に、プログラム部品の属性情報中に、記録されている部
品の機能概要を同一候補部品の検索用キーワードとして
追加してもよい。これにより、候補部品の範囲をさらに
、狭めることができ、同一部品検証時の時間短縮化を図
ることができる。
また、上述の実施例では、C言語について記載している
が、他言語で書かれたプログラム構造を同様に解析する
ことで、プログラム部品のデータベースへの二重登録を
防止することは可能である。
G0発明の効果 以上の説明から明らかなように、この発明に係るプログ
ラム部品の二重登録防止装置は、登録対象プログラム部
品中の任意性のある定義文をソースコード中に展開し、
その後、登録対象プログラム部品のソースコード中の命
令文と、登録済プログラム部品中、同一候補部品として
抽出されたプログラム部品の命令文とを一つずつ比較し
、命令文の同一性および各命令文中で使用されている変
数間の対応関係の有無を判断することにより、両部品の
同一性の検証を行うようにしたので、従来のようにプロ
グラムが自身によるプログラム解析を行う必要がなく、
自動的に同一性の検証を行うことができる。したがって
、大幅な検証時間の短縮化が図られるとともに、プログ
ラマの労力を大幅に軽減することができる。
【図面の簡単な説明】
第1図ないし第4図は、この発明の一実施例に係り、第
1図はプログラム部品の二重登録防止装置の概略構成を
示したブロック図、第2図は登録対象プログラム部品の
プログラム構造の一例図、第3図は登録済プログラム部
品のプログラム構造の一例図、第4図は同一検証の手順
を示したフローチャートである。 1・・・前処理部 2・・・同−候補部品検索部 3・・・部品データベース 4・・・変数抽出部 5・・・同一部品検証部 6・・・交換法則知識へ−ス

Claims (1)

    【特許請求の範囲】
  1. (1)予めデータベースに登録されているプログラム部
    品(登録済プログラム部品)と、これから登録しようと
    するプログラム部品(登録対象プログラム部品)とが同
    じものであるかどうかを判断することにより、データベ
    ースへのプログラム部品の二重登録を防止する装置であ
    って、登録対象プログラム部品中の任意性のある定義文
    をソースコード中に展開する前処理部と、前処理された
    登録対象プログラム部品内のソースコードを解析し、同
    じプログラム構造をもつ登録済プログラム部品を同一候
    補部品としてデータベース中から取り出す同一候補部品
    抽出手段と、抽出された同一候補部品と前処理された登
    録対象プログラム部品の中から変数をそれぞれ抽出する
    変数抽出部と、両プログラム部品中の命令文を1つずつ
    取り出して比較し、命令文が同じであり、かつ、各命令
    中の全ての変数に対応関係がある場合に、両プログラム
    部品が同一であると判断してその登録対象プログラム部
    品の登録を拒否する同一部品検証手段とを備えたことを
    特徴とするプログラム部品の二重登録防止装置。
JP2019672A 1990-01-29 1990-01-29 プログラム部品の二重登録防止装置 Pending JPH03223926A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019672A JPH03223926A (ja) 1990-01-29 1990-01-29 プログラム部品の二重登録防止装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019672A JPH03223926A (ja) 1990-01-29 1990-01-29 プログラム部品の二重登録防止装置

Publications (1)

Publication Number Publication Date
JPH03223926A true JPH03223926A (ja) 1991-10-02

Family

ID=12005730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019672A Pending JPH03223926A (ja) 1990-01-29 1990-01-29 プログラム部品の二重登録防止装置

Country Status (1)

Country Link
JP (1) JPH03223926A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020038521A (ja) * 2018-09-05 2020-03-12 株式会社日立製作所 ソースコード生成支援装置およびソースコード生成支援方法
JPWO2019167187A1 (ja) * 2018-02-28 2020-04-09 三菱電機株式会社 プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2019167187A1 (ja) * 2018-02-28 2020-04-09 三菱電機株式会社 プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム
JP2020038521A (ja) * 2018-09-05 2020-03-12 株式会社日立製作所 ソースコード生成支援装置およびソースコード生成支援方法

Similar Documents

Publication Publication Date Title
US6901579B1 (en) Generation of source code from classes and maintaining the comment that indicates the role of the class in the generated source code
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
US20020100022A1 (en) Method and apparatus for automatic verification of properties of a concurrent software system
CN108897678B (zh) 静态代码检测方法和静态代码检测系统、存储设备
CN113434395B (zh) 测试用例的自动化生成方法、装置、设备及介质
CN107729015A (zh) 一种确定工程代码中的无用函数的方法和装置
Koskimies et al. The design of a language processor generator
JPH03223926A (ja) プログラム部品の二重登録防止装置
CN115039083A (zh) 逻辑连接程序执行时生成的异步算法合法性验证使能方法
CN115391173A (zh) 从Simulink-StateFlow模型到NuSMV模型的转换方法
CN112764788A (zh) 基于程序源码切片重组的软件动态更新热补丁合成方法
JP2002288004A (ja) プログラムソース処理装置、プログラムソース処理方法、およびプログラムソース処理プログラム
Nakagawa et al. How compact will my system be? A fully-automated way to calculate Loc reduced by clone refactoring
JP3584204B2 (ja) 原始プログラム自動変換装置
JPH07146785A (ja) プログラム自動生成方法および装置
KR100290623B1 (ko) 데이터베이스의 데이터 제어방법
Dausend et al. Towards a comprehensive extension of abstract state machines for aspect-oriented specification
CN117632997A (zh) 一种跨数据库平台的命令行界面及读写操作方法
JPH06290039A (ja) プログラム変更方法
Stepney et al. AZ Patterns Catalogue: I
CN118113291A (zh) 一种内存安全管理方法及设备
CN117851101A (zh) 一种基于大语言模型的仓库级别代码缺陷自动修复的方法
JPH0954704A (ja) 言語プロセッサのテストプログラム自動作成システム
JPH0793144A (ja) プログラム解析装置
JPH06222913A (ja) プログラム解析装置