JP2012234448A - Software performance sequentially-predicting method and predicting system - Google Patents

Software performance sequentially-predicting method and predicting system Download PDF

Info

Publication number
JP2012234448A
JP2012234448A JP2011103904A JP2011103904A JP2012234448A JP 2012234448 A JP2012234448 A JP 2012234448A JP 2011103904 A JP2011103904 A JP 2011103904A JP 2011103904 A JP2011103904 A JP 2011103904A JP 2012234448 A JP2012234448 A JP 2012234448A
Authority
JP
Japan
Prior art keywords
performance
function
software
source code
change
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
JP2011103904A
Other languages
Japanese (ja)
Inventor
Hiroto Kaga
洋渡 加賀
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011103904A priority Critical patent/JP2012234448A/en
Publication of JP2012234448A publication Critical patent/JP2012234448A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a software performance sequentially-predicting method and a predicting system method that achieve performance improvement and quality improvement by avoiding performance measurement through embedded software execution on an actual embedded system and by making the determination through predictive estimate of performance in large-scale software development conducted by multiple people.SOLUTION: With respect to software that is executed before registration of source code change, a software performance sequentially-predicting system, at the time of software development, executes steps of: calculating a performance reduction ratio of an input source code; and providing notification of a determination result externally when the performance reduction ratio is equal to or greater than a predetermined value.

Description

本発明は、ソフトウェアの性能逐次予測方法及びシステムに係り、特に、そのソフトウェアの開発時におけるソースコードの登録方法、並びに性能管理方法に関する。   The present invention relates to a software performance sequential prediction method and system, and more particularly, to a source code registration method and a performance management method during software development.

組込みシステムの高機能化と多機能化に伴い、組込みシステムの主たる構成要素である組込みプロセッサ上で動作する組込みソフトウェアの記述量は肥大化している。この高機能化と多機能化により、組込みソフトウェアの機能や品質の確保が重大な課題となっている。更に、高機能化や多機能化に加え、組込みシステムにはリアルタイム応答性などの性能に関する要求も含まれる。   With the increasing functionality and functionality of embedded systems, the amount of description of embedded software running on embedded processors, which are the main components of embedded systems, is growing. Ensuring the functionality and quality of embedded software has become a critical issue due to this high functionality and multi-functionality. Furthermore, in addition to high functionality and multi-functionality, embedded systems also include performance requirements such as real-time responsiveness.

現状の組込みソフトウェア開発の現場では、高機能化と多機能化に伴い、機能品質を確保するため、複雑な機能実装を優先して行う傾向にあり、リアルタイム性などの性能対策は機能実装後に実施されることがある。そのため、性能対策のための十分な時間の確保が出来ずに、性能未達という問題が発生することがある。   In the current embedded software development field, along with high functionality and multi-functionality, in order to ensure functional quality, there is a tendency to prioritize complex functional implementation, and performance measures such as real-time performance are implemented after functional implementation May be. Therefore, a sufficient time for performance measures cannot be ensured, and a problem that performance is not achieved may occur.

性能対策は、実際の組込みシステム上で組込みソフトウェアを動作させ、その性能プロファイル結果を元に性能ボトルネックとなっている箇所を特定し、組込みソフトウェアに対して性能対策を実装し、再び組込みシステム上にて対策した組込みソフトウェアを実行して性能測定するという、繰り返しのプロセスによって実現される。本方法には2つの課題が存在する。   For performance measures, run the embedded software on the actual embedded system, identify the location that is the performance bottleneck based on the performance profile results, implement the performance measures for the embedded software, and then again on the embedded system. This is realized by an iterative process of executing the embedded software that measures the above and measuring the performance. There are two problems with this method.

1つ目は、性能測定のために、実際に組込みソフトウェアを実行する組込みシステムが必要であり、開発コストが高額になる。2つ目の課題は、組込みソフトウェアの性能測定を伴う実行を繰り返し行う必要があるため、その実行時間により、開発期間が長期化することである。   First, an embedded system that actually executes embedded software is required for performance measurement, which increases the development cost. The second problem is that since it is necessary to repeatedly execute execution with performance measurement of embedded software, the development period is prolonged due to the execution time.

これらの課題に対し、組込みソフトウェアを実際の組込みシステム上で実行するのではなく、ソフトウェアの処理時間、あるいは処理に必要な記憶容量等の性能をソースコードの状態で評価する方法が提案されている。   In response to these issues, a method has been proposed in which embedded software is not executed on an actual embedded system, but the performance of the software, such as the processing time or the storage capacity required for processing, is evaluated in the state of the source code. .

特許文献1には、ソフトウェアコンポーネント単位での性能予測を行う「ソフトウェアコンポーネントの性能測定を基にしたシステム性能予測方式および方法」が開示されている。ソフトウェアコンポーネントとは、通信コンポーネント、適用コンポーネント、データベース・コンポーネントなどで構成され、コンポーネント毎にCPU使用時間などの性能情報を定義したデータベースを有する。本方式では、複数のコンポーネントが連続的に実行された場合の総処理時間を、データベースに格納された性能情報を元に予測するものである。特許文献1によれば、実際の組込みシステム上で修正した組込みソフトウェアを実行することなく、修正ソフトウェアの性能を予測することが可能となる、と記載されている。更に、修正したソフトウェアにて、再度、性能を測定し、修正ソフトウェアとその性能情報のペアをデータベースにて保持することにより、常に、最新のソフトウェアの性能を管理することが出来ると共に、新たに修正したソフトウェアに対する性能に関し、高い予測精度を維持することが可能となる、と記載されている。   Patent Document 1 discloses a “system performance prediction method and method based on performance measurement of software components” that performs performance prediction in units of software components. The software component includes a communication component, an application component, a database component, and the like, and has a database in which performance information such as CPU usage time is defined for each component. In this method, the total processing time when a plurality of components are continuously executed is predicted based on the performance information stored in the database. According to Patent Document 1, it is described that the performance of the modified software can be predicted without executing the modified embedded software on the actual embedded system. Furthermore, by measuring the performance again with the modified software and maintaining the pair of the modified software and its performance information in the database, the latest software performance can always be managed, and a new modification is made. It is described that it is possible to maintain high prediction accuracy with respect to the performance of the software.

特開2004−220453号公報JP 2004-220453 A

先に述べたように、組込みシステムの高機能化と多機能化に伴い、組込みソフトウェアのコード規模は増大している。コード規模の増大に従い、1つの組込みシステムを実現するために必要な組込みソフトウェアの開発者数が増加し、組込みシステム内の1つの一連機能(換言するとモジュール)についても、複数の開発者で開発する開発スタイルが主流となっている。特に、開発規模が大きい場合、オフショア開発など、複数のソフトウェア開発者が空間的にも時間的にも分散して、1つの一連機能を開発することもある。   As described above, the code size of embedded software is increasing with the increase in functionality and functionality of embedded systems. As the code scale increases, the number of embedded software developers required to realize one embedded system increases, and one series of functions (in other words, modules) in an embedded system is developed by multiple developers. Development style has become mainstream. In particular, when the development scale is large, a plurality of software developers, such as offshore development, may develop a series of functions by being dispersed both spatially and temporally.

特許文献1で示した性能予測手法は、1つのソフトウェア修正に対し、性能予測を実施し、性能低下が発生しない場合、その修正したソフトウェアをデータベースに登録すると共に、再度、修正したソフトウェアを元に性能を測定し、その性能情報をデータベースに登録する方式である。本手法にて、複数人が1つの一連機能を修正する場合、個別のソフトウェア修正単位で性能測定が必要となり、結果的に、先に示した課題である、実際の組込みシステムによる、修正した組込みソフトウェアの実行を通した性能測定を繰り返し実行しなければならない。   The performance prediction method shown in Patent Document 1 performs performance prediction for one software modification, and when performance degradation does not occur, the modified software is registered in the database, and again based on the modified software. This is a method for measuring performance and registering the performance information in a database. In this method, when multiple people modify a series of functions, it is necessary to measure the performance in units of individual software modifications. As a result, the modified embedding by the actual embedding system, which is the above-mentioned problem, is required. The performance measurement through the execution of the software must be performed repeatedly.

このように、複数人で開発する大規模なソフトウェア開発において、実際の組込みシステム上での組込みソフトウェア実行による性能測定が必要であり、それに伴う、設計プロセスの後工程での手戻りの発生、ひいては開発に要する時間の増加や開発コストの増大、という事態が避けられない。   In this way, in large-scale software development with multiple people, it is necessary to measure the performance by executing embedded software on an actual embedded system, and as a result, the occurrence of rework at the later stage of the design process, and consequently Increasing development time and development costs are inevitable.

本発明が解決しようとする課題は、この実際の組込みシステム上での組込みソフトウェア実行による性能測定を回避し、性能の予測見積りにより判定することで、性能向上と品質向上を可能にしたソフトウェア性能逐次予測方法及び予測システム方法を提供することにある。   The problem to be solved by the present invention is to avoid the performance measurement by executing the embedded software on the actual embedded system, and to determine the performance based on the estimated estimation of the performance, thereby enabling the performance improvement and the quality improvement. The object is to provide a prediction method and a prediction system method.

