JP6546569B2 - データ処理プログラム及びデータ処理方法 - Google Patents

データ処理プログラム及びデータ処理方法 Download PDF

Info

Publication number
JP6546569B2
JP6546569B2 JP2016168393A JP2016168393A JP6546569B2 JP 6546569 B2 JP6546569 B2 JP 6546569B2 JP 2016168393 A JP2016168393 A JP 2016168393A JP 2016168393 A JP2016168393 A JP 2016168393A JP 6546569 B2 JP6546569 B2 JP 6546569B2
Authority
JP
Japan
Prior art keywords
data
update
ticket
time
identification information
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
Application number
JP2016168393A
Other languages
English (en)
Other versions
JP2018036792A (ja
Inventor
忍 斎藤
忍 斎藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016168393A priority Critical patent/JP6546569B2/ja
Publication of JP2018036792A publication Critical patent/JP2018036792A/ja
Application granted granted Critical
Publication of JP6546569B2 publication Critical patent/JP6546569B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、データ処理プログラム及びデータ処理方法に関する。
インターネット上でのビジネスの普及やモバイル網の普及により、さまざまなものがソフトウェアにより実現されるようになっており、商用で利用されるソフトウェアの開発品質の重要性が増している。また、ソフトウェアでは短期間での投資効果も求められるため、システム開発の開発期間も短くなっている。
アジャイル開発やリーン開発に代表される短期のソフトウェア開発では、新たなタスク(機能実装又はバグ改修等)が発生すると、開発者の1つ1つのタスクに対応したチケットが起票される(起票は、ソフトウェア開発の管理者(例:スクラムマスター)、又は開発者自身が実施)。
チケットが起票されると、当該チケットに対応するタスクを担う開発者がアサインされる。アサインされた開発者は、タスクの内容に基づき、ソースコードの更新(新規作成・変更・削除)を行う。
このようなソフトウェア開発のプロジェクトでは、一般的に、チケットの状態を管理する課題管理システム(ITS(Issue Tracking System))と、ソースコードの版管理をするバージョン管理システム(VMS(Version Management System))の2つが利用されている。
開発者は、ITSで起票されたチケット(に対応するタスク)の内容に基づき、ソースコードの更新(新規作成・変更・削除)を行い、VMSに更新途中のソースコードのコミットを行う。チケットに対応するタスクが完了(ソースコードの更新が完了)すると、プロジェクトで予め定められた確認作業(例:回帰試験の実施、管理者の挙動確認)が実施される。その上で、開発者は、更新が完了したソースコードをVMSにコミットする。併せて、ITSでも当該タスクに対応するチケットの状態を完了として記録される。
「大競争時代のソフト生産技術革命」、[online]、インターネット<・http://itpro.nikkeibp.co.jp/article/COLUMN/20130601/481262/?rt=nocnt>
しかしながら、実際のソフトウェア開発では、開発者の実装作業(ソースコードの更新と、VMSへのコミット)だけが先に進んでしまい、それらのタスクに対応するチケットが起票されていなかったり、起票されていたとしてもチケットが最新のソースコードの内容を反映していなかったりするケースが多くみられる。これにより、開発(例:イテレーション)終了後に、チケットやそれに関連する開発文書(例:要件定義書)の内容が、最新のソースコードの内容を反映せずに開発が終わってしまうこともある。
このように、チケット(および、それに関連する開発文書)の更新漏れが発生し、残存したままであると、その後何らかの問題がソフトウェアで発生して、開発時のバグ修正のソースコードへの反映状況等を確認しようとした際に、当該ソースコードに対する各更新が、バグ修正によるものであったの否かさえも確認することができなくなってしまう。また、次の開発(イテレーション)において新しいメンバが参画した際にも、ソフトウェアの実装機能の全容が把握できない、あるいは、なぜその機能を実装したのかという根拠情報(Rationale)も把握できない事態となる。
本発明は、上記の点に鑑みてなされたものであって、ソースコードが更新された理由が不明となるのを回避可能とすることを目的とする。
そこで上記課題を解決するため、データ処理プログラムは、ソフトウェアのソースコードの更新理由ごとに起票され、当該更新理由の識別情報と、当該更新理由の発生時期と、当該更新理由に応じた作業の完了時期とを含む第1のデータの集合と、前記ソースコードの更新ごとに記録され、当該更新の時期を含む第2のデータの集合であって、一部の前記第2のデータについては、更に、当該第2のデータに係る更新に対応する更新理由の識別情報がユーザによって入力されている集合と、を参照して、前記一部の第2のデータについて入力された前記識別情報を含む前記第1のデータに含まれる発生時期及び完了時期と、前記識別情報が入力されていない前記第2のデータに含まれる更新の時期との関係に基づいて、当該第2のデータに対して前記識別情報が入力されていない原因を複数のパターンのうちのいずれかに分類する分類部としてコンピュータを機能させる。
ソースコードが更新された理由が不明となるのを回避可能とすることができる。
本発明の実施の形態におけるデータ処理装置のハードウェア構成例を示す図である。 本発明の実施の形態におけるデータ処理装置の機能構成例を示す図である。 データ処理装置が実行する処理手順の一例を説明するためのフローチャートである。 チケットデータの一例を示す図である。 コミットログの一例を示す図である。 TCNCの一例を示す図である。 分類結果に応じた通知情報の出力例を示す図である。 分類結果に応じた修正候補のレコメンド情報の出力例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるデータ処理装置のハードウェア構成例を示す図である。図1のデータ処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
データ処理装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってデータ処理装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
図2は、本発明の実施の形態におけるデータ処理装置の機能構成例を示す図である。図2において、データ処理装置10は、VMS11、ITS12、TCNC生成部13、原因分類部14、及び修正候補出力部15等を有する。これらは、データ処理装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
VMS11は、ソフトウェア(主にプログラム)のソースコードの版管理を行うバージョン管理システム(Version Management System)である。一般的な(市販されている)バージョン管理システムがVMS11として利用されてもよい。
図2において、VMS11は、コミットログ生成部111及びコミットログ記憶部112等を含む。コミットログ生成部111は、新規に作成されたソースコード、又は既存のソースコード等のコミット指示がVMS11に入力されると、当該ソースコードに関するコミットログを生成し、当該コミットログをコミットログ記憶部112に記録する。コミットとは、ソースコードの版(バージョン)を一つ上げてVMS11に登録することをいう。すなわち、コミットは、ソースコードの更新ごとに実行される。したがって、コミットログは、ソースコードの更新ごとに記録される。
ITS12は、ソフトウェアの開発者のタスク(作業)を割り当てたチケットデータを管理する課題管理システム(Issue Tracking System)である。一般的な(市販されている)課題管理システムが、ITS12として利用されてもよい。チケットデータとは、ソフトウェアのソースコードの更新理由の発生に応じて(すなわち、当該更新理由に応じたタスク(機能実装又はバグ改修等のソースコードの更新作業)の発生に応じて)起票されるデータをいう。
図2において、ITS12は、チケット状態更新部121及びチケットデータ記憶部122等を含む。チケット状態更新部121は、チケットデータ記憶部122に記憶されるチケットデータの状態を更新する。具体的には、チケット状態更新部121は、ユーザによって入力されるチケットデータの起票指示に応じ、チケットデータを生成し、当該チケットデータをチケットデータ記憶部122に記録する。この際、チケットデータには、起票時刻(すなわち、更新理由及びタスクの発生時刻)が記録される。したがって、チケットデータは、ソースコードの更新理由ごと(更新理由に応じたタスクごと)に記録される。また、チケット状態更新部121は、更新理由に応じたタスクの完了通知がユーザによって入力されると、当該タスクに対応するチケットデータに対して完了時刻を記録する。
例えば、ソースコードの更新理由が発生すると、当該更新理由に応じたタスクを開始させるために、チケットデータが起票される。開発者は、チケットデータの内容に基づき、ソースコードの更新を行い、更新後のソースコードをVMS11にコミットする。その結果、当該更新に対応するコミットログがコミットログ記憶部112に記録される。
なお、コミットログ記憶部112及びチケットデータ記憶部122は、例えば、補助記憶装置102、又はデータ処理装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
TCNC生成部13、原因分類部14、及び修正候補出力部15の機能については、処理手順の説明において明らかにされる。
なお、VMS11及びITS12は、それぞれデータ処理装置10とは異なるコンピュータを用いて実現されてもよい。
図3は、データ処理装置が実行する処理手順の一例を説明するためのフローチャートである。図3の処理手順は、例えば、ユーザによって処理の実行指示が入力されると開始される。
ステップS101において、TCNC生成部13は、チケットデータ記憶部122からチケットデータの集合を取得する。
図4は、チケットデータの一例を示す図である。図4において、1つの行が1つのチケットデータに相当する。各チケットデータは、チケットID、起票時刻、及び完了時刻等を含む。チケットIDは、チケットデータごと(すなわち、更新理由又はタスクごと)の識別情報である。起票時刻は、チケットデータの起票時刻である。完了時刻は、チケットデータに対応するタスクの完了時刻である。なお、チケットID及び起票時刻は、起票時にチケットデータに記録される。完了時刻は、チケットデータに対応するタスクの完了時にチケットデータに記録される。
なお、一般的なチケットデータには、タスクの内容(例えば、実装されるべき機能の内容、又は修正されるべきバグの内容等)やその他の情報も含まれるが、本実施の形態では、便宜上、他の情報については省略する。
続いて、TCNC生成部13は、コミットログ記憶部112からコミットログの集合を取得する(S102)。
図5は、コミットログの一例を示す図である。図5において、1つの行が1つのコミットログに相当する。各コミットログは、ソースコード名及びコミット時刻等を含む。また、一部のコミットログは、更に、チケットIDを含む。
ソースコード名は、コミットされたソースコードの名前(例えば、ソースコードのファイル名)である。コミット時刻は、コミットが行われた時刻(すなわち、更新がVMS11に反映された時刻)である。チケットIDは、コミットログに係るソースコードの更新に対応するタスクのチケットデータのチケットIDである。
チケットIDは、例えば、ソースコードがVMS11にコミットされる際に、ユーザ(開発者等)によってダイアログボックス等を介して入力される。すなわち、コミットログ生成部111は、コミット時にチケットIDが入力された場合、当該チケットIDをも含むコミットログを生成する。但し、チケットIDが入力されない場合も有る。チケットデータの起票や、チケットIDの入力等は、ユーザの運用に任されているためである。したがって、チケットIDを含まないコミットログが生成されうる。
なお、一般的なコミットログには、他にも様々な情報が記録されるが、本実施の形態では便宜上省略される。
続いて、TCNC生成部13は、取得されたチケットデータ及びコミットログに基づいて、チケットデータの起票時刻及び完了時刻と、コミットログのコミット時刻との関係をソースコードごとに可視化するチャート(チケット−コミットネットワーク図(Ticket-Commit Network Chart))を生成する(S103)。以下、チケット−コミットネットワーク図を、「TCNC」という。
続いて、TCNC生成部13は、生成したTCNCを、表示装置106に表示する(S104)。
図6は、TCNCの一例を示す図である。図6に示されるように、TCNCは、ソースコードごと(Soruce1〜3)に、時系列に、チケットデータの起票時刻、完了時刻、及びコミットログのコミット時刻のそれぞれのタイミングを示す。なお、図6の例では、タイミングの粒度が1日単位であるが、可視化したい時間幅に応じて、1時間単位や半日単位でタイミングが示されてもよい。
コミットには、コミット時におけるチケットIDの入力の有無に対応して、チケットID有コミットとチケットID無コミット(図では赤マル)の2種類が存在する。図6において、チケットID有コミットは黒塗りの円で表現され、チケットID無コミットは白抜きの円で表現されている。
図6によれば、Source1について、チケットID有コミットが2つ(6/2と6/3)、チケットID無コミットが2つ(6/29、6/30)が存在することが分かる。これらは、コミットログの内容に基づいて抽出及び可視化される。
TCNCは、また、コミットログに含まれているチケットIDに基づき、当該チケットIDに対応するチケットデータの生存期間(起票時刻から完了時刻までの期間)をも示す。例えば、Source1については、チケットIDとして「TID−1」を含むコミットログが有る。そこで、TCNC生成部13は、「TID−1」のチケットIDを含むチケットデータの起票時刻(6/1)と完了時刻(6/4)を取得し、6/1から6/4までを生存期間として表示する。なお、図6において、生存期間の両端は、三角形によって示されている。
すなわち、TCNCでは、ソースコードごとに、当該ソースコードに関するコミットログに含まれている各チケットIDについて、当該チケットIDに係るチケットIDの生存期間を示すためにライン(実線の水平線)が描画され、当該ラインに、当該チケットデータの起票時刻及び完了時刻と、当該チケットIDを含むコミットログのコミット時刻とが配置される。
一方、チケットID無コミットのコミット時刻は、チケットID有コミットのコミット時刻並びにチケットデータの起票時刻及び完了時刻とは別のラインに配置される。チケットID無コミットは、いずれのチケットデータに対応するのかが不明であるからである。例えば、Source1では、TID−1に対応するコミット時刻が配置されるライン(実線)と、チケットID無コミットが配置されるライン(破線)とが分けられている。
続いて、原因分類部14は、各チケットID無コミットについて、チケットIDが入力されていない原因(又は理由)を、複数のパターンのうちのいずれかのパターンに分類する(S105)。
本実施の形態において、チケットIDが入力されていない原因のパターンは、以下の二つである。
パターン1:コミットに対応するチケットデータの更新(起票・修正)が漏れている。
パターン2:コミットに対応するチケットデータは存在しているが、単に開発者がコミット時にチケットIDを入力し忘れてしまった。
例えば、Source1やSource3では、チケットID有コミットに対応するチケット(TID−1やTID−3)の生存期間外で、チケットID無コミットが発生している。このようなチケットID無コミットについては、チケットの新規起票や、既存チケットの内容の更新が漏れている可能性が高い。そこで、原因分類部14は、コミット時刻が当該生存期間に含まれないチケットID無コミットを、パターン1に分類する。
一方、Source2では、チケットID有コミットに対応するチケット(TID−2)の生存期間内でチケットID無コミットが発生している。このようなチケットID無コミットについては、単に開発者がコミット時にTID−2の入力をし忘れている可能性が高い。そこで、原因分類部14は、コミット時刻が当該生存期間に含まれるチケットID無コミットを、パターン2に分類する。
続いて、原因分類部14は、各チケットID無コミットについて、分類結果に応じた通知情報を、表示装置106に表示されているTCNCに出力する(S106)。
図7は、分類結果に応じた通知情報の出力例を示す図である。図7に示されるように、パターン1に分類された、Source1又はSource3のチケットID無コミットについては、通知情報n1及びn3のように、チケットの更新漏れの可能性が有ることを示すメッセージが表示される。
一方、パターン2に分類された、Source2のチケットID無コミットについては、通知情報n2のように、コミット時にチケットIDの付与漏れの可能性が有ることを示すメッセージが表示される。
ユーザは、通知情報を参照して、チケットID無コミットに対応するコミットログにチケットIDを入力したり、チケットID無コミットに対応するチケットデータの起票若しくは修正を行ったりすることができる。
続いて、修正候補出力部15は、各チケットID無コミットについて、分類結果に応じた修正候補のレコメンド情報を、表示装置106に表示されているTCNCに出力する(S107)。
図8は、分類結果に応じた修正候補のレコメンド情報の出力例を示す図である。図8に示されるように、パターン1に分類されたチケットID無コミットに対しては、レコメンド情報r1又はレコメンド情報r3のように、当該チケットID無コミットに係るソースコードに対するチケットデータが修正候補として提示される。
例えば、Soruce1であれば、チケットID無コミットの前に起票及び完了しているTID−1のチケットデータが修正候補として提示される。また、当該チケットデータとは別のチケットデータが起票されなければならない可能性もあるため、その旨も提示される。同様に、Source3であれば、チケットID無コミットの後に起票されたTID−3のチケットデータが修正候補として提示される。なお、チケットデータの修正とは、例えば、起票時刻又は完了時刻の修正である。
一方、パターン2に分類されたチケットID無コミットに対しては、レコメンド情報r2のように、同一期間でコミットされたチケットID有コミットに対応するチケットIDが修正候補として提示される。例えば、Soruce2について、チケットID無コミットに対応するコミットログに対して、「TID−2」が入力候補として提示される。
なお、ステップS106及びS107のいずれか一方のみが実行されてもよい。また、図7に示されるTCNCにおいて、ユーザによって選択されたチケットID無コミットについて、ステップS107が実行されてもよい。
上述したように、本実施の形態によれば、チケットID無コミットに係るコミットログの存在をユーザに通知することができ、コミットログの修正又はチケットデータの起票・修正をユーザに促すことができる。したがって、チケットID無コミットの解消を促進することができ、ソースコードが更新された理由が不明となるのを回避可能とすることができる。
すなわち、本実施の形態によれば、開発終了後に、ソフトウェアの開発過程におけるチケットデータの起票が充実化されることにより、開発時のバグ修正のソースコードへの反映状況等を確認しようとした際に、当該ソースコードに対する各更新が、バグ修正によるものであったか否かが確認出来なくなるような状況を回避することができる。また、次の開発者(又は更新の要求者)が実装機能の全容が把握できなくなることや、実装機能の根拠が把握できないようなことを回避できる。その結果、ソフトウェア開発における保守作業の品質を向上させることができる。
なお、本実施の形態において、チケットデータは、第1のデータの一例である。コミットログは、第2のデータの一例である。チケットデータの起票時刻、完了時刻は、それぞれ、更新理由の発生時期、当該更新理由に応じた作業の完了時期の一例である。コミットログのコミット時刻は、更新の時期の一例である。原因分類部14は、分類部の一例である。修正候補出力部15は、出力部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 データ処理装置
11 VMS
12 ITS
13 TCNC生成部
14 原因分類部
15 修正候補出力部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
111 コミットログ生成部
112 コミットログ記憶部
121 チケット状態更新部
122 チケットデータ記憶部
B バス

Claims (5)

  1. ソフトウェアのソースコードの更新理由ごとに起票され、当該更新理由の識別情報と、当該更新理由の発生時期と、当該更新理由に応じた作業の完了時期とを含む第1のデータの集合と、前記ソースコードの更新ごとに記録され、当該更新の時期を含む第2のデータの集合であって、一部の前記第2のデータについては、更に、当該第2のデータに係る更新に対応する更新理由の識別情報がユーザによって入力されている集合と、を参照して、
    前記一部の第2のデータについて入力された前記識別情報を含む前記第1のデータに含まれる発生時期及び完了時期と、前記識別情報が入力されていない前記第2のデータに含まれる更新の時期との関係に基づいて、当該第2のデータに対して前記識別情報が入力されていない原因を複数のパターンのうちのいずれかに分類する分類部としてコンピュータを機能させることを特徴とするデータ処理プログラム。
  2. 前記分類部は、更新の時期が、前記一部の第2のデータについて入力された前記識別情報を含む前記第1のデータに含まれる発生時期及び完了時期の間に含まれる前記第2のデータと、更新の時期が、当該発生時期及び当該完了時期の間に含まれない前記第2のデータとに関する前記原因を、異なるパターンに分類する、
    ことを特徴とする請求項1記載のデータ処理プログラム。
  3. 前記分類部は、更新の時期が、前記一部の第2のデータについて入力された前記識別情報を含む前記第1のデータに含まれる発生時期及び完了時期の間に含まれる前記第2のデータについては、当該更新に対応する更新理由に係る前記第1のデータが有るにも関わらず、前記識別情報の入力がされていないことが原因とするパターンに分類する、
    ことを特徴とする請求項1又は2記載のデータ処理プログラム。
  4. 前記一部の第2のデータについて入力された前記識別情報を、前記識別情報が入力されていない前記第2のデータに対する入力候補として出力する出力部、
    としてコンピュータを機能させることを特徴とする請求項1乃至3いずれか一項記載のデータ処理プログラム。
  5. ソフトウェアのソースコードの更新理由ごとに起票され、当該更新理由の識別情報と、当該更新理由の発生時期と、当該更新理由に応じた作業の完了時期とを含む第1のデータの集合と、前記ソースコードの更新ごとに記録され、当該更新の時期を含む第2のデータの集合であって、一部の前記第2のデータについては、更に、当該第2のデータに係る更新に対応する更新理由の識別情報がユーザによって入力されている集合と、を参照して、
    前記一部の第2のデータについて入力された前記識別情報を含む前記第1のデータに含まれる発生時期及び完了時期と、前記識別情報が入力されていない前記第2のデータに含まれる更新の時期との関係に基づいて、当該第2のデータに対して前記識別情報が入力されていない原因を複数のパターンのうちのいずれかに分類する分類手順をコンピュータが実行することを特徴とするデータ処理方法。
JP2016168393A 2016-08-30 2016-08-30 データ処理プログラム及びデータ処理方法 Active JP6546569B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016168393A JP6546569B2 (ja) 2016-08-30 2016-08-30 データ処理プログラム及びデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016168393A JP6546569B2 (ja) 2016-08-30 2016-08-30 データ処理プログラム及びデータ処理方法

Publications (2)

Publication Number Publication Date
JP2018036792A JP2018036792A (ja) 2018-03-08
JP6546569B2 true JP6546569B2 (ja) 2019-07-17

Family

ID=61565960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016168393A Active JP6546569B2 (ja) 2016-08-30 2016-08-30 データ処理プログラム及びデータ処理方法

Country Status (1)

Country Link
JP (1) JP6546569B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7246301B2 (ja) * 2019-12-26 2023-03-27 株式会社日立製作所 プログラム開発支援システム及びプログラム開発支援方法

Also Published As

Publication number Publication date
JP2018036792A (ja) 2018-03-08

Similar Documents

Publication Publication Date Title
US10019256B2 (en) Systems and methods for incremental software development
US9632771B2 (en) Association of metadata with source code and applications and services premised thereon
US9015664B2 (en) Automated tagging and tracking of defect codes based on customer problem management record
US20120159434A1 (en) Code clone notification and architectural change visualization
US9767002B2 (en) Verification of product release requirements
US10175975B2 (en) Self-mending software builder
US11237824B2 (en) Tracking related changes with code annotations
US20230088784A1 (en) Proactively detecting and predicting potential breakage or support issues for impending code changes
US11055078B2 (en) Systems and methods for deploying software products to environments
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
US11698829B2 (en) Identifying root causes of software defects
Pianini et al. Breaking down monoliths with Microservices and DevOps: an industrial experience report
CN110865806A (zh) 代码处理方法、装置、服务器及存储介质
JP6336919B2 (ja) ソースコードレビュー方法及びそのシステム
JP6546569B2 (ja) データ処理プログラム及びデータ処理方法
Ramkisoen et al. Pareco: patched clones and missed patches among the divergent variants of a software family
US10599424B2 (en) Committed program-code management
US20230208744A1 (en) Consensus driven service promotion
US20220244975A1 (en) Method and system for generating natural language content from recordings of actions performed to execute workflows in an application
Syed et al. Achieving software release management and continuous integration using maven, jenkins and artifactory
US10684881B2 (en) Batch processing of computing elements to conditionally delete virtual machine(s)
Phan et al. Hyperagent: Generalist software engineering agents to solve coding tasks at scale
US20240319989A1 (en) Patch sharing mechanism in open-source environments
JP2017091027A (ja) システム開発支援システム
Heirendt et al. ARTENOLIS: Automated Reproducibility and Testing Environment for Licensed Software

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190530

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: 20190618

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190621

R150 Certificate of patent or registration of utility model

Ref document number: 6546569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150