APP下载

Software Maintainability Evaluation Based on Quantitive Model

2015-01-12HAOXueliang郝学良WANGYigang王毅刚LIULi

关键词:匿名性代币加密算法

HAO Xue-liang (郝学良), WANG Yi-gang(王毅刚), LIU Li(刘 丽)

Maintenance Engineering Institute, Mechanical Engineering College, Shijiazhuang 050003, China

Software Maintainability Evaluation Based on Quantitive Model

HAO Xue-liang (郝学良)*, WANG Yi-gang(王毅刚), LIU Li(刘 丽)

MaintenanceEngineeringInstitute,MechanicalEngineeringCollege,Shijiazhuang050003,China

Software maintainability is one of the most important factors of software quality, but it is seriously difficult to evaluate the maintainability. Without evaluation, it is impossible to control. To estimate software maintainability state, parameter system of software was built up and maintainability state was defined into three states. Thought of application on maintainability evaluation based on hidden Markov chain (HMC) and fuzzy inference was presented. Three-state maintainability estimation model was constructed. To testify the feasibility of the model, a real example of software maintenance activity was carried out and the result from the example validated that the results of this study were applicable.

softwaremaintainability;hiddenMarkovchain(HMC)model;fuzzyinference;evaluationmodel

Introduction

Improving software system quality has been the most crucial problem to be solved in information-based support. It is reported that cost of software maintenance ranged from 60% to 80% of total software cost. Maintainability is one of the most important factors affecting quality. Besides, software maintenance is the most difficult episode in software life circle[1]. Software maintainability evaluation is becoming a problem to be solved with no hesitate.

Parameter combination testing is a more pracitcal and effective method for the maintainabilty of various software, because many defects of software system are caused by input parameter interations[2]. Finite state automata is applied to generating maintainence data for evaluation models[3-4]. Besides, many researches aim at generating testing data of software maintenance. Those covearges are used to generate feasible tarnsition path, which is required by test cases[5]. We hope to get a maintainabilty evaluation method to minimize the evaluation cost so as to control the software maintainabiliy.

1 Parameters System

Based on analysis of factors affecting maintainability, software maintainability index system should be built up in consideration of maneuverability, feasibility, maturity and dynamic continuity, which must be computable and statistical and reflect the need of software users. General maintainability parameter system is as follows.

1.1 Time-related parameters

Average maintenance time is the ration of total directly maintenance time to total number of maintenance events. The index can be sensed by users and be used to estimate the maintainability by maintenance time.

Average delay time is the ratio of the total delay time to maintenance time in set condition and time. Because of the specialization of maintenance, delay time mainly consists of waiting time. It suits for any coding mode, and reflects the maintenance status in software managing and maintenance time.

Reconfiguring time is the time what system needs in reconfiguring its function or turning into new work configuration after system fault or failure. It suits for any coding language and the parameter is evaluated by the length of time.

1.2 Cost-related parameters

Average maintenance man-hour is the maintenance times for each maintenance work reflecting the amount of maintain work.

It suits for any coding language and can be regarded as top layer parameter of maintainability, evaluating the ease of change by maintenance effort[6].

Maintenance man-hour rate reflects the effectiveness of maintenance for maintenance phase. It is used to evaluate the maintenance difficulty through the effectiveness.

Yearly average maintenance cost is theratio of average maintenance cost in stated time to average work years, evaluating the ease of change by maintenance cost.

2 Software Maintainability Estimation Based on Hidden Markov Chain (HMC) Model

2.1 State transformation model

区块链本质上是一种去中心化的、节点与节点之间地位平等的数据库,其概念首次出现在中本聪的《比特币:一种点对点式的电子现金系统》一文中[1]。区块链通过运用加密算法、时间戳、共识机制和奖励机制,帮助陌生的节点建立了信任,目前广泛应用于代币以及分布式系统之中。区块链有着匿名性与安全性的特点,避免了中心化带来的数据丢失风险和管理问题。在区块链基础上,又延伸出超级账本、智能合约等概念。作为区块链中构建信任的核心,共识机制也愈发受到学界的不断关注。

Fig.1 Maintainability state transformation process

2.2 Maintainability state recognition

(1)

Figure 1 describes the relevant net structure and transformation of software maintainability state.

3 Fuzzy Inference Evaluation of Maintainability Infecting Factors Value

(2)

Correctitude triangle fuzzy numbers corresponding to weight value and grade value of index are shown in Table 1.

Table 1 Correctitude triangle fuzzy number corresponding to weight value and grade value of index

ImportanceCorrectitudefuzzynumberTrianglemanifestgradeCorrectitudefuzzynumberVeryunimportant(0,0,0.25)Verybad(0,0.1,0.2)Unimportant(0,0.25,0.5)Bad(0.2,0.3,0.4)Normal(0.25,0.5,0.75)Normal(0.4,0.5,0.6)Important(0.5,0.75,1.0)Good(0.6,0.7,0.8)Veryimportant(0.75,1.0,1.0)Verygood(0.8,0.9,1)

(2) Clear value of weight is acquired by computing with relative distance formula.

(5) The estimated value of each evaluating factor is resorted by size from small to big. Fuzzy measuregλof each factor is separately accounted according to the value ofλandgk.

(6) Fuzzy inference valueFis accounted based on

(3)

4 Experimental Measuring of Certain Software Maintainability Based on Fuzzy Inference

4.1 Fuzzy inference evaluation

The index estimated value is acquired through investigation of software users. In this investigation, 100 questionnaire papers were handed out while 93 were called back. Weight value came from judgment of experts. During the study, 10 related experts were invited to judge the importance of the index. Weight value and manifesting value of each index of comprehensive opinion and inquired person opinion are shown in Table 2.

