JP2008140162A - デバッグ情報収集方法 - Google Patents
デバッグ情報収集方法 Download PDFInfo
- Publication number
- JP2008140162A JP2008140162A JP2006325922A JP2006325922A JP2008140162A JP 2008140162 A JP2008140162 A JP 2008140162A JP 2006325922 A JP2006325922 A JP 2006325922A JP 2006325922 A JP2006325922 A JP 2006325922A JP 2008140162 A JP2008140162 A JP 2008140162A
- Authority
- JP
- Japan
- Prior art keywords
- probe
- software
- information
- probes
- binary
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
【解決手段】ソフトウェア配布装置102において、バイナリ解析部122はソフトウェアにプローブを挿入可能な挿入位置の全体集合を求める。バイナリ変更部125は、ソフトウェアに挿入するプローブの挿入位置の母集団と、デバイス104ごとに挿入するプローブの挿入数を決定し、母集団から上記挿入数だけプローブの挿入位置を選択してソフトウェアに挿入する。その際、プローブ情報123、実行装置情報124、デバッグ情報132を参照する。ソフトウェア配布部129はプローブの挿入されたソフトウェアをデバイス104に配布する。
【選択図】図1
Description
図1は、本発明に係るソフトウェア配布システムの全体構成を示す図である。本システムは、ソフトウェア開発装置101、ソフトウェア配布装置102、デバッグ情報収集装置103、および複数の実行装置(デバイス)104、105、106などから構成される。まず、各装置の関連について説明する。
ステップS501:ソフトウェア開発装置101にて作成したバイナリを配布するために、ソフトウェア配布装置102にバイナリをコピーする。
ステップS502:バイナリ解析部122は配布対象のバイナリ121を解析し、挿入可能なプローブをリストアップする。例えばメソッドの呼び出し箇所を抽出し、これをメソッドの「返り値」を観測するプローブの挿入箇所とする。抽出したプローブ挿入箇所を、プローブ情報123に追加する。このようにして、配布対象となるバイナリ全体についてプローブ情報123を作成する。
ステップS503:ソフトウェアの配布対象となる実行装置(デバイス)を1つ選択する。この場合、ソフトウェア配布装置102が、実行装置情報124を基に自主的に配布先の実行装置を選択するか、あるいは実行装置104からソフトウェアの配布要求を受けて、これに応じて配布する形態でもよい。
ステップS505:選択したプローブをバイナリ121に挿入し、プローブ挿入済バイナリ128を生成する。
ステップS506:ソフトウェア配布部129は、プローブ挿入済バイナリ128を配布対象の実行装置104へ送信する。
ステップS508:ソフトウェア実行の結果としてプローブ収集情報142を取得し、デバッグ情報収集装置103へ送信する。
ステップS509:デバッグ情報収集装置103は、取得したプローブ収集情報142をデバッグ情報132として格納する。
ステップS510:障害原因箇所推定部131は、実行時に発生した障害に関係するプローブを推定して、プローブのリストを作成する。
ステップS511:ソフトウェア開発者はプローブリストを基にソフトウェア障害の原因を解析する。
ステップS601:バイナリ変更部125は、実行装置情報124を参照し、配布対象の実行装置に関する情報を取得する。取得する情報は、図3に示した装置種別、CPU種別、CPU周波数、配布ソフトウェアサイズ制限、プローブ数上限などである。
(1)配布可能なソフトウェアサイズ制限に基づき決定する方法。挿入するプローブの個数を増やすと、バイナリサイズは増加する。そこで、バイナリサイズが制限値を超えないような最大のプローブ数(プローブ数の上限値306)を、挿入個数とする方法である。例えば、プローブの挿入個数がバイナリサイズの増加に比例関係を定める場合、挿入前のバイナリサイズをXo、全プローブN個を挿入したバイナリのサイズをXp、配布可能なバイナリサイズの上限をMとしたとき、以下の式を満たすような最大のnをプローブ数とする。
n(Xp−Xo)/N+Xo<M
これにより、各実行装置の記憶領域を最大限に活用したデバッグ情報の収集が可能となる。
ステップS604:挿入するプローブを選択するときに、選択対象となるプローブの母集団を決定する。この母集団は、プローブ情報123から取得したプローブ全体集合の部分集合である。すなわち選択するプローブは全体集合からではなく、母集団から決定する。
(4)各プローブの挿入回数に応じて決定する方法。プローブ情報123から得られる挿入回数の最大値を持つプローブを除外し、それ以外のプローブを母集団とする。言い換えれば、挿入回数の少ないプローブで母集団を構成する。例えば、図2の場合にはID=2は挿入回数が最大(4回)なので母集団から除外する。この操作によって挿入回数の少ないプローブが選択され、各プローブの挿入回数の偏りをなくし一様化することができる。プローブの挿入回数に偏りがあると、特定のプローブについて収集される情報が少なくなるため、障害原因箇所の推定に必要な情報を得るための待ち時間が長くなる。挿入回数の偏りをなくすことで、より短時間で障害原因箇所を推定することができる。
ステップS606:選択したプローブの数が、ステップS602にて決定した挿入プローブ数に達していれば、プローブの選択を完了する。達していない場合は、ステップS603に戻って再度プローブを選択する。
Claims (5)
- デバッグ情報を収集するためにソフトウェアにプローブを挿入して複数のデバイスに配布し、該デバイスにおいて該ソフトウェアを実行することにより得られるデバッグ情報を収集するデバッグ情報収集方法において、
上記ソフトウェアにプローブを挿入可能な挿入位置の全体集合を求め、
該全体集合から部分集合を取り出して上記ソフトウェアに挿入するプローブの挿入位置の母集団を決定し、
上記デバイスごとに挿入するプローブの挿入数を決定し、
上記母集団から上記挿入数だけプローブの挿入位置を選択して上記ソフトウェアに挿入し、
プローブの挿入されたソフトウェアを上記デバイスに配布することを特徴とするデバッグ情報収集方法。 - 請求項1に記載のデバッグ情報収集方法であって、
前記デバイスに挿入するプローブの挿入数は、該デバイスの記憶容量またはCPU性能に基づき、デバイスごとに挿入数を決定し、
前記母集団から上記挿入数だけプローブの挿入位置を乱数を用いて選択して前記ソフトウェアに挿入することを特徴とするデバッグ情報収集方法。 - 請求項1に記載のデバッグ情報収集方法であって、
前記プローブの挿入位置の母集団は、過去に配布したソフトウェアに挿入したプローブの挿入回数を参照し、該挿入回数の少ない挿入位置の部分集合から決定することを特徴とするデバッグ情報収集方法。 - 請求項1に記載のデバッグ情報収集方法であって、
前記プローブの挿入位置の母集団は、過去に配布したソフトウェアに挿入したプローブから収集したデバッグ情報を参照し、該デバッグ情報から各プローブの実行回数を求め、該実行回数の少ないプローブ挿入位置の部分集合から決定することを特徴とするデバッグ情報収集方法。 - 請求項4に記載のデバッグ情報収集方法であって、
前記プローブの挿入位置の母集団は、前記デバッグ情報から各プローブの実行回数を求め、その中で障害発生時に実行された実行回数の少ないプローブ挿入位置の部分集合から決定することを特徴とするデバッグ情報収集方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006325922A JP2008140162A (ja) | 2006-12-01 | 2006-12-01 | デバッグ情報収集方法 |
US11/947,221 US20080141224A1 (en) | 2006-12-01 | 2007-11-29 | Debug information collection method and debug information collection system |
KR1020070122825A KR100990777B1 (ko) | 2006-12-01 | 2007-11-29 | 디버그 정보 수집 방법 및 디버그 정보 수집 시스템 |
CNB2007103066833A CN100533398C (zh) | 2006-12-01 | 2007-11-30 | 调试信息采集方法及调试信息采集系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006325922A JP2008140162A (ja) | 2006-12-01 | 2006-12-01 | デバッグ情報収集方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008140162A true JP2008140162A (ja) | 2008-06-19 |
Family
ID=39499836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006325922A Pending JP2008140162A (ja) | 2006-12-01 | 2006-12-01 | デバッグ情報収集方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080141224A1 (ja) |
JP (1) | JP2008140162A (ja) |
KR (1) | KR100990777B1 (ja) |
CN (1) | CN100533398C (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011070533A (ja) * | 2009-09-28 | 2011-04-07 | Bank Of Tokyo-Mitsubishi Ufj Ltd | コード編集用プログラム及びコード編集装置 |
WO2012070137A1 (ja) * | 2010-11-25 | 2012-05-31 | トヨタ自動車株式会社 | プロセッサ、電子制御装置、作成プログラム |
WO2014156825A1 (ja) * | 2013-03-26 | 2014-10-02 | 日本電気株式会社 | ログ出力制御装置、方法及びプログラム |
US9367380B2 (en) | 2013-03-22 | 2016-06-14 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Dynamically altering error logging activities in a computing system |
JP2016143146A (ja) * | 2015-01-30 | 2016-08-08 | 日本電信電話株式会社 | オートリソースロギングシステム、オートリソースロギング方法及びプログラム |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8301605B2 (en) * | 2007-12-17 | 2012-10-30 | International Business Machines Corporation | Managing maintenance tasks for computer programs |
US8291399B2 (en) * | 2008-03-26 | 2012-10-16 | Avaya Inc. | Off-line program analysis and run-time instrumentation |
US9575871B2 (en) * | 2012-09-04 | 2017-02-21 | Salesforce.Com, Inc. | System and method for dynamically debugging data in a multi-tenant database environment |
US9268598B2 (en) * | 2012-09-13 | 2016-02-23 | International Business Machines Corporation | Recording and profiling transaction failure source addresses and states of validity indicator corresponding to addresses of aborted transaction in hardware transactional memories |
CN105281967B (zh) * | 2014-06-20 | 2019-06-28 | 北京神州泰岳软件股份有限公司 | 一种数据采集方法和系统 |
CN105681410B (zh) * | 2016-01-07 | 2019-07-19 | 深圳市金证科技股份有限公司 | 一种跟踪记录调试信息的方法和装置 |
WO2018029668A1 (en) | 2016-08-09 | 2018-02-15 | Sealights Technologies Ltd. | System and method for continuous testing and delivery of software |
IL264050B (en) | 2018-01-01 | 2021-12-01 | Rookout Ltd | System and method for controlled extraction of information in computer networks |
US11086759B2 (en) | 2018-09-27 | 2021-08-10 | SeaLights Technologies LTD | System and method for probe injection for code coverage |
US11573885B1 (en) | 2019-09-26 | 2023-02-07 | SeaLights Technologies LTD | System and method for test selection according to test impact analytics |
CN111586475B (zh) * | 2020-05-27 | 2022-05-06 | 飞思达技术(北京)有限公司 | 一种iptv和ott直播音视频质量和感知评价系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826005A (en) * | 1996-03-22 | 1998-10-20 | Sun Microsystems, Inc. | System and method for diagnosing computer program faults through the provision of program probe points and referenceable diagnostic program probes |
JPH10214203A (ja) * | 1997-01-29 | 1998-08-11 | Nec Corp | 情報処理装置 |
US6826717B1 (en) * | 2000-06-12 | 2004-11-30 | Altera Corporation | Synchronization of hardware and software debuggers |
US20040111707A1 (en) * | 2000-12-15 | 2004-06-10 | Bliss Andrew L. | Debugger for multiple processors and multiple debugging types |
CA2345416C (en) * | 2001-04-27 | 2005-05-03 | Ibm Canada Limited-Ibm Canada Limitee | High performance debugging in a message flow environment |
US7475303B1 (en) * | 2003-12-29 | 2009-01-06 | Mips Technologies, Inc. | HyperJTAG system including debug probe, on-chip instrumentation, and protocol |
US7590521B2 (en) * | 2004-04-07 | 2009-09-15 | Microsoft Corporation | Method and system for probe optimization while instrumenting a program |
US7950001B2 (en) * | 2006-09-08 | 2011-05-24 | International Business Machines Corporation | Method and apparatus for instrumentation in a multiprocessing environment |
-
2006
- 2006-12-01 JP JP2006325922A patent/JP2008140162A/ja active Pending
-
2007
- 2007-11-29 US US11/947,221 patent/US20080141224A1/en not_active Abandoned
- 2007-11-29 KR KR1020070122825A patent/KR100990777B1/ko not_active IP Right Cessation
- 2007-11-30 CN CNB2007103066833A patent/CN100533398C/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011070533A (ja) * | 2009-09-28 | 2011-04-07 | Bank Of Tokyo-Mitsubishi Ufj Ltd | コード編集用プログラム及びコード編集装置 |
US8473903B2 (en) | 2009-09-28 | 2013-06-25 | The Bank Of Tokyo-Mitsubishi Ufj, Ltd. | Code edit apparatus and recording medium |
WO2012070137A1 (ja) * | 2010-11-25 | 2012-05-31 | トヨタ自動車株式会社 | プロセッサ、電子制御装置、作成プログラム |
JP5532144B2 (ja) * | 2010-11-25 | 2014-06-25 | トヨタ自動車株式会社 | プロセッサ、電子制御装置、作成プログラム |
US9367380B2 (en) | 2013-03-22 | 2016-06-14 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Dynamically altering error logging activities in a computing system |
WO2014156825A1 (ja) * | 2013-03-26 | 2014-10-02 | 日本電気株式会社 | ログ出力制御装置、方法及びプログラム |
JP6015849B2 (ja) * | 2013-03-26 | 2016-10-26 | 日本電気株式会社 | ログ出力制御装置、方法及びプログラム |
JP2016143146A (ja) * | 2015-01-30 | 2016-08-08 | 日本電信電話株式会社 | オートリソースロギングシステム、オートリソースロギング方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20080050331A (ko) | 2008-06-05 |
CN100533398C (zh) | 2009-08-26 |
US20080141224A1 (en) | 2008-06-12 |
KR100990777B1 (ko) | 2010-10-29 |
CN101201782A (zh) | 2008-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008140162A (ja) | デバッグ情報収集方法 | |
CN108521353B (zh) | 定位性能瓶颈的处理方法、设备及可读存储介质 | |
US10175969B2 (en) | Data processing for upgrading medical equipment | |
CN106874187B (zh) | 代码覆盖率收集方法和装置 | |
EP2572294B1 (en) | System and method for sql performance assurance services | |
US7864679B2 (en) | System utilization rate managing apparatus and system utilization rate managing method to be employed for it, and its program | |
CN112241360B (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN111158741B (zh) | 监控业务模块对第三方类库依赖关系变化的方法及装置 | |
US8174990B2 (en) | Mechanism and system for programmable measurement of aggregate metrics from a dynamic set of nodes | |
CN113448854A (zh) | 一种回归测试方法和装置 | |
US20090100413A1 (en) | Stack Walking Enhancements Using Sensorpoints | |
CN110262959A (zh) | 底层服务压力测试方法、装置、电子设备及存储介质 | |
WO2020168751A1 (zh) | 基于HashMap的数据获取方法、装置、计算机设备和存储介质 | |
US7406686B2 (en) | Systems and methods for software performance tuning | |
JP2008217721A (ja) | プログラムプロファイリング装置、プログラムプロファイリング方法、及びプログラム | |
US20070094266A1 (en) | Collecting information on component implementation and use | |
CN110971478B (zh) | 云平台服务性能的压测方法、装置及计算设备 | |
Ruprecht et al. | Automatic feature selection in large-scale system-software product lines | |
JP2009237654A (ja) | テストプログラム管理システム | |
KR102016472B1 (ko) | 코드 커버리지 측정 방법 및 장치, 그리고 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
CN110674024A (zh) | 电子设备集成测试系统及其方法 | |
US10977146B2 (en) | Application operation monitoring apparatus and application operation monitoring method | |
US20050021655A1 (en) | System for efficiently acquiring and sharing runtime statistics | |
US11449378B2 (en) | Information processing apparatus and log control method | |
CN110908918A (zh) | 针对多个相互依赖的node.js模块的单元测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090709 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110906 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111031 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111122 |