本願において開示される発明の代表的なものを示すと、次の通りである。本発明のソフトウェア性能逐次予測方法は、ソフトウェア性能予測システムにより、ソースコードの変更に伴うソフトウェアの性能を予測するソフトウェア性能逐次予測方法であって、前記ソフトウェア性能予測システムは、前記ソフトウェアを登録するデータベースを備えており、かつ、複数の端末に接続可能に構成されており、前記複数の端末の少なくとも1つから前記ソフトウェアの開発に伴う初期ソースコードもしくは変更ソースコードの入力を受け付け、ソースコード情報として、前記データベースに登録し、前記変更ソースコードによる前記ソフトウェアの性能を登録済の前記ソースコード情報に含まれる旧ソースコードによる前記ソフトウェアの性能と比較して、新旧ソースコードの性能の低減比率を算出し、該性能の低減比率が所定の値を超えるか否かを判定し、前記性能低減比率が前記所定の値を超える場合、外部に前記判定結果を通知することを特徴とする。   Representative examples of the invention disclosed in the present application are as follows. The software performance sequential prediction method of the present invention is a software performance sequential prediction method for predicting the performance of software accompanying a change in source code by a software performance prediction system, wherein the software performance prediction system is a database in which the software is registered. And is configured to be connectable to a plurality of terminals, accepting input of initial source code or changed source code accompanying development of the software from at least one of the plurality of terminals, as source code information The ratio of the performance of the old and new source code is calculated by comparing the performance of the software by the modified source code with the performance of the software by the old source code included in the registered source code information. And the reduction ratio of the performance There determines whether more than a predetermined value, when the performance reduction ratio exceeds the predetermined value, and notifies the determination result to the outside.

本発明によれば、組込みソフトウェア実行による性能測定を回避し、生成された変更情報の採用の可否を性能の予測見積りにより判定する。これにより、複数人の共同作業になるソフトウェア開発においても、各ソフトウェア修正単位で、その性能の変化を管理し、複数の修正箇所のうち性能劣化箇所の抽出を容易に実現する。そのため、組込みソフトウェアの性能劣化を抑止すると共に、開発コストを削減できる。   According to the present invention, performance measurement due to execution of embedded software is avoided, and whether or not the generated change information can be adopted is determined by predicting performance. As a result, even in software development that is a joint work of a plurality of people, a change in performance is managed in each software correction unit, and a performance deterioration portion among a plurality of correction portions can be easily realized. Therefore, it is possible to suppress the performance degradation of the embedded software and reduce the development cost.

本発明の第一の実施例としての、ソフトウェア性能予測システムの全体の構成を説明するための図である。It is a figure for demonstrating the structure of the whole software performance prediction system as a 1st Example of this invention. 第一の実施例における、生成された変更情報のデータベースへの登録と、ソースコード情報を生成するデータベース構成部の詳細を示した図である。It is the figure which showed the detail of the database structure part which registers | registers the produced | generated change information in the database in 1st Example, and produces | generates source code information. 第一の実施例における、データベースに格納する2種類の情報を説明するための図である。It is a figure for demonstrating two types of information stored in a database in a 1st Example. 本発明における、ソフトウェア開発時、バージョン管理システムなどによりデータベースに登録された、初期ソースコード及び変更ソースコードの概念を示す図である。It is a figure which shows the concept of the initial source code and change source code which were registered into the database by the version management system etc. at the time of software development in this invention. 第一の実施例における、判定部の構成を説明するための図である。It is a figure for demonstrating the structure of the determination part in a 1st Example. 第一の実施例における、変更情報生成部の構成を説明するための図である。It is a figure for demonstrating the structure of the change information production | generation part in a 1st Example. 第一の実施例における、ソフトウェア性能予測システムの全体的な動作フローを示したものである。2 shows an overall operation flow of the software performance prediction system in the first embodiment. 第一の実施例における、判定処理の動作フローを示したものである。The operation | movement flow of the determination process in a 1st Example is shown. 第一の実施例における、データベース登録処理の動作フローを示したものである。The operation | movement flow of the database registration process in a 1st Example is shown. 本発明の第二の実施例になるソフトウェア性能予測システムの、全体の構成を説明するための図である。It is a figure for demonstrating the whole structure of the software performance prediction system which becomes a 2nd Example of this invention. 第二の実施例における、判定部の構成を説明するための図である。It is a figure for demonstrating the structure of the determination part in a 2nd Example. 第二の実施例における、変更情報生成部の構成を示した図である。It is the figure which showed the structure of the change information generation part in a 2nd Example. 本発明の第三の実施例になるソフトウェア性能予測システムの、動作フローを示した図である。It is the figure which showed the operation | movement flow of the software performance prediction system which becomes the 3rd Example of this invention. 第三の実施例における、判定部の構成を説明するための図である。It is a figure for demonstrating the structure of the determination part in a 3rd Example. 本発明の第四の実施例になるソフトウェア性能予測システムにおける、プロジェクト管理者に性能増減比率を表示する出力画面を示した図である。It is the figure which showed the output screen which displays a performance increase / decrease ratio to a project manager in the software performance prediction system which becomes the 4th Example of this invention.

ここで、上記の課題を解決するために、ソフトウェアの性能予測方法、システムに関して、本願において開示される発明の代表的な実施の形態について概要を説明する。
本発明は、組込みシステムの構成要素の1つであるCPU上で動作するソフトウェアに関し、そのソフトウェア開発時、開発者が、初期のソースコードやそれを変更した以前のソースコード(旧ソースコード)を変更した新たなソフトウェア(以下、変更ソースコード)を、バージョン管理システムなどのデータベースに登録する方法に関するものである。具体的には、変更ソースコードをバージョン管理システムに対して登録要求した時点で、過去の変更履歴のデータ(以下、変更情報)が格納されたデータベースを参照し、今回の変更箇所が過去に変更されたかを検索し、履歴があった場合に、その変更情報に格納された情報と今回の変更を比較することで、性能測定を実施せずに、性能を予測して見積もりを行う。比較の際には、アセンブラ命令を用いる。本方式により、開発者はソースコード変更の際に、性能測定を実施せずに性能劣化を防ぐことが可能となり、システム設計のトータル工数の削減と、ソフトウェア品質の高品質化が可能となる。
Here, in order to solve the above-described problems, an outline of a typical embodiment of the invention disclosed in the present application will be described regarding a software performance prediction method and system.
The present invention relates to software that runs on a CPU, which is one of the components of an embedded system, and at the time of software development, the developer uses the initial source code and the previous source code (old source code) that changed the source code. The present invention relates to a method of registering new changed software (hereinafter, changed source code) in a database such as a version control system. Specifically, when a change source code is requested to be registered to the version control system, the change location of this time is changed in the past by referring to a database storing past change history data (hereinafter referred to as change information). If there is a history, the information stored in the change information is compared with the current change, and the performance is estimated and estimated without performing the performance measurement. Assembler instructions are used for comparison. With this method, developers can prevent performance degradation without performing performance measurement when changing source code, reducing total system design man-hours and improving software quality.

本発明におけるソフトウェア性能予測システムは、変更ソースコードを入力とする。判定部は、ソースコードと、後述するデータベースに格納された様々な情報を利用して、変更ソースコードが、その変更により性能影響(処理時間の増減)をもたらすか否かを判定し、判定した結果である判定結果を出力し、その判定結果をソフトウェア開発者に通知するための表示装置である通信部に入力する。また、判定部の更なる機能は、変更ソースコードが、過去に登録されたソースコードと比較して、どのような変更がもたらされたか、また、どのような性能影響(処理時間の増減)をもたらすかを示す変更情報を生成する手段を有する。変更情報は、データベース構築部に入力され、データベース構築部は、変更情報をデータベースに格納するために、そのフォーマット変換などを行う手段を有する。   The software performance prediction system according to the present invention receives the changed source code as input. The determination unit uses the source code and various information stored in a database to be described later to determine whether or not the changed source code has a performance impact (increase / decrease in processing time) due to the change. A determination result as a result is output, and the determination result is input to a communication unit which is a display device for notifying the software developer. In addition, the determination unit has additional functions such as what changes have been made in the source code compared to the source code registered in the past, and what kind of performance impact (increase / decrease in processing time) Means for generating change information indicating whether or not The change information is input to the database construction unit, and the database construction unit has means for performing format conversion and the like in order to store the change information in the database.

判定部は変更ソースコードと過去に登録されたソースコードを入力とし、2つの入力の差分から、変更ソースコードのどの関数に対して変更が生じたかを判断し、変更関数名を出力する。また、変更ソースコードをコンパイルし、対象となる変更関数のアセンブラ命令数を算出する。判定部は、変更関数名を元に、データベースに格納された関数単位アセンブラ命令数と変更情報のうち、性能増減比率情報から、対象の修正によって生じる性能の増減(処理時間の増減)を予測し、変更情報として出力する。得られた性能増減比率がある一定の数値を上回った場合、登録者に通知する。これにより、性能の著しい劣化を未然に防ぐことができる。   The determination unit receives the changed source code and the source code registered in the past, determines which function of the changed source code has changed from the difference between the two inputs, and outputs the changed function name. Also, the modified source code is compiled and the number of assembler instructions for the target modified function is calculated. Based on the name of the changed function, the determination unit predicts the performance increase / decrease (increase / decrease in processing time) caused by the target modification from the performance increase / decrease ratio information among the number of function unit assembler instructions stored in the database and the change information. And output as change information. When the obtained performance increase / decrease ratio exceeds a certain value, the registrant is notified. Thereby, remarkable deterioration of performance can be prevented in advance.

このように、本発明よれば、ソースコード上の個別の変更ごとの情報をストックしておき、静的解析の情報や、すでに取得済みの実行情報と組み合わせることで、新たに加えた変更が性能を劣化させるか、また、その効果の影響を予測することで、性能測定のコストを削減し、登録前に開発者に知らせることで著しい性能劣化を事前に防ぐことができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
In this way, according to the present invention, information for each individual change on the source code is stocked and combined with static analysis information or already acquired execution information, so that newly added changes can be performed. Or predicting the effect of the effect, it is possible to reduce the cost of performance measurement and to notify the developer before registration, so that significant performance degradation can be prevented in advance.
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

