[go: up one dir, main page]

WO1999004337A1 - Outil de mesure de code - Google Patents

Outil de mesure de code Download PDF

Info

Publication number
WO1999004337A1
WO1999004337A1 PCT/GB1998/002050 GB9802050W WO9904337A1 WO 1999004337 A1 WO1999004337 A1 WO 1999004337A1 GB 9802050 W GB9802050 W GB 9802050W WO 9904337 A1 WO9904337 A1 WO 9904337A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
rules
maintainability
rule
code
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.)
Ceased
Application number
PCT/GB1998/002050
Other languages
English (en)
Inventor
Gerald Anthony Robinson
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Priority to AU82352/98A priority Critical patent/AU8235298A/en
Publication of WO1999004337A1 publication Critical patent/WO1999004337A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3604Analysis of software for verifying properties of programs
    • G06F11/3616Analysis of software for verifying properties of programs using software metrics

Definitions

  • the present invention is concerned with computer systems and in particular with a system for analysing computer software so as to establish potential problems in the software.
  • the present invention is particularly concerned with a management system capable of identifying or predicting in computer systems where problems are likely to occur and additionally identifying code for updating/investment and accessing the impact of changing code.
  • HP index is calculated on a file and system level and is mainly a size measure and has been validated by industrial use. In accordance with the HP index source files scoring less than 65 are considered to have poor maintainability, and files scoring over 85 good maintainability. Thus it is already known to provide systems which use rules which when applied to software parameters give an indication of the maintainability of code. However, as will be described later, these rules are often contradictory.
  • a concern of the present invention is to provide a system which can reliably assess the maintainability of computer software, and in particular at the file level.
  • a code measurement system for determining the maintainability of software, comprising first means for deriving from a fault record of known software and a metric database of the known software a set of rules, and second means for comparing a metric database of second software not having a fault record to derive a signal indicating the maintainability of the second software.
  • a method of measuring code for determining the mountability of software comprising the steps of measuring code system for determining the maintainability of software, comprising a step of deriving from a fault record of known software and a metric database of the known software a set of rules, and a step of comparing a metric database of second software not having a fault record to derive a signal indicating the maintainability of the second sof ware .
  • Figure 1 shows a general overview of a known system
  • FIGS. 2A and 2B show a general overview of a system in accordance with the present invention
  • Figure 3 is a flow diagram showing the operation of the system of Figure 2;
  • Figures 4 and 5 show typical graphical displays.
  • a prediction system using rules acquired by data mining techniques builds on knowledge of changes in the past in order to carry out the necessary prediction of quality or maintainability.
  • a maintainability detecting index for the code under consideration together with the amount it will have to be changed .
  • These two parameters indicate the impact of potential developments .
  • the very nature of the data mining techniques and the rules identified by these techniques mean that the parameters predicting possible problems have to be expressed as probabilities and frequently one rule when applied will lead to one set of probabilities whilst another rule will lead to a set of contradicting probabilities.
  • the simple application of a set of rules is insufficient to give an unambiguous prediction.
  • FIG. 1 of the drawings shows a general purpose computer 1 which acts as a measurement tool with regard to a set of files 2 which together comprise the software of a complex computer system.
  • the files 2 are coded in C but of course they can exist in any suitable codes such as Cobol .
  • a set of change records 3 are generated for each of the files in the set of files 2. These can be generated by computer 1 or by another processor (not shown).
  • Table A The results of such an analysis of the files of C code, are shown in Table A, where the file names are shown on the left and the measures taken are shown under the measures heading, together with the number of detected changes and a pass or fail criterion.
  • the criterion threshold can be set arbitrarily but in general will be set so as to catch the worst 25% of the files in the system. In this context worse means most heavily changed.
  • the results of the analysis will be referred to as a metric database and is indicated in Figuer 1 at 20.
  • Figure 2A shows part of a system in accordance with an aspect of the present invention.
  • data mining software is used in a computer 1 to analyse the metrics database 20 to produce a set 21 of appropriate rules which will be defined in greater detail hereinafter.
  • the number 10 indicates a set of new files of C code the maintainability of which is to be ascertained and which are measured by the measurement tools 11 in the same way as the known files were measured in Figure 1 so as to generate a metric database 12 similar to the already described Table A.
  • the set of data mining rules 21 as derived from a known set of files as described with respect to Figure 2A are then applied to the metric database 12 using a general purpose computer 22 to generate predictions with regard to each of the files in the newly generated table.
  • the predictions can be displayed on the screen 23 of the computer or stored at 24 for subsequent analysis.
  • a rule will be generated by taking a combination of two or more of the measures shown in Table A together with the pass or fail criterion so as to generate at least two inequalities so that the rule applies when the two or more inequalities by the unknown files are satisfied.
  • a rule can, using the reasons shown in Table A, consist of the two inequalities 2 ⁇ Nm ⁇ 17 and 16 ⁇ M2. As an example, if these inequalities are satisfied the rule will indicate that the file is a fail.
  • the confidence factor associated with the rule will be dependent on the number of records in the database or source data to which the rule applies .
  • Step S10 of this flowchart represents the files of a known software system.
  • a record is made, as described with regard to Figure 1, of the file changes in the software system over a period of time.
  • a metric database is set up in which selected key parameters of the known code are extracted.
  • the file change record and the metric database are combined and at step S14 the data mining is applied to the combined metric database so as to generate a set of rules such as the rule previously discussed.
  • the unknown code that is the code the maintainability or quality of which is to be assessed, has generated from it a metric database which corresponds to the metric database of step 12.
  • step S16 The measurement of the unknown code is shown at step S16 and the generation of the metric database is shown at step S17.
  • step S18 the rules derived by the data mining step S14 are applied in the prediction system shown in Figure 2 so as to generate and display or otherwise make available a series of predictions from which the maintainability or quality of the unknown code can be assessed. This is shown at step 19.
  • step 19 There is, of course, no absolute necessity for the measurement of the known code to be carried out before the measurement of the unknown code with the proviso that it has to be done before step S18 can be carried out.
  • This table shows a selection of rules under which the file passed and a selection of those rules under which the file failed. Naturally many more rules are examined in actual operation of the system.
  • the table also shows a confidence factor (CF), expressed as a percentage, with which the prediction for pass or fail has been given.
  • This confidence factor is an estimate of the probability that an individual rule will be correct in relation to any individual case.
  • Table B does not really give a clear indication as to whether the new file is a pass or a fail because of the fact that under some measurements the file is a pass and under other measurements the file is a fail. Additionally the confidence factors vary for each of the predicted results. It is thus necessary to make a further judgement from Table B trying to take into account these varying factors .
  • One simple method is to compare the number of pass rules with the number of fail rules so that the file passes if the pass rule number is greater than the fail rule number.
  • a second method would be to sum the confidence factors (CF's) of the passes and compare this with the sum of the CF's of the fails. In the given table the sum of the CF's for pass is 229% and fail 167%. On this calculation the file is a pass.
  • Yet another approach is only to take into account those rules where the CF is greater than chance value.
  • Yet another method is to simply state that the best rule wins.
  • the highest CF is for rule 1 and using this method the file passes.
  • This procedure can be modified by adjusting the best rule to take into account the fact that as a greater percentage (70%) of the files in the source data were pass files it is more likely statistically that the best rule would be for a pass file.
  • none of these approaches provides a reliable outcome as to the likelihood of the file passing or failing .
  • system is adapted to carry out a calculation using the following factors:
  • CF X Confidence factor associated with Rule x.
  • tp Number of pass rules triggered
  • tf Number of fail rules triggered
  • p % of pass files in "KNOWN”
  • f % of fail files in "KNOWN” .
  • m Number of pass rules in role database.
  • n Number of fail rules in role database.
  • the adjustment factor is a factor based on the software system from which the rules were derived. They are based on the known history of the software system about which the prediction is to be made, and also the required sensitivity level of the prediction tool. The two adjustment factors should always sum to 100. h e default values used for both of adjustment factors are 50 and 50. These values would be suitable if the system being analysed is newly developed code, and if it was equally important to avoid false fails and false passes .
  • the prediction technique will generally produce more false fails and fewer false passes. This can be prevented by increasing the pass adjustment factor (to 60) and reducing the fail adjustment factor (to 40).
  • CMT Code Measurement Toolkit
  • CMT consists of three main components:
  • the Code Measurement Component utilises a code parsing and metrics tool X-RAY, developed by South Bank University, as the code parsing tool. Further code metrics are calculated from X-RAY 's output using the Qualms tool and other appropriate algorithms . In total 17 system level, 58 source file level and 44 function level measures are made (function in this context is taken as being synonymous with perform and procedure). These metrics include measurements of the following aspects of source code:
  • file level measures appear in a number of statistically derived forms, max, mean, weighted mean, and average density (the average density of a metric for a portion of source code is calculated by dividing the metric value by the number of non-comment, non-blank lines of code).
  • the File Change Prediction Capability which predicts the likelihood of a file changing in the future is based on the analysis of the measures produced by CMT.
  • Two expert systems are used to independently analyse the measurements, a neural net and a rules based expert system. The results from the two expert systems are then compared to allow a judgement to be made.
  • the two expert systems To enable the two expert systems to analyse the code measurements they first have to be trained on a set of source code which has a known change history.
  • the source code is measured and the measurements and change history are analysed by a data mining engine to extract the rules for the rules based expert system and by a neural network retraining tool.
  • the code and change history of release 32 of four sub-systems was used for training CMT.
  • the sub-systems were of varying size and contained in total approximately 1 million lines of source code.
  • the file change predictions were validated by checking the predictions of change against the amount of change that had already occurred to the code used for training. The predictions were found to be > 90% accurate.
  • the prediction accuracy was also tested with a C source code system, of some 90 source files, for which the source code for the first and each subsequent release was available.
  • the source code for the first release was measured.
  • the predictions of change showed all the files as "Least Likely to Change", this was compared with the number of times that each file actually had been changed.
  • the source code was of generally good quality and the predictions made by CMT were correct .
  • CMT can then be used to make change predictions of other source code.
  • the system is, as shown in Figure 2, provided with a graphical user interface .
  • the file change prediction results for the set of source files measured are presented in a "File Change Predictions" window, as shown in Figure 4.
  • the window is composed of three scrolled lists 20, 21 and 22.
  • the top most list 25, which is red, contains all the files which have been given a FAIL rating, i.e. those files which are most likely to change in the future.
  • the green bottom most list 27 contains all of the files that have been given the rating of a PASS, i.e. those files which are least likely to change in the future .
  • the yellow Reasonable Maintainability list 1 shows files scoring between 65 and 85. These files are likely to be quite maintainable, though may have some difficult areas .
  • the green Good Maintainability list 32 shows files scoring over 85. These files are likely to be easy to maintain.
  • the prediction of likelihood of change can be used together with the maintainability measure to identify code that would be a good candidate for improvement. For example if a particular source file is likely to change a lot in the future and it is unmaintainable then it would be a good investment to improve the quality of the code so that future changes are easier to perform and involve less risk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

La présente invention concerne un système de mesure de code et un procédé de détermination de la maintenalilité d'un logiciel. Le système comprend un premier moyen permettant d'établir un ensemble de règles à partir d'un article défectueux du logiciel connu et d'une base de données de mesure dudit logiciel, et un second moyen permettant de comparer une base de données de mesure d'un second logiciel ne présentant pas d'article défectueux dans le but de produire un signal représentatif de la maintenabilité du second logiciel.
PCT/GB1998/002050 1997-07-17 1998-07-13 Outil de mesure de code Ceased WO1999004337A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU82352/98A AU8235298A (en) 1997-07-17 1998-07-13 Code measure tool

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9715061.9 1997-07-17
GB9715061A GB9715061D0 (en) 1997-07-17 1997-07-17 Code measure tool

Publications (1)

Publication Number Publication Date
WO1999004337A1 true WO1999004337A1 (fr) 1999-01-28

Family

ID=10816002

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1998/002050 Ceased WO1999004337A1 (fr) 1997-07-17 1998-07-13 Outil de mesure de code

Country Status (3)

Country Link
AU (1) AU8235298A (fr)
GB (1) GB9715061D0 (fr)
WO (1) WO1999004337A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535870B1 (en) * 2000-02-09 2003-03-18 International Business Machines Corporation Method of estimating an amount of changed data over plurality of intervals of time measurements
EP2007070A1 (fr) * 2007-06-18 2008-12-24 Avaya GmbH & Co. KG Procédé destiné à la représentation d'informations de processus pour une installation de traitement de données tout comme système de traitement des données
US7725881B2 (en) 2006-06-09 2010-05-25 Microsoft Corporation Automatically extracting coupling metrics from compiled code
RU2643045C2 (ru) * 2013-02-01 2018-01-30 Кембридж Консалтантс Лимитед Устройство для выдачи пены
EP3929752A4 (fr) * 2019-03-26 2022-12-07 Siemens Aktiengesellschaft Procédé, appareil et système d'évaluation de qualité de conception de code

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997002528A1 (fr) * 1995-07-06 1997-01-23 Bell Communications Research, Inc. Procede et systeme d'analyse fondee sur l'architecture, de la qualite de logiciels

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997002528A1 (fr) * 1995-07-06 1997-01-23 Bell Communications Research, Inc. Procede et systeme d'analyse fondee sur l'architecture, de la qualite de logiciels

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PAUL OMAN ET AL.: "Metrics for Assessing a Software System's Maintainability", PROCEEDINGS OF THE CONFERENCE ON SOFTWARE MAINTENANCE 1992, 9 November 1992 (1992-11-09) - 12 November 1992 (1992-11-12), ORLANDO, FLORIDA, pages 337 - 340, XP000366358 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535870B1 (en) * 2000-02-09 2003-03-18 International Business Machines Corporation Method of estimating an amount of changed data over plurality of intervals of time measurements
US7725881B2 (en) 2006-06-09 2010-05-25 Microsoft Corporation Automatically extracting coupling metrics from compiled code
EP2007070A1 (fr) * 2007-06-18 2008-12-24 Avaya GmbH & Co. KG Procédé destiné à la représentation d'informations de processus pour une installation de traitement de données tout comme système de traitement des données
RU2643045C2 (ru) * 2013-02-01 2018-01-30 Кембридж Консалтантс Лимитед Устройство для выдачи пены
EP3929752A4 (fr) * 2019-03-26 2022-12-07 Siemens Aktiengesellschaft Procédé, appareil et système d'évaluation de qualité de conception de code

Also Published As

Publication number Publication date
AU8235298A (en) 1999-02-10
GB9715061D0 (en) 1997-09-24

Similar Documents

Publication Publication Date Title
US7516368B2 (en) Apparatus, method, and computer product for pattern detection
US6625589B1 (en) Method for adaptive threshold computation for time and frequency based anomalous feature identification in fault log data
CN115729761B (zh) 一种硬盘故障预测方法、系统、设备及介质
CN106886481B (zh) 一种系统健康度静态分析预测方法及装置
EP2384389B1 (fr) Procédé et système de surveillance d'une opération de forage
CN118981601B (zh) 一种基于多源数据融合的隧道变形预测方法
CN111931334B (zh) 一种用于评估电缆设备运行可靠性的方法及系统
US7552035B2 (en) Method to use a receiver operator characteristics curve for model comparison in machine condition monitoring
CN117421735A (zh) 基于大数据漏洞挖掘的挖掘评估方法
Chen Two-tailed Buckley fuzzy testing for operating performance index
US20080275747A1 (en) Incident/accident report analysis apparatus and method
CN110008096A (zh) 数据监测方法、装置、电子设备及计算机可读存储介质
CN114553756A (zh) 基于联合生成对抗网络的设备故障检测方法与电子设备
CN110308713A (zh) 一种基于k近邻重构的工业过程故障变量识别方法
WO1999004337A1 (fr) Outil de mesure de code
CN113242213A (zh) 一种电力通信骨干网节点脆弱性诊断方法
EP3840319A1 (fr) Détecteur d'anomalies, réseau de détection d'anomalies, procédé de détection d'activité anormale, unité de détermination de modèles, système et procédé de détermination d'un modèle de détection d'anomalies
CN113656287B (zh) 软件实例故障的预测方法、装置、电子设备及存储介质
US7366639B2 (en) Methods for establishing alerts and/or alert limits for monitoring mechanical devices
CN119250540B (zh) 一种面向数字资产的网络安全管理方法与系统
CN106770861A (zh) 油浸式变压器在线监控数据可用性的评价方法
CN118760573B (zh) 基于性能的系统架构合理性评估方法和系统
CN118152994B (zh) 一种安全因素影响计算方法
CN120336190A (zh) 一种基于多维度数据的集成测试场景预测方法及系统
US7016809B1 (en) Method and system for automatically interpreting computer system performance measurements

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 09125757

Country of ref document: US

AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 1999506706

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase