JPH05241802A - ソースモジュール修正情報のマージ方式 - Google Patents

ソースモジュール修正情報のマージ方式

Info

Publication number
JPH05241802A
JPH05241802A JP4536892A JP4536892A JPH05241802A JP H05241802 A JPH05241802 A JP H05241802A JP 4536892 A JP4536892 A JP 4536892A JP 4536892 A JP4536892 A JP 4536892A JP H05241802 A JPH05241802 A JP H05241802A
Authority
JP
Japan
Prior art keywords
information
source module
correction
conflict
trace
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.)
Withdrawn
Application number
JP4536892A
Other languages
English (en)
Inventor
Mayumi Ichikawa
真由美 市川
Hirotoshi Yamada
博敏 山田
Isao Ikeda
功 池田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4536892A priority Critical patent/JPH05241802A/ja
Publication of JPH05241802A publication Critical patent/JPH05241802A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】本発明は一つのソースモジュールに対し同時期
に互いに独立して別々に機能修正を行った複数のソース
モジュールの修正情報を一つにマージするソースモジュ
ール修正情報のマージ方式に関し,動的に複数の修正ソ
ースモジュールの競合を評価して修正情報をマージする
ことを目的とする。 【構成】機能修正した複数のソースモジュールの各機能
確認動作の実行時におけるトレース情報を収集する実行
ルートトレース情報収集手段を設ける。実行ルートトレ
ース情報収集手段により収集された複数のソースモジュ
ール修正情報の実行トレース情報を元に各トレースのル
ートが他方に影響を与える競合範囲か,影響を与えない
独立範囲かを評価して競合評価情報を競合評価情報生成
手段により生成するよう構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は同時期に一つのソースモ
ジュールに別々の機能修正を行って修正した複数のソー
スモジュールの修正情報を一つにマージするためのソー
スモジュール修正情報のマージ方式に関する。
【0002】交換機システムのような大規模プログラム
は各開発者により機能単位に修正が行われるため,一つ
のモジュールに対し複数の開発者が別々の機能修正を並
行して同時に行われることが多い。
【0003】この場合,各開発者は個々の機能単位の修
正完了及び機能確認後,各開発者の修正個所をマージす
ることになるが,その際修正情報をそのまま盛り込むか
否かの競合評価を行い,修正情報を盛り込むことがプロ
グラムの品質を向上するために不可欠である。
【0004】
【従来の技術】図9は従来例のソースモジュール修正情
報のマージ方式の説明図である。図9において,90
0,901は一つのソースモジュールに対して複数の開
発者A,Bがそれぞれ独立して修正して作成された各ソ
ースモジュールであり,902は2つのソースモジュー
ルをマージした結果のソースモジュールを表す。図9に
は各モジュール900,901の一部だけ示されてお
り,ソースモジュール900は,で示す2つの個所
が修正され,ソースモジュール901は,で示す2
つの個所が修正されているものとする。
【0005】この従来例では複数のモジュールをマージ
する場合,2つのソースモジュール900,901を行
毎に評価し,一方の修正行が,他方の修正行と一致して
いなければ無条件にマージ可能と判断し,複数のソース
モジュールの修正行が一致していれば警告を発して各開
発者が手作業でマージした内容を盛り込む方式である。
【0006】すなわち,ソースモジュール900ので
示す行番号「0300」の「B+C−1」という修正情
報は,ソースモジュール901において修正されていな
い(修正行が不一致)ので,そのままマージ可能とな
る。次ので示す修正行の行番号「0700」はソース
モジュール901ので示す修正行の行番号と一致する
ため,マージした結果902の行番号「700」には警
告を表す「A=????」が表示される。また,ソース
モジュール901ので示す行番号「1300」の修正
情報「D=A+1+C」はソースモジュール900の修
正行と一致しないので無条件でマージ可能となる。
【0007】
【発明が解決しようとする課題】上記したように従来例
では,修正行の一致か否かの評価(静的評価)だけで,
修正情報の盛り込みが可能か否かを判断していたため,
マージ可能と判断されてもプログラム動作上で問題が起
きないという保証がなかった。
【0008】すなわち,従来のソースモジュール方式で
は修正による競合評価を静的に行っているため,評価結
果はマージ可能であってもプログラム動作上問題がある
可能性があり,各開発者は無条件にマージされた修正情
報に対しても手作業でソースモジュールをトレースし,
再度競合評価を行わなければならなかった。
【0009】本発明は動的に修正ソースモジュールの競
合を評価することができるソースモジュール修正情報の
マージ方式を提供することを目的とする。
【0010】
【課題を解決するための手段】図1は本発明の第1の原
理構成図,図2は本発明の第2の原理構成図である。図
1において,1a,1bは同じソースモジュールを異な
る開発者により修正して作成された2つのソースモジュ
ール,2a,2bは各ソースモジュール1a,1bから
ロードモジュールを作成して実行する実行部,3はモジ
ュール実行時のルートトレース情報を抽出し収集する実
行ルートトレース情報収集手段,3a,3bはそれぞれ
のトレース情報,4は各トレース情報3a,3bから各
実行ルートの範囲が競合範囲か否かを判別する競合評価
情報生成手段,5は競合評価情報生成手段4により生成
される競合評価情報である。
【0011】図2において,1a,1b及び5は図1と
同じものであり,6は修正行単位で競合を判定する競合
判定手段,7は競合しない部分について修正情報をマー
ジ情報に盛り込む動作を行う修正情報マージ手段であ
る。
【0012】本発明の第1の発明は複数の修正したソー
スモジュールを実行させてその時の実行ルートトレース
情報を抽出して,トレースした各ルートにおいて競合す
る範囲か独立した範囲かの競合評価を行って競合評価情
報を得るものである。
【0013】また,本発明の第2の発明は第1の発明で
得た競合評価情報を用いて複数のソースモジュールに対
して修正情報が競合する範囲にあるか否か判断し,競合
しない場合は修正情報をマージ情報に盛り込み,競合す
る場合は競合表示して修正を可能とするものである。
【0014】
【作用】図1において,一つのソースモジュールに対し
異なる開発者により修正された2つのソースモジュール
1a,1bをロードモジュールを作成して実行部2a,
2bにおいてそれぞれ実行する。この実行中における各
ソースモジュールのルートトレース情報が実行ルートト
レース情報収集手段3において抽出して収集されてそれ
ぞれのトレース情報3a,3bが得られる。各トレース
情報3a,3bは次に競合評価情報生成手段4におい
て,トレースされた実行ルートの各範囲が独立している
範囲(修正してもトレースルートに影響を与えない範
囲)か,競合する範囲(修正により他方のルートに影響
を与える範囲)かを判別して,判別結果により競合評価
情報5が生成される。この競合評価情報5を出力して,
その内容を見てソースモジュール1a,1bのマージを
順次行うことができる。
【0015】図2では,競合評価情報5及びソースモジ
ュール1a,1bは競合判定手段6に供給されると,各
ソースモジュール1a,1bの中の修正情報の位置が競
合評価情報5により競合範囲か否かを判定し,判定の結
果は修正情報マージ手段7に供給される。修正情報マー
ジ手段7は修正情報が競合しないと判定されると修正情
報をマージ情報として盛り込み,修正情報が競合すると
判定されると競合した個所を表示出力して修正情報を変
更する出力を発生する。この表示出力に対してさらに修
正情報を入力することによりマージされたソースモジュ
ールが得られる。
【0016】
【実施例】図3乃至図5により実施例1を説明する。こ
の実施例1は上記図1に示す本発明の第1の原理構成に
対応する。
【0017】図3,図4は実施例1の構成図(その
1),(その2),図5はモジュール実行ルート競合情
報生成の処理フローである。図3において,30a,3
0bは開発者a,bにより同一ソースモジュールを個別
にそれぞれが機能追加等の修正を行って作成したソース
モジュールSa,Sb,31a,31bはコンパイラ,
32a,32bはリンカ,33a,33bは修正された
機能に対応した試験条件を表すデータ,34a,34b
はロードモジュール(LMa,LMb),35a,35
bは試験実行部である。
【0018】また,図4において36はトレース情報収
集機構,36a,36bは各ソースモジュールSa,S
bを実行した時に得られるそれぞれのトレース情報,3
7はモジュール実行ルート競合情報生成機構,38はモ
ジュール実行ルート競合情報である。
【0019】図3において,開発者aは原本のソースモ
ジュールS(図示せず)を複写して,の修正をして
ソースモジュールSaを作成し,開発者bも原本のソー
スモジュールを複写して,の修正をしてソースモジ
ュールSbを作成し,個別に修正されたソースモジュー
ルSa,Sbは,それぞれ修正確認を行うため,それぞ
れコンパイラ31a,31bにおいてコンパイルされ,
次にリンカ32a,32bにおいてリンケージが行われ
てロードモジュール34a,34bを得る。更に各修正
モジュールSa,Sbに対して修正された機能に対応す
る試験条件33a,33bを作成される。次に各ロード
モジュール34a,34bは実行部35a,35bにお
いて,それぞれの試験条件33a,33bにより実行さ
れる。この時,,で示すように図4のトレース情報
収集機構36において,各ソースモジュールの実行中に
おけるトレース情報が抽出されトレース情報36a,3
6bが蓄積される。
【0020】開発者a,bのソースモジュールの修正確
認が完了した後,収集されて蓄積された実行ルートトレ
ース情報はモジュール実行ルート競合情報生成機構37
に通知される。
【0021】図4の右側に具体例としてトレース情報3
60を示す。この例では,細い実線でソースモジュール
によりトレースされるルートを示し,A〜Gはそれぞれ
トレースされたルートが一つである範囲と分岐された各
範囲毎に区切って符号を付して表示したものである。
【0022】この例では,開発者aのソースモジュール
Saのトレース情報が点線で示すようにA,B,D,
E,Gとなり,開発者bのソースモジュールSbのトレ
ース情報は太線で示すようにA,C,D,E,Gとな
る。
【0023】このようなトレース情報36a,36bが
得られた後,モジュール実行ルート競合情報生成機構3
7において,モジュール実行ルート競合情報38を生成
する。このモジュール実行ルート競合情報生成機構37
の機能を具体例で示すトレース情報360を用いて説明
すると,範囲B,範囲Cは互いに他方のモジュールに対
して影響を与えない独立した範囲であり,範囲Fは何れ
のソースモジュールのトレースも通らないルートである
ため独立した範囲である(なお,この範囲Fは何れのソ
ースモジュールも通らないルートであるからトレース情
報として発生しない)。
【0024】これに対し,範囲A,範囲D及び範囲E
は,2つのトレースが重なり合うルートであるために,
一方のモジュールの変化が他方のモジュールに対して影
響を与えるため,この範囲は競合範囲であると判別され
る。この結果,モジュール実行ルート競合情報38とし
て図に示すように独立範囲と競合範囲の判別結果が生成
される。
【0025】このモジュール実行ルート競合情報生成機
構37をプログラム制御により実現するための処理フロ
ーを図5に示す。図5において,複数のトレース情報
(図4の36a,36b)が入力されると,各トレース
情報から行番号を読み込む(図5の50),次に現在の
行番号がトレース情報を格納したファイルの終了位置か
判断し(同51),終了位置であれば処理が終了し,終
了位置でなければ行番号を比較し(同52),一致が検
出されたか判断する(同53)。一致している場合,競
合範囲の行番号として出力する(同54)。一致しない
場合は,独立行番号として小さい行番号を出力する(同
55)。出力された行番号はモジュール実行ルート競合
情報38となる。また,行番号の出力を行うと最初のス
テップ50に戻る。
【0026】図4のトレース情報360の場合,実線で
示すルートと点線で示すルートに対応する行番号を順に
読み込み,比較することにより,図4のモジュール実行
ルート競合情報38に示すように独立範囲としてB,C
が得られ,競合範囲としてA,D,Eが得られる。
【0027】次に図6乃至図8により実施例2を説明す
る。この実施例2は上記図2に示す本発明の第2の原理
構成に対応する。図6は実施例2の構成図,図7,図8
はソースモジュール修正情報マージの処理フロー(その
1),(その2)である。
【0028】図6において,30a,30bは上記実施
例1(図3)と同じ開発者aのソースモジュールSa,
開発者bのソースモジュールSbであり,38は上記実
施例1において生成されたモジュール実行ルート競合情
報(図4参照)である。
【0029】60はソースモジュール30a,30bを
入力して,モジュール実行ルート競合情報38の独立範
囲及び競合範囲を識別してソースモジュールの修正情報
をマージするソースモジュール修正情報マージ機構であ
り,61はこのマージ機構60によりマージされたソー
スモジュールSである。62は競合部分について編集機
能を備える競合エディタである。
【0030】図7及び図8は上記図6のソースモジュー
ル修正情報マージ機構60において実行される処理フロ
ーである。最初に図7に示す各処理において,各開発者
a,bにより原本ソースモジュールのどの行に対し修正
を行ったかを検出する。すなわち,原本ソース(原本ソ
ースモジュールを表す,以下同じ)とソースモジュール
Sa(「aのソース」と同義)から一行を読み込み(図
7の70),ファイルの終了位置であるか判別し(同7
1),終了位置でなければ行の内容を比較し(同7
2),差分があれば修正行番号を抽出する(同73,7
4)。差分がないと次の行について以下,ソースモジュ
ールSaの終了位置まで繰り返す。
【0031】ソースモジュールSaについて修正番号の
抽出が終了すると,次に原本ソースとbのソースモジュ
ールSbを上記のフロー(図7の70〜74)と同様の
フロー(75〜79)により修正番号の抽出が実行され
る。この図7の修正フローにより,開発者a,bのソー
スモジュールSa,Sbにより修正された行番号が獲得
され修正行番号のファイル(図示せず)に格納される。
【0032】次に図7ので示す経路により図8に移行
し,上記図7の処理フローで得られたSa,Sbの修正
行番号のファイルの先頭から取り出して比較し(図8の
80),ファイルの終了位置でなければ,2つ(Sa,
Sb)の修正行が一致するか判断する(同81,8
2)。一致しなければ,修正行をモジュール実行ルート
競合情報(図6の38)の行番号と比較して修正行が競
合行番号(競合範囲の行番号)と一致するか判断する
(同83,84)。一致する場合,競合エディタで一致
個所を表示する(同86)。この場合,表示内容を見た
担当者により該当する部分を正しい内容に編集する(同
87)。この例は,図6のソースモジュールS(61)
の行番号1300ので示す修正個所の場合に相当し,
競合表示は図6に示すように該当行の先頭に「**」の
ように担当者の注意を引くマークが表示される。
【0033】ステップ84において,修正行と競合行番
号が一致しないと修正行情報をマージする(同85)。
この例は,図6のソースモジュールS(61)の行番号
0300のの修正個所の場合に相当する。
【0034】また,ステップ82において,2つの修正
行が一致した場合は競合エディタで一致個所を表示する
(同88)。担当者により該当する部分を正しい内容に
編集する(同89)。この例は,図6のソースモジュー
ルS(61)の行番号0700について,で示す2
つの修正が行われた場合に相当する。
【0035】全ての修正行について同様のフローが実行
されてマージが完了する(同90)。このように,ソー
スモジュール修正情報マージ機構では,モジュール実行
ルート競合情報の独立範囲内の修正個所は修正情報の盛
り込みを行い,競合範囲内の修正個所は競合表示と共に
競合する部分のみをエディタ表示し,担当者(開発者)
が編集を行った後マージが完了したソースモジュールS
として出力する。
【0036】
【発明の効果】本発明によればソースモジュールの修正
による修正情報のマージに対しては,行番号の一致か否
かだけでなく,モジュールの実行ルート競合情報を抽出
し,修正情報をそのまま盛り込むか否かの競合評価を行
うので,競合のなかったソースモジュールの修正結果が
保証され,修正情報マージ後のプログラムの品質及び作
成効率を向上することができる。
【図面の簡単な説明】
【図1】本発明の第1の原理構成図である。
【図2】本発明の第2の原理構成図である。
【図3】実施例1の構成図(その1)である。
【図4】実施例1の構成図(その2)である。
【図5】モジュール実行ルート競合情報生成の処理フロ
ーである。
【図6】実施例2の構成図である。
【図7】ソースモジュール修正情報マージの処理フロー
(その1)である。
【図8】ソースモジュール修正情報マージの処理フロー
(その2)である。
【図9】従来例のソースモジュール修正情報のマージ方
式の説明図である。
【符号の説明】
1a,1b 異なる開発者により修正された2つの
ソースモジュール 2a,2b 1a,1bの実行部 3 実行ルートトレース情報収集手段 3a,3b トレース情報 4 競合評価情報生成手段 5 競合評価情報

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 一つのソースモジュールに対し同時期に
    互いに独立して別々に機能修正を行った複数のソースモ
    ジュールの修正情報を一つにマージするためのソースモ
    ジュール修正情報のマージ方式において,前記機能修正
    した複数のソースモジュールの各機能確認動作の実行時
    におけるトレース情報を収集する実行ルートトレース情
    報収集手段を設け,前記実行ルートトレース情報収集手
    段により収集された複数のソースモジュール修正情報の
    実行トレース情報を元に各トレースのルートが他方に影
    響を与える競合範囲か,影響を与えない独立範囲かを評
    価して競合評価情報を生成する競合評価情報生成手段を
    備えることを特徴とするソースモジュール修正情報のマ
    ージ方式。
  2. 【請求項2】 請求項1において,前記競合評価情報を
    元に,前記各ソースモジュールの各修正情報が競合する
    か否かを判別する競合判定手段を設け,前記判別の結果
    修正情報が競合しないと判定されると修正情報をマージ
    結果情報に盛り込み,修正情報が競合すると判定される
    と競合した個所を表示して修正情報を変更する指示を発
    生する修正情報マージ手段を備えることを特徴とするソ
    ースモジュール修正情報のマージ方式。