本発明の一実施例となるソフトウェアの性能予測方法について、まず、概要を説明する。本発明は、組込みシステムの構成要素の1つであるCPU上で動作するソフトウェアに関し、そのソフトウェア開発時、開発者が変更したソフトウェア(以下、変更ソースコード)をバージョン管理システムなどのデータベースに登録する方法に関するものである。変更ソースコードをバージョン管理システムに登録する際に、変更ソースコードにもたらされた変更による性能への影響を予測により見積ることで、著しく性能が劣化する恐れがある場合に、ソフトウェア開発者やバージョン管理システムの管理者に性能劣化の影響を通知し、変更ソースコード登録の事前に、性能劣化の防止を可能とする。具体的には、変更ソースコードをバージョン管理システムに対して登録要求した時点で、過去の変更履歴のデータ(以下、変更情報)が格納されたデータベースを参照し、今回の変更箇所が過去に変更されたかを検索し、履歴があった場合に、その変更情報に格納された情報と今回の変更を比較することで、性能測定を実施せずに、性能を予測して見積もりを行う。比較の際には、アセンブラ命令を用いる。アセンブラ命令とは、CPUに処理を行わせるための機械語を人間にわかりやすい形で記述したもので、C言語などの高級言語に比べ、処理の粒度が細かい低級言語である。このアセンブラ命令を用いることによって細かい変更による性能影響(処理時間の増大・スループット低下)を見積もることができる。本方式により、開発者はソースコード変更の際に、性能測定を実施せずに性能劣化を防ぐことが可能となり、システム設計のトータル工数の削減と、ソフトウェア品質の高品質化が可能となる。   An outline of a software performance prediction method according to an embodiment of the present invention will be described first. The present invention relates to software that runs on a CPU, which is one of the components of an embedded system, and registers the software changed by the developer (hereinafter referred to as changed source code) in a database such as a version control system when the software is developed. It is about the method. When registering the change source code in the version control system, if there is a risk that the performance will be significantly degraded by estimating the impact on the performance of the change caused by the change source code, the software developer or version Notify the administrator of the management system of the impact of performance degradation and enable performance degradation to be prevented before registering the changed source code. Specifically, when a change source code is requested to be registered to the version control system, the change location of this time is changed in the past by referring to a database storing past change history data (hereinafter referred to as change information). If there is a history, the information stored in the change information is compared with the current change, and the performance is estimated and estimated without performing the performance measurement. Assembler instructions are used for comparison. The assembler instruction is a machine language for causing the CPU to perform processing described in a form that is easy for humans to understand, and is a low-level language with finer processing granularity than a high-level language such as C language. By using this assembler instruction, it is possible to estimate the performance effect (increase in processing time / decrease in throughput) due to small changes. With this method, developers can prevent performance degradation without performing performance measurement when changing source code, reducing total system design man-hours and improving software quality.

次に、図1から図8を用いて、本発明の一実施例となるソフトウェアの性能予測方法について、詳細に説明する。   Next, a software performance prediction method according to an embodiment of the present invention will be described in detail with reference to FIGS.

図1は、本発明におけるソフトウェア性能予測システム10の構成を説明するための図である。ソフトウェア性能予測システム10は、ソースコードの変更による著しい性能劣化を抑止するため、変更による性能影響(処理時間の増減)を予測するシステムである。このソフトウェア性能予測システム10には、ネットワーク40を介して、複数のソフトウェア開発者Pa〜Pnの端末20(20−1〜20−n)が接続される。これら複数のソフトウェア開発者は、1つの一連機能を含む組込みソフトウェアを開発するメンバーであり、空間的にも時間的にも分散して存在する。複数の端末20−1〜20−nは、空間的に分散する複数の開発拠点C1〜Cnの何れかに属する。また、ソフトウェア性能予測システム10には、プロジェクト管理者Mの端末30も接続される。   FIG. 1 is a diagram for explaining the configuration of a software performance prediction system 10 according to the present invention. The software performance prediction system 10 is a system that predicts performance influence (increase / decrease in processing time) due to a change in order to suppress significant performance deterioration due to a change in source code. A plurality of software developers Pa to Pn terminals 20 (20-1 to 20-n) are connected to the software performance prediction system 10 via a network 40. The plurality of software developers are members who develop embedded software including one series of functions, and exist in a spatially and temporally distributed manner. The plurality of terminals 20-1 to 20-n belong to any of a plurality of development bases C1 to Cn that are spatially dispersed. Further, the terminal 30 of the project manager M is also connected to the software performance prediction system 10.

ソフトウェア性能予測システム10には、端末20や端末30から初期ソースコード202、変更ソースコード500、その他ソフトウェア開発に必要な情報が入力され、後述するデータベース200に登録・格納される。   The software performance prediction system 10 receives the initial source code 202, the modified source code 500, and other information necessary for software development from the terminal 20 and the terminal 30, and is registered and stored in the database 200 described later.

ソフトウェア性能予測システム10は、コンピュータ上でプログラムを実行することにより実現される機能として、データベース構成部100、判定部300及び通知部400を備えている。端末20、30は、ソフトウェア性能予測システム10にアクセスし、初期ソースコード202や変更ソースコード500その他ソフトウェア開発に必要な情報を編集・入力する機能及び、ソフトウェア性能予測システム10からソフトウェア開発に必要な情報を取得する機能を有している。   The software performance prediction system 10 includes a database configuration unit 100, a determination unit 300, and a notification unit 400 as functions realized by executing a program on a computer. The terminals 20 and 30 access the software performance prediction system 10 and edit and input the initial source code 202, the modified source code 500 and other information necessary for software development, and the software performance prediction system 10 necessary for software development. It has a function to acquire information.

ソフトウェア性能予測システム10の判定部300は、初期ソースコード202及び変更ソースコード500と、データベース200に格納された様々な情報を利用して、変更ソースコード500が、その変更により性能影響(処理時間の増減)をもたらすか否かを判定し、判定した結果である判定結果700を出力し、入出力部900を介してその判定結果をソフトウェア開発者の端末20やプロジェクト管理者Mの端末30に通知するための通信部400に入力する。また、この判定結果は、入出力部900にも表示される。   The determination unit 300 of the software performance prediction system 10 uses the initial source code 202, the changed source code 500, and various information stored in the database 200, so that the changed source code 500 has a performance impact (processing time) due to the change. The determination result 700 is output, and the determination result is output to the terminal 20 of the software developer or the terminal 30 of the project manager M via the input / output unit 900. It inputs into the communication part 400 for notifying. This determination result is also displayed on the input / output unit 900.

また、判定部300の更なる機能は、変更ソースコード500が、過去に登録された登録済みのソースコードと比較して、どのような変更がもたらされたか、また、どのような性能影響(処理時間の増減)をもたらすかを示す変更情報250を生成する手段を有する。変更情報250は、データベース構築部100に入力され、データベース構築部100は、変更情報250をデータベース200に格納するために、そのフォーマット変換などを行う手段を有する。   Further, a further function of the determination unit 300 is that the change source code 500 has been changed compared to the registered source code registered in the past, and what performance influence ( A means for generating change information 250 indicating whether the processing time is increased or decreased. The change information 250 is input to the database construction unit 100, and the database construction unit 100 has means for performing format conversion and the like in order to store the change information 250 in the database 200.

図2は、データベース構成部100の詳細を示した図である。データベース構成部100は、初期ソースコード202、変更ソースコード500、及び生成された変更情報250のデータベース200への登録と、ソースコード情報201を生成する機能を有する。データベース構築部100は、データの入出力を制御する情報入出力制御部101と、初期ソースコード202からコールグラフ106とアセンブラ命令107を生成するコンパイル部102と、コンパイル部102から出力されたコールグラフ106から参照関係(関数構造情報203)を生成する関数構造情報生成部103と、コンパイル部102から出力されたアセンブラ命令107を関数単位アセンブラ命令に切り分け関数単位アセンブラ命令数204を抽出する関数単位アセンブラ命令数抽出部104から構成される。   FIG. 2 is a diagram showing details of the database configuration unit 100. The database configuration unit 100 has a function of registering the initial source code 202, the changed source code 500, and the generated changed information 250 in the database 200 and generating the source code information 201. The database construction unit 100 includes an information input / output control unit 101 that controls data input / output, a compile unit 102 that generates a call graph 106 and an assembler instruction 107 from the initial source code 202, and a call graph output from the compile unit 102 A function structure information generation unit 103 that generates a reference relationship (function structure information 203) from 106, and a function unit assembler that extracts the function unit assembler instruction number 204 by dividing the assembler instruction 107 output from the compilation unit 102 into function unit assembler instructions The instruction number extraction unit 104 is configured.

情報入出力制御部101では、変更情報250が入力されたとき、データベース200へ登録する。初期ソースコード202や変更ソースコード500が入力されたとき、コンパイル部に渡す。関数構造情報203と関数単位アセンブラ命令数204が入力されたとき、初期ソースコード202や変更ソースコード500と併せてソースコード情報201として、データベース200へ登録する。コンパイル部102では入力された初期ソースコード202や変更ソースコード500をコンパイルし、コールグラフ106とアセンブラ命令107を生成する。関数構造情報生成部103では、入力されたコールグラフ106から、各関数が何回コールされているかの情報を関数構造情報203として出力する。関数単位アセンブラ命令数抽出部104では、入力されたアセンブラ命令107から、アセンブラ命令数を関数単位に切り分けし、関数単位アセンブラ命令数204として出力する。   When the change information 250 is input, the information input / output control unit 101 registers it in the database 200. When the initial source code 202 or the modified source code 500 is input, it is passed to the compilation unit. When the function structure information 203 and the function unit assembler instruction count 204 are input, they are registered in the database 200 as source code information 201 together with the initial source code 202 and the modified source code 500. The compiling unit 102 compiles the input initial source code 202 and the changed source code 500 to generate a call graph 106 and an assembler instruction 107. The function structure information generation unit 103 outputs information as to how many times each function is called from the input call graph 106 as function structure information 203. The function unit assembler instruction number extraction unit 104 divides the assembler instruction number into function units from the input assembler instruction 107 and outputs the result as function unit assembler instruction number 204.

図3Aは、データベース200に格納する3種類の情報を説明するための図である。第1の情報であるソースコード情報201は、過去に登録された初期ソースコード202や変更ソースコード500と、そのソースコード202や変更ソースコード500の関数構造を示す関数構造情報203と、関数毎のコンパイル結果から導き出される各関数単位のアセンブラ命令数204からなる。関数構造情報203は、関数毎の関数コール回数を含む。第2の情報である変更情報250は、変更ソースコード500にて変更された関数名を示す変更関数名251と、その変更関数に対し、コンパイルによって得られたアセンブラ命令数を示す修正関数アセンブラ命令数252と、本修正により増減する性能を示す性能増減比率情報253からなる。データベース200には、ソースコード情報201や変更情報250に保持されない、性能増減や判定結果等に関するその他の情報260も適宜、格納される。   FIG. 3A is a diagram for explaining three types of information stored in the database 200. Source code information 201 as first information includes initial source code 202 and changed source code 500 registered in the past, function structure information 203 indicating the function structure of the source code 202 and changed source code 500, and each function. The number of assembler instructions 204 for each function derived from the compilation result of The function structure information 203 includes the number of function calls for each function. The change information 250 as the second information includes a change function name 251 indicating the function name changed in the change source code 500, and a modified function assembler instruction indicating the number of assembler instructions obtained by compiling the change function. And a performance increase / decrease ratio information 253 indicating the performance to be increased or decreased by this modification. In the database 200, other information 260 that is not held in the source code information 201 and the change information 250 and that is related to performance increase / decrease, determination results, and the like is also stored as appropriate.

図3Bは、本発明における、ソフトウェア開発時、バージョン管理システムなどによりデータベースに登録された、初期ソースコード及び変更ソースコードの概念を示す図である。ソースコードは、ソフトウェア開発の進展に伴い、逐次最新のバージョンに更新される。ソースコードは、その記述を複数の機能Fa〜Fxに分解することができる。そして、1つあるいは複数の機能を組み合わせて、1つのモジュールとなり、これらのモジュールA〜Nにより、要求される各種要求を満たす1つの組込みソフトウェアが完成する。各機能Fa〜Fxは、夫々、一人あるいは複数の開発者により、同じ空間あるいは分散した空間、同じ時間あるいは異なる時間おいて、開発され、更新される。すなわち、ソースコードの1つの一連機能が複数人により開発される。   FIG. 3B is a diagram showing the concept of the initial source code and the changed source code registered in the database by the version management system or the like during software development in the present invention. The source code is sequentially updated to the latest version as the software development progresses. The source code can be decomposed into a plurality of functions Fa to Fx. One or a plurality of functions are combined into one module, and one embedded software that satisfies various required requirements is completed by these modules A to N. Each of the functions Fa to Fx is developed and updated by one or a plurality of developers in the same space or distributed space, at the same time or at different times. That is, a single function of the source code is developed by multiple people.

図4は、ソフトウェア性能予測システム10の判定部300の構成を説明するための図である。判定部300は、変更関数抽出部301と、アセンブラ命令数抽出部302と、関数コール数算出部303と、変更情報生成部304から構成される。変更関数抽出部301は、最新の変更ソースコード500と過去に登録された初期ソースコード202や変更ソースコード500を入力とし、新旧2つの入力ソースコードの差分から、変更ソースコード500のどの関数に対して変更が生じたかを判断し、変更関数名251を出力する。アセンブラ命令数抽出部302は、変更関数名251を元に、変更ソースコード500をコンパイルし、対象となる変更関数のアセンブラ命令数252を算出する。関数コール数算出部303は、変更関数名251を元に、関数構造情報203から、変更対象の関数の関数コール回数307を算出する。変更情報生成部304は、変更関数名251、変更関数アセンブラ命令数252、関数コール回数307、並びに、データベース200に格納された関数単位アセンブラ命令数204と、変更情報250のうちの性能増減比率情報253を入力とし、対象の修正によって生じる性能の増減(処理時間の増減)を予測し、変更情報250として出力する。   FIG. 4 is a diagram for explaining the configuration of the determination unit 300 of the software performance prediction system 10. The determination unit 300 includes a change function extraction unit 301, an assembler instruction number extraction unit 302, a function call number calculation unit 303, and a change information generation unit 304. The change function extraction unit 301 receives the latest change source code 500 and the initial source code 202 or the change source code 500 registered in the past, and determines which function of the change source code 500 from the difference between the old and new input source codes. On the other hand, it is determined whether a change has occurred, and a change function name 251 is output. The assembler instruction count extraction unit 302 compiles the changed source code 500 based on the changed function name 251 and calculates the assembler instruction count 252 of the target changed function. The function call count calculation unit 303 calculates the function call count 307 of the function to be changed from the function structure information 203 based on the change function name 251. The change information generation unit 304 includes a change function name 251, a change function assembler instruction count 252, a function call count 307, a function unit assembler instruction count 204 stored in the database 200, and performance increase / decrease ratio information in the change information 250. 253 is input, and an increase / decrease in performance (increase / decrease in processing time) caused by target correction is predicted and output as change information 250.

図5は、変更情報生成部304による変更情報250の生成手段を説明するための図である。変更情報生成部304は、減算器320、変更関数影響度算出部321、乗算器322、加算器323、及び、性能劣化検出部327を備えている。アセンブラ命令数抽出部302により生成された変更関数アセンブラ命令数252とデータベース200に格納された関数単位アセンブラ命令数204は、減算器320に入力され、変更によって生じたアセンブラ命令数の差分値324が生成される。また、関数単位アセンブラ命令数204と変更関数名251は、変更関数影響度算出部321に入力される。変更関数影響度算出部321は、変更関数名251で指示された変更関数が、全関数に対してどの程度占有しているかを示す変更関数影響度指標325を生成する。本変更関数影響度指標325の有効範囲は0から1であり、対象とする変更関数が、全関数に対して、殆ど影響しない場合、値は0に近づき、全関数に対して、非常に大きな影響をもたらす場合には、値は1に近づく。本実施形態の説明では、説明を容易とするために、本変更関数影響度指標325を全関数のアセンブラ命令数に対する変更対象関数のアセンブラ行数として説明する。しかしながら、本変更関数影響度指標325の生成方式には、一例であった、本生成方式に関し、限定を持たない。   FIG. 5 is a diagram for explaining a means for generating change information 250 by the change information generation unit 304. The change information generation unit 304 includes a subtracter 320, a change function influence degree calculation unit 321, a multiplier 322, an adder 323, and a performance deterioration detection unit 327. The changed function assembler instruction number 252 generated by the assembler instruction number extraction unit 302 and the function unit assembler instruction number 204 stored in the database 200 are input to the subtractor 320, and a difference value 324 of the assembler instruction number generated by the change is obtained. Generated. Also, the function unit assembler instruction count 204 and the changed function name 251 are input to the changed function influence calculation unit 321. The change function influence degree calculation unit 321 generates a change function influence degree index 325 indicating how much the change function indicated by the change function name 251 occupies all functions. The effective range of the change function influence index 325 is 0 to 1, and when the target change function has little influence on all functions, the value approaches 0 and is very large for all functions. The value approaches 1 when it has an effect. In the description of this embodiment, for ease of explanation, the change function influence index 325 will be described as the number of assembler lines of the function to be changed with respect to the number of assembler instructions of all functions. However, the generation method of the change function influence index 325 is not limited with respect to the generation method, which is an example.

生成されたアセンブラ命令数の差分値324、変更関数影響度指標325、並びに対象となる変更関数の関数コール回数307は、乗算器322にて掛け算を行い、性能増減比率情報253を出力する。本性能増減比率情報253は、対象となる修正により生じた性能の増減値の割合を示す。   The generated difference value 324 of the number of assembler instructions, the change function influence index 325, and the function call count 307 of the target change function are multiplied by the multiplier 322, and the performance increase / decrease ratio information 253 is output. The performance increase / decrease ratio information 253 indicates the ratio of the increase / decrease value of the performance caused by the target correction.

本性能増減比率情報253は、ソースコードを登録する度に、データベース200内の性能増減比率情報253として、履歴を蓄積する。本蓄積により、過去の各ソースコード修正によって発生した性能の増減を保持することが出来る。過去に登録された性能増減比率情報253と、新たに生成した性能増減比率情報253を加算器323で加算することで、現在の修正によって、オリジナルのソースコード202あるいは500からの性能の増減を示す、変更情報(X)250を得ることが出来る。この変更情報(X)250の中の性能低減比率に関するデータは、性能劣化検出部327で所定値αと比較され、X>αの場合、性能劣化として検出され、その旨を通知する判定結果700の情報が生成され、該当する端末等を経て関係者に通知されると共にデータベース200に記録される。性能劣化が検出されなかった場合には、この変更情報(X)250に基づいてデータベース200のソースコードに関する情報が更新される。なお、この変更情報(X)250の中には、性能増加比率に関するデータも含まれるが、この情報は、関係者に通知されるのが望ましいものの、逐一通知することが必須ではない。性能増加比率に関するデータの利用に関しては、例えば、データベース200に記録を残し、プロジェクト管理者Mに、同様な機能を有するソースコード他の部分にも反映させるか否か等の判断させるようにしても良い。   The performance increase / decrease ratio information 253 accumulates a history as the performance increase / decrease ratio information 253 in the database 200 every time a source code is registered. By this accumulation, it is possible to hold the performance increase / decrease caused by each past source code modification. By adding the performance increase / decrease ratio information 253 registered in the past and the newly generated performance increase / decrease ratio information 253 by the adder 323, the current correction indicates the increase or decrease in performance from the original source code 202 or 500. , Change information (X) 250 can be obtained. Data relating to the performance reduction ratio in the change information (X) 250 is compared with a predetermined value α by the performance deterioration detection unit 327, and when X> α, it is detected as performance deterioration and a determination result 700 for notifying that is detected 700. The information is generated and notified to related parties via the corresponding terminal and recorded in the database 200. If no performance deterioration is detected, information on the source code of the database 200 is updated based on the change information (X) 250. The change information (X) 250 includes data related to the performance increase ratio, but this information is preferably notified to the parties concerned, but it is not essential to notify the information one by one. Regarding the use of data related to the performance increase ratio, for example, a record is left in the database 200, and the project manager M is allowed to determine whether or not to reflect in other parts of the source code having the same function. good.

図6は、本発明におけるソフトウェア性能予測システム10の動作フローを示したものである。本ソフトウェア性能予測システムは、ソフトウェア開発者が変更ソースコードをバージョン管理システムに登録する際に動作する。ソースコードの入力を受け付けると(ステップS100)、変更ソースコードか否かを判定する(S101)。入力が変更ソースコード500の場合はステップS102に移り、初期ソースコード202の場合は変更情報600を生成するステップS108に移る。変更ソースコード500の登録要求を発行すると(ステップS102)、変更ソースコード500は後述の判定部300に入力される(ステップS103)。判定部300で、変更ソースコード500と後述するデータベース200に登録されている変更情報600の比較を実施する(ステップS104)。ステップS104で判定部300が生成した変更情報の性能低減比率Xがある一定値αを超えた場合(ステップS105)、登録者に性能劣化の可能性を通知する(ステップS106)。なお、ある変更ソースコード500が性能低減するものであったとしても、その工程の状況等によっては、それを一連機能あるいは組込みソフトウェアの一部として採用せざるを得ない場合もある。この判断は、性能向上、品質向上、設計プロセスの後工程での手戻り等を総合的に勘案してなされるべきものであり、登録者やプロジェクト管理者Mに判断が委ねられる。もし、性能が低減する変更ソースコード500を採用する場合には、変更情報を生成するステップS108に移る。もし、性能が低減する変更ソースコード500を採用しない場合には、その変更ソースコード500に代わるものとして、以前のバージョンのソースコードを利用する等、登録者やプロジェクト管理者Mの対応指示を受け付ける。また、性能増減比率情報253に含まれる性能増加比率に関するデータも、データベース200に登録される。このようにして作成された変更情報や、対応指示の情報をデータベース200に登録して(ステップS110)、一連の処理を終了する。   FIG. 6 shows an operation flow of the software performance prediction system 10 according to the present invention. This software performance prediction system operates when the software developer registers the changed source code in the version management system. When the input of the source code is accepted (step S100), it is determined whether or not the source code is changed (S101). When the input is the modified source code 500, the process proceeds to step S102, and when the input is the initial source code 202, the process proceeds to step S108 for generating the modified information 600. When a registration request for the changed source code 500 is issued (step S102), the changed source code 500 is input to the determination unit 300 described later (step S103). The determination unit 300 compares the change source code 500 with the change information 600 registered in the database 200 described later (step S104). When the performance reduction ratio X of the change information generated by the determination unit 300 in step S104 exceeds a certain value α (step S105), the registrant is notified of the possibility of performance degradation (step S106). Even if a certain modified source code 500 reduces performance, it may be unavoidably adopted as a part of a series of functions or embedded software depending on the state of the process. This determination should be made with comprehensive consideration of performance improvement, quality improvement, rework in the post-process of the design process, and the determination is left to the registrant or project manager M. If the modified source code 500 with reduced performance is adopted, the process proceeds to step S108 for generating modified information. If the modified source code 500 whose performance is reduced is not adopted, a corresponding instruction from the registrant or the project manager M is accepted, such as using a previous version of the source code as an alternative to the modified source code 500. . Data relating to the performance increase ratio included in the performance increase / decrease ratio information 253 is also registered in the database 200. The change information and the response instruction information created in this way are registered in the database 200 (step S110), and the series of processing ends.

図7は、図6の判定処理S104の詳細の動作フローを示したものである。まず、入力された変更ソースコード500から変更関数名251と関数コール回数307と変更関数アセンブラ命令数252を抽出する。次に、変更関数アセンブラ命令数252とデータベース200の関数単位アセンブラ命令数204との差分値324を求める(ステップS1031)。関数単位アセンブラ命令数204と変更関数名251から変更関数影響度指標325を求める(ステップS1032)。ステップS1031で求めた差分値324とステップS1032で求めた変更関数影響度指標325と関数コール回数307から、性能増減比率情報253を求める(S1033)。求めた性能増減比率情報253と、データベースの性能増減比率情報253を加算し変更関数名251、修正関数アセンブラ命令数252と併せて変更情報250を生成する(S1034)。例えば、入力の変更ソースコードが関数名funcAについて変更されており、アセンブラ命令数がデータベースのfuncAの変更情報の関数単位アセンブラ命令数から5命令増える変更であったときの性能増減比率は以下のように求める。増加分5命令と全関数における対象関数の比重を表す変更関数影響度指標(0から1の値)と関数コール回数(n回)を乗算する。変更関数影響度指標は、ソースコードのアセンブラ総行数における変更関数のアセンブラ総行数の割合である。求めた性能増減比率にデータベースに登録されている関数名funcAの性能増減比率を加算し、変更による最終的な性能増減比率を求める。   FIG. 7 shows a detailed operation flow of the determination process S104 of FIG. First, the changed function name 251, the function call count 307, and the changed function assembler instruction count 252 are extracted from the input changed source code 500. Next, a difference value 324 between the number of changed function assembler instructions 252 and the number of function unit assembler instructions 204 in the database 200 is obtained (step S1031). A change function influence index 325 is obtained from the number of function unit assembler instructions 204 and the change function name 251 (step S1032). The performance increase / decrease ratio information 253 is obtained from the difference value 324 obtained in step S1031, the change function influence index 325 obtained in step S1032, and the function call count 307 (S1033). The obtained performance increase / decrease ratio information 253 and the database performance increase / decrease ratio information 253 are added together with the change function name 251 and the number of correction function assembler instructions 252 to generate change information 250 (S1034). For example, when the input change source code is changed for the function name funcA, and the number of assembler instructions is changed to increase 5 instructions from the number of function unit assembler instructions in the change information of funcA in the database, the performance increase / decrease ratio is as follows: Ask for. Multiply the increased function by 5 instructions and the change function influence index (value between 0 and 1) indicating the specific gravity of the target function in all functions and the number of function calls (n times). The change function influence index is a ratio of the total number of assembler lines of the change function to the total number of assembler lines of the source code. The performance increase / decrease ratio of the function name funcA registered in the database is added to the obtained performance increase / decrease ratio to obtain the final performance increase / decrease ratio due to the change.

図8は、図6のデータベース登録処理S110の詳細の動作フローを示したものである。はじめに入力がソースコード202か変更情報250か判別する(S1100)。入力が初期ソースコード202、更新ソースコード500の場合はアセンブラ命令とコールグラフを抽出する(ステップS1101)。抽出したアセンブラ命令とコールグラフから関数構造情報203と関数単位アセンブラ命令数204を生成する(S1002)。ソースコード202、500と生成した関数構造情報203と関数単位アセンブラ命令数204をソースコード情報201としてデータベース200に登録する。一方、入力が変更情報250等の場合(S1100)、別途、必要な情報がデータベース200に登録される。   FIG. 8 shows a detailed operation flow of the database registration process S110 of FIG. First, it is determined whether the input is the source code 202 or the change information 250 (S1100). When the input is the initial source code 202 and the update source code 500, an assembler instruction and a call graph are extracted (step S1101). The function structure information 203 and the function unit assembler instruction count 204 are generated from the extracted assembler instruction and call graph (S1002). The source code 202 and 500, the generated function structure information 203 and the function unit assembler instruction count 204 are registered in the database 200 as source code information 201. On the other hand, when the input is the change information 250 or the like (S1100), necessary information is separately registered in the database 200.

本実施例によれば、更新ソースコードを受け付けた際に新旧バージョンのソースコード間の性能を予測に基づいて判定し、性能低下の問題がある場合には、更新ソースコードを記述する際に事前に作成者等に通知するので、性能向上と品質向上を可能にし、しかも、設計プロセスの後工程での手戻りを少なくした、組込ソフトウェア開発に利用できるソフトウェア性能逐次予測技術を提供することができる。   According to the present embodiment, when the update source code is received, the performance between the old and new versions of the source code is determined based on the prediction. In order to provide software performance sequential prediction technology that can be used for embedded software development, enabling performance improvement and quality improvement, and reducing rework in the later stages of the design process. it can.

次に、本発明の第2の実施の形態としての性能逐次予測方法、システムを説明する。実施例1の判定部への入力に加えて動的関数コールを用いて性能を予測するものである。実施例1では性能増減比率を計算する際、関数コール数を用いているが、本実施例では、動的関数コール数を用いることにより、実行に即した性能予測が可能になる。   Next, a performance sequential prediction method and system as a second embodiment of the present invention will be described. The performance is predicted using a dynamic function call in addition to the input to the determination unit of the first embodiment. In the first embodiment, the number of function calls is used when calculating the performance increase / decrease ratio. In this embodiment, however, the use of the number of dynamic function calls enables performance prediction in line with execution.

図9は、本実施例のソフトウェア性能予測システムの構成を説明するための図である。本ソフトウェア性能予測システム10は、実施例1で述べたとおり、ソースコードの変更による著しい性能劣化を抑止するため、変更による性能影響(処理時間の増減)を予測するシステムである。ソフトウェア性能予測システム10は、初期ソースコード202、変更ソースコード500及び実行トレース800を入力とする。判定部300’は、初期ソースコード202、変更ソースコード500と実行トレース800と、後述するデータベース200に格納された様々な情報を利用して、変更ソースコード500が、その変更により性能影響(処理時間の増減)をもたらすか否かを判定し、判定した結果である判定結果700を出力し、その判定結果をソフトウェア開発者に通知するための通信部400に入力する。その他の特に言及しない部分には実施例1と同一符号を付して、それらの詳細は省略する。   FIG. 9 is a diagram for explaining the configuration of the software performance prediction system of this embodiment. As described in the first embodiment, the software performance prediction system 10 is a system that predicts a performance influence (increase / decrease in processing time) due to a change in order to suppress significant performance deterioration due to a change in source code. The software performance prediction system 10 receives the initial source code 202, the changed source code 500, and the execution trace 800 as inputs. The determination unit 300 ′ uses the initial source code 202, the changed source code 500, the execution trace 800, and various information stored in the database 200, which will be described later. A determination result 700 that is a result of the determination is output, and the determination result is input to the communication unit 400 for notifying the software developer. Other parts not specifically mentioned are denoted by the same reference numerals as those in the first embodiment, and their details are omitted.

図10は、本実施例のソフトウェア性能予測システムの判定部300’の構成を説明するための図である。関数コール算出部303’では、変更関数名と実行トレースから対象関数が動的に何回呼ばれているかをカウントし動的関数コール数307’を出力する。変更情報生成部304は、変更関数アセンブラ増減数252と関数単位アセンブラ命令数204と変更関数名251と動的関数コール回数307’と性能増減比率情報253を入力として受け取り、変更情報250を出力する。その他の特に言及しない部分には同一符号を付して、それらの詳細は省略する。   FIG. 10 is a diagram for explaining the configuration of the determination unit 300 ′ of the software performance prediction system according to the present embodiment. The function call calculation unit 303 'counts how many times the target function is dynamically called from the changed function name and the execution trace, and outputs the dynamic function call number 307'. The change information generation unit 304 receives the change function assembler increase / decrease number 252, the function unit assembler instruction number 204, the change function name 251, the dynamic function call count 307 ′, and the performance increase / decrease ratio information 253 as inputs, and outputs the change information 250. . Other parts that are not particularly mentioned are denoted by the same reference numerals and their details are omitted.

図11は、乗算器322’において動的コール回数307’を用いて性能増減比率を求めることを表した図である。その他の特に言及しない部分には実施例1と同一符号を付して、それらの詳細は省略する。   FIG. 11 is a diagram illustrating obtaining the performance increase / decrease ratio using the dynamic call count 307 ′ in the multiplier 322 ′. Other parts not specifically mentioned are denoted by the same reference numerals as those in the first embodiment, and their details are omitted.

本実施例によれば、更新ソースコードを受け付けた際に新旧バージョンのソースコード間の性能を予測に基づいて判定し、性能低下の問題がある場合には、更新ソースコードを記述する際に事前に作成者等に通知するので、性能向上と品質向上を可能にし、しかも、設計プロセスの後工程での手戻りを少なくした、組込ソフトウェア開発に利用できるソフトウェア性能逐次予測技術を提供することができる。   According to the present embodiment, when the update source code is received, the performance between the old and new versions of the source code is determined based on the prediction. In order to provide software performance sequential prediction technology that can be used for embedded software development, enabling performance improvement and quality improvement, and reducing rework in the later stages of the design process. it can.

次に、本発明の第3の実施の形態としての性能逐次予測方法、システムを説明する。
図12は、変更関数の過去の変更情報がデータベースに存在しない場合の動作フローを示している。データがなかった場合、変更関数における変更情報の代用として、変更関数影響度指標と関数コール回数が一致する関数の変更情報を用いる。入力された変更ソースコードの変更関数の過去の変更情報がデータベースに存在するかを調べる(ステップS1035)。変更関数の過去の変更情報がデータベースにない場合、変更関数影響度指標と関数コール回数が一致する関数を調べる(S1036)。一致する関数がある場合、その関数の変更情報を代用する(S1037)。これは、一般に、表記が類似している場合、同様な機能を表現している蓋然性が高いという実体を前提にしている。これにより入力された変更ソースコードにおける変更関数の変更情報がデータベースに存在しない場合でも性能予測が可能となる。その他のステップにおいて、特に言及しない部分には同一符号を付して、それらの詳細は省略する。
Next, a performance sequential prediction method and system as a third embodiment of the present invention will be described.
FIG. 12 shows an operation flow when past change information of the change function does not exist in the database. If there is no data, the change information of the function whose function function count matches the change function influence index is used as a substitute for the change information in the change function. It is checked whether past change information of the change function of the input change source code exists in the database (step S1035). If there is no past change information of the change function in the database, a function whose change function influence index matches the number of function calls is checked (S1036). If there is a matching function, the change information of the function is substituted (S1037). This is based on the premise that in general, when the notation is similar, there is a high probability of expressing the same function. As a result, performance prediction is possible even when the change information of the change function in the input change source code does not exist in the database. In other steps, parts that are not particularly mentioned are denoted by the same reference numerals and their details are omitted.

図13は、実施例3におけるソフトウェア性能予測システム10の判定部300の構成を説明するための図である。関数コール数算出部303と変更情報生成部304は、変更関数影響度指標と関数コール回数の一致する関数の変更情報を利用し、データベース200に格納された、関数単位アセンブラ命令数204’と、変更情報250’のうちの性能増減比率情報253’を入力とし、対象の修正によって生じる性能の増減(処理時間の増減)を予測し、変更情報250として出力する変更情報生成部304から構成する。その他において、特に言及しない部分には同一符号を付して、それらの詳細は省略する。   FIG. 13 is a diagram for explaining the configuration of the determination unit 300 of the software performance prediction system 10 according to the third embodiment. The function call number calculation unit 303 and the change information generation unit 304 use function change information whose function function number matches the change function influence index and the function unit assembler instruction number 204 ′ stored in the database 200, The change information generating unit 304 is configured to input the performance increase / decrease ratio information 253 ′ of the change information 250 ′, predict the performance increase / decrease (increase / decrease in processing time) caused by the target correction, and output the change information 250. In other respects, parts not particularly mentioned are denoted by the same reference numerals and their details are omitted.

本実施例によれば、更新ソースコードを受け付けた際に、変更関数の過去の変更情報がデータベースに存在しない場合でもそれに代わる情報を用いて、更新ソースコードの性能を判定し、性能低下の問題がある場合には、更新ソースコードを記述する際に事前に作成者等に通知するので、性能向上と品質向上を可能にし、しかも、設計プロセスの後工程での手戻りを少なくした、組込ソフトウェア開発に利用できるソフトウェア性能逐次予測技術を提供することができる。   According to the present embodiment, when the update source code is received, even if the past change information of the change function does not exist in the database, the performance of the update source code is determined using the alternative information, and there is a problem of performance degradation. If there is an error, the author is notified in advance when writing the updated source code, so that the performance and quality can be improved, and the rework in the later stage of the design process is reduced. Software performance sequential prediction technology that can be used for software development can be provided.

次に、本発明の第4の実施の形態としての性能逐次予測方法、システムを説明する。図14は、実施例1の判定部において、プロジェクト管理者向け情報の出力方法を示した図である。プロジェクトの開発者が変更ソースコードをリポジトリに登録するとき、本ソフトウェア逐次性能予測システムは動作する。本実施例は、登録要求があったときに、管理者向けの情報として開発者毎、モジュール毎、開発拠点ごとに性能増減比率の状況一覧を生成する。また、プロジェクト計画を入力しておき、性能増減比率が決められた数値以上であった場合、プロジェクト管理者に知らせる。これにより、変更による著しい性能劣化を未然に防ぐことが可能となる。   Next, a performance sequential prediction method and system as a fourth embodiment of the present invention will be described. FIG. 14 is a diagram illustrating a method for outputting information for the project manager in the determination unit according to the first embodiment. The software sequential performance prediction system operates when the project developer registers the changed source code in the repository. In this embodiment, when there is a registration request, a list of performance increase / decrease ratios is generated for each developer, each module, and each development base as information for the administrator. In addition, a project plan is input, and if the performance increase / decrease ratio is greater than a predetermined value, the project manager is notified. This makes it possible to prevent significant performance degradation due to changes.

本実施例によれば、複数人で開発する大規模なソフトウェア開発において、新旧バージョンのソースコード間の性能を予測に基づいて判定し、プロジェクト管理者に、開発者毎、モジュール毎、あるいは開発拠点毎の性能低下の有無などの情報を各端末に提供するので、性能向上と品質向上を可能にし、しかも、設計プロセスの後工程での手戻りを少なくした、ソフトウェア性能逐次予測技術を提供することができる。   According to this embodiment, in large-scale software development that is developed by a plurality of people, the performance between the old and new versions of the source code is determined based on the prediction, and the project manager is notified to each developer, each module, or the development base. Providing software performance sequential prediction technology that improves performance and quality, and reduces rework in the later stages of the design process, because information such as the presence or absence of performance degradation for each terminal is provided to each terminal. Can do.

10 ソフトウェア性能予測システム
20(20−1〜20−n) ソフトウェア開発者端末
30 プロジェクト管理者の端末
40 ネットワーク
100 データベース構築部
101 情報入出力制御部
102 コンパイル部
103 関数構造情報生成部
104 関数単位アセンブラ命令抽出部
106 コールグラフ
107 アセンブラ命令
200 データベース
201 ソースコード情報
202 初期ソースコード
203 関数構造情報
204 関数単位アセンブラ命令数
250 変更情報
251 変更関数名
252 修正関数アセンブラ命令数
253 性能増減比率情報
300 判定部
300’ 判定部
301 変更関数抽出部
302 アセンブラ命令数抽出部
303 関数コール数算出部
304 変更情報生成部
307 関数コール回数
320 減算器
321 変更関数影響度算出部
322 乗算器
323 加算器
324 差分値
325 変更関数影響度指標
400 通知部
500 変更ソースコード
700 判定結果。
10 software performance prediction system 20 (20-1 to 20-n) software developer terminal 30 project manager terminal 40 network 100 database construction unit 101 information input / output control unit 102 compilation unit 103 function structure information generation unit 104 function unit assembler Instruction extractor 106 Call graph 107 Assembler instruction 200 Database 201 Source code information 202 Initial source code 203 Function structure information 204 Number of assembler instructions per function 250 Changed information 251 Changed function name 252 Number of modified function assembler instructions 253 Performance increase / decrease ratio information 300 Determination unit 300 'determination unit 301 changed function extraction unit 302 assembler instruction number extraction unit 303 function call number calculation unit 304 change information generation unit 307 function call count 320 subtractor 321 change function influence degree calculation Part 322 multiplier 323 adder 324 difference values 325 change function influence degree indicating 400 notifying unit 500 changes the source code 700 determination result.

Claims (15)

ソフトウェア性能予測システムにより、ソースコードの変更に伴うソフトウェアの性能を予測するソフトウェア性能逐次予測方法であって、
前記ソフトウェア性能予測システムは、前記ソフトウェアを登録するデータベースを備えており、かつ、複数の端末に接続可能に構成されており、
前記複数の端末の少なくとも1つから前記ソフトウェアの開発に伴う初期ソースコードもしくは変更ソースコードの入力を受け付け、ソースコード情報として、前記データベースに登録し、
前記変更ソースコードによる前記ソフトウェアの性能を登録済の前記ソースコード情報に含まれる旧ソースコードによる前記ソフトウェアの性能と比較して、新旧ソースコードの性能の低減比率を算出し、
該性能の低減比率が所定の値を超えるか否かを判定し、
前記性能低減比率が前記所定の値を超える場合、外部に前記判定結果を通知する
ことを特徴とするソフトウェア性能逐次予測方法。
A software performance sequential prediction method for predicting software performance associated with a source code change by a software performance prediction system,
The software performance prediction system includes a database for registering the software, and is configured to be connectable to a plurality of terminals.
Accepting input of initial source code or changed source code accompanying development of the software from at least one of the plurality of terminals, registering as source code information in the database,
Compare the performance of the software by the modified source code with the performance of the software by the old source code included in the registered source code information, and calculate the performance reduction ratio of the old and new source code,
Determining whether the reduction ratio of the performance exceeds a predetermined value;
When the performance reduction ratio exceeds the predetermined value, the determination result is notified to the outside.
請求項1記載のソフトウェア性能逐次予測方法において、
前記ソフトウェアは、一連機能を含む組込みソフトウェアであり、
前記新旧ソースコードの性能の低減比率は、性能測定に代えて、前記ソースコードの変更による処理時間の変化を予測して見積もりを行うことにより算出される
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 1,
The software is embedded software including a series of functions,
The performance reduction ratio of the old and new source code is calculated by predicting a change in processing time due to the change of the source code and performing estimation instead of performance measurement.
請求項1記載のソフトウェア性能逐次予測方法において、
前記ソースコードは、初期ソースコードに前記変更ソースコードによる変更情報を加えて逐次最新のバージョンに更新されるものであり、
前記ソースコードは、分解可能な複数の機能を含んでおり、
前記機能毎の前記変更ソースコードの入力を、空間的にあるいは時間的に分散して存在する前記複数の端末の少なくとも1つから受け付け、
該入力を受け付けた前記端末に前記判定結果を通知する
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 1,
The source code is one that is sequentially updated to the latest version by adding change information from the changed source code to the initial source code,
The source code includes a plurality of decomposable functions,
Receiving the input of the changed source code for each function from at least one of the plurality of terminals existing spatially or temporally distributed;
A software performance sequential prediction method, wherein the determination result is notified to the terminal that has received the input.
請求項1記載のソフトウェア性能逐次予測方法において、
前記新旧ソースコードの性能の低減比率の結果の情報を、前記複数の端末に対応する前記フトウェアの開発者毎、あるいは開発拠点毎、前記フトウェアを構成するモジュール毎、の何れかの区分により出力する
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 1,
Output information on the result of the performance reduction ratio of the old and new source code according to one of the categories of each software developer corresponding to the plurality of terminals, each development base, and each module constituting the software. A software performance sequential prediction method.
請求項1記載のソフトウェア性能逐次予測方法において、
前記ソフトウェア性能予測システムは、データベース構築部、判定部、及び通知部を備えており、
前記端末から入力されたデータを前記データベースに保持し、
該入力されたデータを変換し前記データベースに登録し、
前記判定部で該入力されたデータによる性能を予測し、該予測値から前記ソフトウェアの性能が劣化するかを判定し、
前記通知部が、前記入力を受け付けた端末に前記性能の劣化を通知する
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 1,
The software performance prediction system includes a database construction unit, a determination unit, and a notification unit,
Holding data input from the terminal in the database;
Convert the input data and register it in the database,
The determination unit predicts performance based on the input data, determines whether the performance of the software deteriorates from the predicted value,
The software performance sequential prediction method, wherein the notification unit notifies the terminal that has received the input of the deterioration of the performance.
請求項5記載のソフトウェア性能逐次予測方法において、
前記データベース内に、前記ソースコード情報として、前記ソースコードと関数構造情報と関数単位アセンブラ命数を格納し、前記変更情報として、変更関数名と修正関数アセンブラ命令数と性能増減比率情報を格納する
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 5,
In the database, the source code, function structure information, and function unit assembler instructions are stored as the source code information, and a change function name, a modified function assembler instruction number, and a performance increase / decrease ratio information are stored as the change information. Software performance sequential prediction method.
請求項6記載のソフトウェア性能逐次予測方法において、
前記ソースコード情報は、過去に登録された初期ソースコードや前記変更ソースコードと、それらの関数構造を示前記す関数構造情報と、関数毎のコンパイル結果から導き出される前記各関数単位のアセンブラ命令数とを含む、第1の情報と、
前記変更ソースコードにて変更された関数名を示す前記変更関数名と、その変更関数に対し、コンパイルによって得られたアセンブラ命令数を示す前記修正関数アセンブラ命令数と、前記性能低減比率情報を含む、第2の情報とを有し、
前記第1の情報の前記関数構造情報は、前記関数毎の関数コール回数を含む
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 6,
The source code information includes the initial source code or the modified source code registered in the past, the function structure information indicating the function structure thereof, and the number of assembler instructions for each function derived from the compilation result for each function. First information including:
The changed function name indicating the changed function name in the changed source code, the modified function assembler instruction number indicating the number of assembler instructions obtained by compiling the changed function, and the performance reduction ratio information And second information,
The software performance sequential prediction method, wherein the function structure information of the first information includes the number of function calls for each function.
請求項6記載のソフトウェア性能逐次予測方法において、
前記判定部は、変更関数抽出部と、アセンブラ命令数抽出部と、関数コール算出部と、変更情報生成部とを備えており、
前記変更関数抽出部で前記変更ソースコードの変更箇所を特定し、
前記アセンブラ命令数抽出部で前記変更ソースコードのアセンブラ命令数を算出し、
前記関数コール算出部で関数コールを算出し、
前記変更情報生成部で、変更情報を生成する
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 6,
The determination unit includes a change function extraction unit, an assembler instruction number extraction unit, a function call calculation unit, and a change information generation unit,
The change function extraction unit identifies the change location of the change source code,
The assembler instruction number extraction unit calculates the assembler instruction number of the modified source code,
The function call calculation unit calculates a function call,
A software performance sequential prediction method, wherein the change information generation unit generates change information.
請求項8記載のソフトウェア性能逐次予測方法において、
前記変更情報生成部内において、
前記判定部は、減算器と、変更関数影響度算出部と、乗算器と、加算器とを備えており、
前記減算器で、前記変更関数のアセンブラ命令数と関数単位アセンブラ命令数の差を求め、
前記変更関数影響度算出部で、前記関数単位アセンブラ命令数と前記変更関数名から変更関数影響度指標を求め、
前記乗算器で、前記減算器で求めた前記差分値と前記変更関数影響度指標と前記関数コール回数とから、性能増減比率情報を求め、
前記加算器で、前記性能増減比率情報から前記変更情報を求める
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 8,
In the change information generation unit,
The determination unit includes a subtractor, a change function influence calculation unit, a multiplier, and an adder.
In the subtractor, find the difference between the number of assembler instructions of the change function and the number of function unit assembler instructions,
In the change function influence calculation unit, a change function influence index is obtained from the number of function unit assembler instructions and the change function name,
In the multiplier, the performance increase / decrease ratio information is obtained from the difference value obtained by the subtractor, the change function influence index and the number of function calls,
The software performance sequential prediction method, wherein the adder obtains the change information from the performance increase / decrease ratio information.
請求項5記載のソフトウェア性能逐次予測方法において、
前記データベース構築部において、情報入出力制御部で情報の入出力を制御し、コンパイル部でソースコードからアセンブラ命令とコールグラフを出力し、関数構造情報生成部でコールグラフから関数構造情報を生成し、関数単位アセンブラ命令抽出部でアセンブラ命令から関数単位のアセンブラ命令数を抽出する
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 5,
In the database construction unit, the information input / output control unit controls input / output of information, the compile unit outputs assembler instructions and a call graph from the source code, and the function structure information generation unit generates function structure information from the call graph. A software performance sequential prediction method, wherein a function unit assembler instruction extraction unit extracts the number of assembler instructions in function units from assembler instructions.
請求項8記載のソフトウェア性能逐次予測方法において、
前記変更関数の過去の変更情報が前記データベースに存在しない場合、前記変更関数における変更情報の代用として、変更関数影響度指標と関数コール回数が一致する関数の変更情報を用いる
ことを特徴とするソフトウェア性能逐次予測方法。
The software performance sequential prediction method according to claim 8,
When the change information of the change function in the past does not exist in the database, the change information of the function whose change function influence index matches the number of function calls is used as a substitute for the change information in the change function. Performance sequential prediction method.
ソフトウェア性能予測システムにより、ソースコードの変更に伴うソフトウェアの性能を予測するソフトウェア性能逐次予測システムであって、
前記ソフトウェアを登録するデータベースを備えており、かつ、複数の端末に接続可能に構成されており、
前記複数の端末の少なくとも1つから初期ソースコードもしくは変更ソースコードの入力を受け付け、ソースコード情報として、前記データベースに登録する機能と、
前記変更ソースコードによる前記ソフトウェアの性能を登録済の前記ソースコード情報に含まれる旧ソースコードによる前記ソフトウェアの性能と比較して、新旧ソースコードの性能の低減比率を算出する機能と、
該性能の低減比率が所定の値を超えるか否かを判定する機能と、
前記性能低減比率が前記所定の値を超える場合、外部に前記判定結果を通知する機能とを備える
ことを特徴とするソフトウェア性能逐次予測システム。
A software performance prediction system that predicts software performance associated with source code changes using a software performance prediction system,
A database for registering the software, and configured to be connectable to a plurality of terminals;
A function of accepting an input of an initial source code or a modified source code from at least one of the plurality of terminals and registering it in the database as source code information;
A function of calculating the performance reduction ratio of the old and new source code by comparing the performance of the software by the changed source code with the performance of the software by the old source code included in the registered source code information;
A function of determining whether the reduction ratio of the performance exceeds a predetermined value;
A software performance sequential prediction system comprising a function of notifying the determination result to the outside when the performance reduction ratio exceeds the predetermined value.
請求項12記載のソフトウェア性能逐次予測システムにおいて、
前記ソフトウェアは、一連機能を含む組込みソフトウェアであり、
前記端末から入力されたデータを変換し前記データベースに登録するデータベース構築部と、
該入力されたデータによる性能を予測し、該予測値から前記ソフトウェアの性能が劣化するかを判定する判定部と、
前記入力を受け付けた端末に前記性能の劣化を外部に通知する通知部を備えており、
前記新旧ソースコードの性能の劣化の判定は、前記ソースコードの変更による処理時間の増大に基づいて算出される
ことを特徴とするソフトウェア性能逐次予測システム。
The software performance sequential prediction system according to claim 12,
The software is embedded software including a series of functions,
A database construction unit for converting the data input from the terminal and registering it in the database;
A determination unit that predicts performance based on the input data and determines whether the performance of the software deteriorates from the predicted value;
A notification unit that notifies the terminal of the input of the deterioration of the performance to the outside;
The determination of the deterioration of the performance of the old and new source code is calculated based on an increase in processing time due to the change of the source code.
請求項13記載のソフトウェア性能逐次予測システムにおいて、
前記判定部は、
前記変更ソースコードの変更箇所を特定する変更関数抽出部と、
前記変更ソースコードのアセンブラ命令数を算出するアセンブラ命令数抽出部と、
関数コールを算出する関数コール算出部と、
変更情報を生成する変更情報生成部とを備えている
ことを特徴とするソフトウェア性能逐次予測システム。
The software performance sequential prediction system according to claim 13,
The determination unit
A change function extraction unit for identifying a change location of the change source code;
An assembler instruction number extraction unit for calculating the assembler instruction number of the modified source code;
A function call calculation unit for calculating a function call;
A software performance sequential prediction system comprising: a change information generation unit that generates change information.
請求項14記載のソフトウェア性能逐次予測システムにおいて、
前記変更情報生成部内において、
前記判定部は、減算器と、変更関数影響度算出部と、乗算器と、加算器とを備えており、
前記減算器で、前記変更関数のアセンブラ命令数と関数単位アセンブラ命令数の差を求め、
前記変更関数影響度算出部で、前記関数単位アセンブラ命令数と前記変更関数名から変更関数影響度指標を求め、
前記乗算器で、前記減算器で求めた前記差分値と前記変更関数影響度指標と前記関数コール回数とから、性能増減比率情報を求め、
前記加算器で、前記性能増減比率情報から前記変更情報を求める
ことを特徴とするソフトウェア性能逐次予測システム。
The software performance sequential prediction system according to claim 14,
In the change information generation unit,
The determination unit includes a subtractor, a change function influence calculation unit, a multiplier, and an adder.
In the subtractor, find the difference between the number of assembler instructions of the change function and the number of function unit assembler instructions,
In the change function influence calculation unit, a change function influence index is obtained from the number of function unit assembler instructions and the change function name,
In the multiplier, the performance increase / decrease ratio information is obtained from the difference value obtained by the subtractor, the change function influence index and the number of function calls,
The software performance sequential prediction system, wherein the adder obtains the change information from the performance increase / decrease ratio information.
JP2011103904A 2011-05-07 2011-05-07 Software performance sequentially-predicting method and predicting system Withdrawn JP2012234448A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011103904A JP2012234448A (en) 2011-05-07 2011-05-07 Software performance sequentially-predicting method and predicting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011103904A JP2012234448A (en) 2011-05-07 2011-05-07 Software performance sequentially-predicting method and predicting system

Publications (1)

Publication Number Publication Date
JP2012234448A true JP2012234448A (en) 2012-11-29

Family

ID=47434689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011103904A Withdrawn JP2012234448A (en) 2011-05-07 2011-05-07 Software performance sequentially-predicting method and predicting system

Country Status (1)

Country Link
JP (1) JP2012234448A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015022890A1 (en) * 2013-08-12 2015-02-19 日本電気株式会社 Software aging test system, software agint test method, and program for software aging test
WO2022190772A1 (en) 2021-03-10 2022-09-15 株式会社日立製作所 Software performance verification system and software performance verification method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015022890A1 (en) * 2013-08-12 2015-02-19 日本電気株式会社 Software aging test system, software agint test method, and program for software aging test
JPWO2015022890A1 (en) * 2013-08-12 2017-03-02 日本電気株式会社 Software aging test system, software aging test method, and software aging test program
US9858176B2 (en) 2013-08-12 2018-01-02 Nec Corporation Software aging test system, software aging test method, and program for software aging test
WO2022190772A1 (en) 2021-03-10 2022-09-15 株式会社日立製作所 Software performance verification system and software performance verification method

Similar Documents

Publication Publication Date Title
CN101957773B (en) method and system for multiple purpose dynamic analysis
KR101310506B1 (en) Virtual machine and programming language for event processing
JP5256280B2 (en) Using collaboration development information in a team environment
US20120066667A1 (en) Simulation environment for distributed programs
CN107924360B (en) Diagnostic framework in a computing system
Kapur et al. Multi up-gradation software reliability growth model with imperfect debugging
US9367428B2 (en) Transparent performance inference of whole software layers and context-sensitive performance debugging
CN113641701B (en) Data query method, system, heterogeneous acceleration platform and storage medium
JP2008257694A (en) Method and system for estimating resource provisioning
Ma et al. LAMP: data provenance for graph based machine learning algorithms through derivative computation
JP2007179488A (en) Program for predicting source code problem
US11106448B2 (en) Management of updates to externally managed libraries
US20100153928A1 (en) Developing and Maintaining High Performance Network Services
EP2199905A1 (en) Lifecycle management and consistency checking of object models using application platform tools
WO2013184680A1 (en) Automatic parallel performance profiling systems and methods
WO2021114757A1 (en) Optimization method and apparatus for computation graph, computer device, and storage medium
JP2012234448A (en) Software performance sequentially-predicting method and predicting system
Troya et al. Specification and simulation of queuing network models using domain-specific languages
US8661424B2 (en) Auto-generation of concurrent code for multi-core applications
CN114697398B (en) Data processing method, device, electronic equipment, storage medium and product
CN116578282A (en) Code generation method, device, electronic equipment and medium
Trubiani et al. Automated detection of software performance antipatterns in Java-based applications
Danciu et al. Performance awareness in Java EE development environments
US20160004982A1 (en) Method and system for estimating the progress and completion of a project based on a bayesian network
Canon et al. Correlation-aware heuristics for evaluating the distribution of the longest path length of a DAG with random weights

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

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140908