Table 2 Fuzzy weight value and manifesting value of each maintainability index

IndexFuzzyweightvalueFuzzymanifestingvalueY11(0.05,0.30,0.55)(0.56,0.66,0.76)Y12(0.25,0.50,0.75)(0.16,0.26,0.36)Y13(0.40,0.65,0.90)(0.20,0.30,0.40)Y21(0.4,0.65,0.59)(0.32,0.42,0.86)Y22(0.53,0.57,0.60)(0.10,0.35,0.60)Y3(0.40,0.65,0.90)(0.40,0.55,0.87)Y41(0.28,0.38,0.48)(0.60,0.85,0.95)Y42(0.45,0.65,0.55)(0.48,0.55,0.59)

(1) Weight of each evaluating factor to software. Fuzzy weight value is accounted according to data in Table 2.

(3)Estimationofeachfactorisaccountedas:

y1=0.385 7.

Similarly,

y2=0.384 8,y3=0.452 1,y4=0.390 2.

gλ(A1)=0.888 6,gλ(A2)=0.800 5,
gλ(A3)=0.659 2,gλ(A4)=0.434 3.

(6)Fuzzyinferenceestimationvalueofmaintainabilityisaccountedas:

4.2 Analysis based on the accounting result

The software have been finished within 3 years and fulfilled the prior requirement. But seen from the account result, the maintainability of this software is not good enough since the fuzzy inference value of maintainability is 0.363 3, far smaller than 1. The reasons of summarizing this conclusion are as follows. (1) Low satisfaction of maintenance time with manifesting value. The development process of the software is also a maintenance process lasting nearly half years so the satisfaction of maintenance time is low. (2) Low satisfaction of maintenance man-hour with manifesting value mostly because of low understandability. (3) Fair good maintenance cost satisfaction with manifesting value. It benefits from the reasonable configuration of maintenance personnel. (4) Synthetically satisfaction value manifests that no effective system has formed in the process of maintainability design and maintenance activity.

5 Conclusions

Favorable software maintainability is important to guarantee software run well and reduce the cost of software maintenance. Internal infecting factors and maintenance progress are both important for maintainability. HMC model is constructed to describe the maintainability of software transformation and software maintainability is estimated based on fuzzy inference theory.

[1] Mccabe T J. A Complexity Measurement [J].IEEETransactiononSoftwareEngineering, 1976, 2(4): 302-308.

[2] Kumar R. Differential Sampling for Fast Frequency Acquisition via Adaptive Least Squares Algorithm[C]. Proceeding of the International Telemetering Conference, San Diego, CA, USA, 1987: 134-138.

[3] Halstead M H. Elements of Software Science [M]. Amsterdam: Elsevier North-Holland, 1977: 23-28.

[4] Gao J H, Zhang D. Construcitng Test fork-nSoftware System[J].JournalofDonghuaUniversity, 2012, 29(3): 263-267

[5] Sprenkle S, Sampath S, Gibson E,etal. An Empirical Comparison of Test Suit Reduction Techniques for User-Session-Based Testing of Web Applications[C]. Proceedings of the 1st IEEE Interational Conference on Software Maintenance(ICSM), Shenzhen, China, 2005: 168-174.

[6] Richard L. A Survey of Communicaton Protocol Testing[J].JournalofSystemsandSoftware, 2002, 34(5): 23-28

[7] Hurd W, Statman J I. Hish Dynamic GPS Receiver Using Maximum Likelihood Estimation and Frequency Tracking[J].IEEETransactionsonAES, 1987, 21(3): 134-145.

[8] Mohammad A, Wei L. An Empirical Validation of Object-Oriented Metrics in Two Different Iterative Software Processes [J].IEEETransactionsonSoftwareEngineering, 2003, 29(11): 1043-1049.

[9] Liu Z Y, Yang G X, Cai L Z. Software Test Case Generation with Adequacy Analysis on Scenario-Based Testing[J].JournalofDonghuaUniversity, 2011, 28(2): 139-144.

[10] Deligiannis I, Shepperd M, Roumeliotis M,etal. An Empirical Investigation of an Object-Oriented Design Heuristic for Maintainability [J].TheJournalofSystemsandSoftware, 2003, 65(2): 127-139.

[11] Hitz M, Montazeri B. Measuring Coupling and Cohesion in Object Oriented Systems [C]. Proceedings of International Symposium on Applied Corporate Computing, San Francisco, CA, USA, 1995: 75-84.

[12] Pooley R, King P. The Unified Modeling Language and Performance Engineering [J].IEEEProceedingsofSoftware, 1999, 146(1): 2-10.

[13] Zarrs A, Issarny V. A Framework for Systematic Synthesis of Transactional Middleware [C].Proceedings of Middleware, Zurich, 1998: 257-272.

[14] Ma L L, Guo F L, Wu Z H. A Metadata Model Based on Coupling Testing Information to Increase Testability of Component[J].JournalofDonghuaUniversity, 2008, 25(1): 58-64.

[15] Gao J H. Research of the Control Domain of Edges in Regression Testing[J].JournalofDonghuaUniversity, 2005, 22(3): 57-61.

TP311.5 Document code: A

1672-5220(2015)01-0154-03

Received date: 2014-08-08

*Correspondence should be addressed to HAO Xue-liang, E-mail: hxl056700@163.com

猜你喜欢

匿名性代币加密算法
首次代币发行监管的行为经济学路径
央行等七部门叫停各类代币发行融资
央行等七部门叫停各类代币发行融资
央行等七部门叫停各类代币发行融资
去个体化心理分析
微信弹性社交中的失范行为分析
基于小波变换和混沌映射的图像加密算法
Hill加密算法的改进
对称加密算法RC5的架构设计与电路实现
基于概率论的发送者匿名性度量模型