JP4536892A 1992-03-03 1992-03-03 ソースモジュール修正情報のマージ方式 Withdrawn JPH05241802A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4536892A JPH05241802A (ja) 1992-03-03 1992-03-03 ソースモジュール修正情報のマージ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4536892A JPH05241802A (ja) 1992-03-03 1992-03-03 ソースモジュール修正情報のマージ方式

Publications (1)

Publication Number Publication Date
JPH05241802A true JPH05241802A (ja) 1993-09-21

Family

ID=12717334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4536892A Withdrawn JPH05241802A (ja) 1992-03-03 1992-03-03 ソースモジュール修正情報のマージ方式

Country Status (1)

Country Link
JP (1) JPH05241802A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234379A (ja) * 2007-03-22 2008-10-02 Daikin Ind Ltd ソフトウェア生成装置ならびにソフトウェア生成方法
US8826224B2 (en) 2007-04-18 2014-09-02 International Business Machines Corporation Apparatus and method for supporting model-driven development

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234379A (ja) * 2007-03-22 2008-10-02 Daikin Ind Ltd ソフトウェア生成装置ならびにソフトウェア生成方法
US8826224B2 (en) 2007-04-18 2014-09-02 International Business Machines Corporation Apparatus and method for supporting model-driven development

Similar Documents

Publication Publication Date Title
US7571427B2 (en) Methods for comparing versions of a program
EP1918812A1 (en) A software development system
EP0406602A2 (en) Method and apparatus for debugging parallel programs by serialization
CN101939728A (zh) 作业网络自动生成装置、方法和程序记录介质
JPH0683598A (ja) ジョブフロー仕様書自動作成方法
US5386558A (en) Method and apparatus for executing control system functions in a computer system
US20180088914A1 (en) Method for supporting program creation and apparatus for supporting program creation
US20090327874A1 (en) Validation assisted document conversion design
Mendonça et al. Test2feature: Feature-based test traceability tool for highly configurable software
JPH096628A (ja) 並列処理手続き選定装置及び方法
CN112631925A (zh) 一种单变量原子违背缺陷的检测方法
JPH05241802A (ja) ソースモジュール修正情報のマージ方式
US6343378B1 (en) Method of making link directive file and tool for making link directive file
JPH09185500A (ja) ソースプログラムの自動修正装置および自動修正方法
JP2013161219A (ja) コード生成装置、及びコード生成プログラム
JPH04191933A (ja) プログラム言語変換方法および装置
JPH0981371A (ja) ソースコード自動バージョンアップ方法及び装置
JPH09288580A (ja) ソースプログラムの最適化装置および最適化方法
JP2555760B2 (ja) 移行資産難易度評価装置
JPH0793144A (ja) プログラム解析装置
Executive The publication of geoscientific model developments v1. 0
JPH1115695A (ja) プログラムテストパターン自動生成システム
JPH05197529A (ja) リンク情報調査装置および再リンク実行装置
JPH07152577A (ja) コンパイル、リンク方法の共通化方式
JP2872754B2 (ja) プログラム処理時間測定方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990518