Zhang Ce (张 策), Cui Gang, Meng Fanchao, Liu Hongwei, Bian Yali
(*School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, P.R.China)(**School of Computer Science and Technology, Harbin Institute of Technology at Weihai, Weihai 264209, P.R.China)
A software reliability growth model for component-based software incorporating debugging delay and imperfect debugging*
Zhang Ce (张 策)****, Cui Gang*, Meng Fanchao**, Liu Hongwei*, Bian Yali**
(*School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, P.R.China)(**School of Computer Science and Technology, Harbin Institute of Technology at Weihai, Weihai 264209, P.R.China)
In view of the problems and the weaknesses of component-based software (CBS) reliability modeling and analysis, and a lack of consideration for real debugging circumstance of integration testing, a CBS reliability process analysis model is proposed incorporating debugging time delay, imperfect debugging and limited debugging resources. CBS integration testing is formulated as a multi-queue multichannel and finite server queuing model (MMFSQM) to illustrate fault detection process (FDP) and fault correction process (FCP). A unified FCP is sketched, given debugging delay, the diversities of faults processing and the limitations of debugging resources. Furthermore, the impacts of imperfect debugging on fault detection and correction are explicitly elaborated, and the expressions of the cumulative number of fault detected and corrected are illustrated. Finally, the results of numerical experiments verify the effectiveness and rationality of the proposed model. By comparison, the proposed model is superior to the other models. The proposed model is closer to real CBS testing process and facilitates software engineer’s quantitatively analyzing, measuring and predicting CBS reliability.
software reliability, component-based software (CBS), debugging delay, imperfect debugging, queuing theory
Software reliability plays a very important role in the software life cycle, especially in the development phase. With the improvement of scale and complexity of software, the development of object-oriented techniques, component-based software (CBS) has been widely used, and this research on CBS reliability has already become the focus of study in recent years.
CBS testing process can be divided into unit testing, integration testing and system testing. Most of research efforts available concentrate on the integration testing stage. For example, for architecture-based software reliability, Gokhale[1]represented a unified framework model based on state, and CBS reliability prediction was carried out using an analytical method. In Ref.[2], the reliability of individual component was evaluated firstly, and then the whole system reliability was predicted. Likewise, Ref.[3] assessed the whole CBS reliability by calculating the execution path reliability based on the reliability of component and system structure. The CBS reliability was analyzed dynamically through calculating and evaluating execution path reliability of three standard structures in program in Ref.[4]. These research efforts focus on directly calculating CBS reliability, but give little consideration to reliability improvement analysis.
In real software testing, the faults detected go through a series of processes: detecting, isolating, analysing, allocating, correcting and verifying, and there exist delays[5]. For example, Ref.[6] carried out an analysis of delay between fault detection process (FDP) and fault correction process (FCP), and concluded that mean value function (MVF) of FCP can be obtained by failure density functionλd(t)ofFDPandtimedelayΔ.Ref.[7]gotMVFofFCPbyintroducingadelayimpactfactorφ(t).Consideringthedelayinfaultcorrecting,thenumberofcorrectedlagsbehindthenumberofdetectedin[0,t], and often there are circumstances that the faults detected are waiting to be corrected. So, applying queuing theory into software testing becomes a natural choice. For instance, Kapur[8]employed an infinite server queue to build a relatively unified software reliability analysis model, conducted the reliability analysis of different types of fault correction process and achieved good effect finally. Huang[9]finished the software reliability analysis using finite and infinite server queue, and considered the change point problem[10]. Lin[11]used a single queue multichannel model to make an analysis of perfect and imperfect debugging based on simulation, and incorporated debugging delay and the limitations of debugging resources. Hou[12]adopted a hybrid queue model to conduct CBS reliability analysis considering the incompleteness and unlimited debuggers, but the shortages were the absences of considering debugging delay and introducing new faults.
Thus it can be seen that, in these software reliability studies available including CBS based on analytical model or simulation, some studies have involved explicit correction efforts and delay between FDP and FCP, but the study of real debugging process is still not deep and thorough, and there are still some insufficiencies in the following aspects:
(1) There are too many assumptions in analyses available: ignore the sub-processes of debugging and time delay, debugging is perfect, and no new faults are introduced[5-8];
(2) The severity and the differences of faults detected in testing are ignored;
(3) The research efforts[6-11]above are not suited to reliability analysis of CBS integration testing;
(4) Furthermore, the debuggers are regarded as unlimited.
In response to the problems and deficiencies of extant research, this study is mainly concentrated on the CBS reliability analysis when incorporating debugging delay, limited debugging resources and imperfect debugging in the integration testing stage.
Let CBSSconsists ofNcomponents, that isS={Ci, 1≤i≤N}. CBS integration testing ofScan be described as a multi-queue multichannel and finite server queuing model (MMFSQM), as shown in Fig.1.
Fig.1 Multi-queue multichannel and finite server queuing model considering debugging delay and imperfect debugging
Fig.1 is a gray-box test model, which executes the integration testing based on an operation profile of CBS. In order to describe accurately the testing process, testing is divided into FDP and debugging process. Thereinto, FDP denotes detecting faults by testers and debugging process can be furthermore partitioned into isolating, analyzing (determining the root), allocating and correcting. As shown in Fig.1, debugging process includes fault analysis process (FAP) and fault correction process (FCP), and there exist debugging delays. FCP consists of different types of fault correction queues and debugging resources to accomplish fault correcting. The faults of componentCienter different fault correction queueFCQjaccording to the fault allocation strategy (FAS) and are allocated debugging resources in the light of current queues state. Here, debugging resources mainly refer to as the debuggers of queues.
Compared with perfect debugging, there will exist incomplete debugging and introduction of new faults in the debugging process. So, there will be two feedback lines between FCP and FDP, and both cases might be called imperfect debugging in this work.
Testing begins at the component level and different reliability enhancement techniques are appropriate according to complexity, function and important place of different components. Obviously, the faults from different components will go through different sub-processes of FAP and be allocated to different correction queues of FCP, due to complexity and severity. In order to reflect the diversity of debugging, the faults detected from components could be divided into two groups:C=FC∪FG.
(1)ThefaultsfromcriticalcomponentCiare classified into serious fault setFC;
(2) The faults from the other componentCjare classified into simple fault setFG.
Hereon, the faults outputted by FDP are allocated to different correction queues by FAS. Accordingly, we setVfault correction queues, the maximum capacity of each queue to bemi(1≤i≤V) and the queues can be classified into two kinds of fault correction queues:
(1) Serious fault correction queueFCQFC: serious faultFCentersFCQFCaccording to first come first server (FCFS);
(2) Simple fault correction queueFCQFG: simple faultFGentersFCQFGaccording to FCFS.
Compared to available queue models with unlimited debuggers[8,9,12], each fault correction queue of FCP consists of limited debuggers.
The subsequent analysis is based on the following assumptions[8-15]:
(1) Let the failure process satisfy non-homogeneous poisson process (NHPP) distribution, that is (easy to be proven) time interval of failure is random variable with the same distribution of exponential type;
(2) In the process of CBS testing, detecting, isolating, determining root and correcting are independent;
(3) Debugging process is imperfect, that is, there exist incomplete debugging and introducing new faults;
(4) The failures among the components are independent.
By the assumptions and analysis above, the CBS integration testing process consists of anM/M/V/miqueue system with multi types of service windows.
2.1 The unified CBS integration testing process analysis considering debugging delay
It is assumed that random variableXis the moment of detecting fault in the integration testing and the faultwoccurs atx(0≤x≤T).Let random variableZbe the time of fault isolating and determining the root with probability distribution functionZ(t) and probability density functionz(t) and random variableYbe the time of fault correction byFCQiwith probability distribution functionF(t) and probability density functionf(t).
Due to limited debuggers of MMFSQM, faultwwill enter into the waiting queue when it cannot be allocated debugging resources timely. Thus, considering the actual working process of MMFSQM, there will be following cases where faultwis corrected in [x,T]:.
Faultwis removed thoroughly with probabilitypand is unfinish corrected (includingwin waiting queue and in correcting) with probabilityr. Furthermore, incorporating imperfect debugging, incomplete correction and introduction of new faults are denoted by probabilityqandh(h<
Let random variableKbe the number of debuggers andkbe the number of available debuggers att. Due to limited debuggers, the probability of the debuggers being idle attisk(t).
Hereon, it is supposed that a complete fault correction process needs to go through detection, isolation, determining root cause and correction sub-processes. So, letNjd(t),Nji(t),Njs(t) andNjr(t) be four stochastic counting processes representing fault detecting, isolation, determining root and correction respectively. Obviously, it can be drawn:
P{Njr(t)=m}
(1)
whereaj(t) is the number of total faults of componentCjin [0,t],mjd(t) is the cumulative number of faults detected fromCjandpj(t) is the probability of complete fault correction in correcting queue. It was clear that when considering imperfect debuggingaj(t) is the increasing function with testing timet, and whenaj(t) is large especiallyaj(t)→∞,itcanbegot:
(2)
BasedonthenatureofPoissondistributionprocess,itcanbegot:
mjr(t)=mjd(t)pj(t)
(3)
2.2CBSintegrationtestinganalysisconsideringtwotypesoffaultdebuggingdelay
IntheintegrationtestingofCBS,theseverityandcomplexityofdifferentcomponentsareconsiderablydifferent.Duetocentralkeybusinessfunctionality,thefaultscomingfromcomplexandcriticalcomponent(forexample,fault-tolerantcomponent)willbecorrectedgoingthroughmultiplesub-processes.Bycontrast,thefaultsfromsimpleandnon-criticalcomponentcanbecorrectedgoingthroughonlyrelativelysmallnumberofsub-processes.Ofcourse,differentlevelsofimperfectdebuggingphenomenamayexistduetosomeuncertaininfluencefactorsduringthedebuggingprocessabove.
Consideringfaultseverity,limiteddebuggersandimperfectdebugginginMMFSQM,theperformanceofCBSintegrationtestingprocessanalysisincludestwotypesoffaults.ThesetwokindsoffaultsrefertoseriousfaultFcand simple faultFsrespectively.
2.2.1 The correction process of serious fault considering debugging delay
For serious faultFc∈FC,thetimespentfromdetectiontocorrectionisthelongest.Hereon,itisassumedthatFcwill go through detecting, isolating and correcting sub-processes. Based on the assumptions above, the following can be got:
P{Y≤t-y∩X=x∩Z=y∩K =P{Y≤t-y∩X=x∩Z=y}×P{K =P{Y≤t-y|X=x}×P{X=x}×P{Z=y} ×P{K =F(t-y)×P{X=x}×P{Z=y}×P{K (4) Atsomepoint,theprobabilitythatfaulthasbeencorrectedorbeingcorrectedisp1+r1=1-q1-h1. Based on the analysis above, the following can be obtained: p1+r1=1-q1-h1 (5) LetfaultFcenterFCQFCand the probability of complete correction inFCQFCisρc1.So, (6) Here,letP{K (7) whereldenotes the number of faults being corrected andβ1isapositiveconstant.ForcomponentCj, attfailure probability is (8) whereκjistheexecutiontimeproportionofCjin the integration testing of CBSS: (9) Among these parameters,pijis transition probability fromCitoCj,ω=[ωi]representsexecutionprobabilityofCiin steady state andtijdenotes mean execution time ofCiwhen the transition (Ci,Cj) occurs. Substitute Eqs(6)~(9) into Eq.(3), the following equation can be derived as (10) 2.2.2Thecorrectionprocessofsimplefaultconsideringdebuggingdelay Hereon,itisassumedthatsimpleFg∈FGwillgothroughdetectingandcorrectingtwosub-processes.TakingsimplefaultFgfromCs, correction process analysis is done. Also, like serious fault above, the following can be got: (11) msr(t)=msd(t)ps2(t) (12) whereps2(t) is the probability that fault is removed completely in correcting queue. p2+r2=1-q2-h2 (13) LetfaultFgenterFCQFGand complete correction probability inFCQFGisρs2.So ps2(t)=ρs2×(p2+r2) (14) SubstituteEq.(14)intoEq.(12),withsimplification,Eq.(15)canbeobtained: msr(κst)=msd(κst)ρs2×(p2+r2) (15) Obviously,whenconsideringmoresub-processesofdebugging,mjr(κjt)andmsr(κst)willbecomecomplicated. 2.2.3FaultdetectionandcorrectionofCBSintegrationtestingconsideringdebuggingdelay Exponentialdistributionisusuallytakentobecumulativedistributionfunctionofservicetime(namelyfaultcorrectiontime).SoletfaultcorrectiontimespentinqueuesofMMFSQMobeyparameterμexponentdistribution.ThusF(y)=1-e-μyisgotwithprobabilitydensityfunctionf(y)=dF(y)/dy=μe-μy.Substitutef(y) into Eq.(10) and Eq.(15), with simplification, one can be obtained: (16) The cumulative number of faults detected and corrected of CBSSin [0,t] can be derived as (17) 2.3 Fault detection and correction of CBS integration testing considering debugging delay and imperfect debugging Here, the reliability modeling of componentCiis mainly based on G-O model[13]and imperfect debugging. In subsequent analysis, MMFSQM is formulated based on the following assumptions: (1) Fault detection rate is proportional to the number of faults undetected, andbi(t) is the proportion function; (2) Fault correction is incomplete with probability functionpi(t); (3) New faults can be introduced during correction, fault introduction rate is proportional to the number of faults corrected and the probability function isri(t)(ri(t)< Based on the assumptions above, differential equations can be derived as (18) Solving the differential equations above with the boundary conditions of:mi(0)=0,ai(0)=ai,c(0)=0yields: (19) (20) Forsimplicityandtractability,letbi(t)=b;pi(t)=p;ri(t)=r, so Eq. (19) can be simplified as (21) Substitute Eq.(21) into Eq.(17), the cumulative number of detected and corrected of CBSSin the integration testing can be derived as (22) In this study, incorporating debugging delay and imperfect debugging into integration testing of CBS, we refer to the proposed model as debugging delay and imperfect debugging-CBS reliability growth modeling (DDID-CBSRGM). 3.1 Numerical example In recent years, performing software reliability analysis and generating failure data by simulation[9-11,16](based on discrete event simulation) have been greatly used. Without CBS failure data set available, we verify the potential of proposed model: DDID-CBSRGM through a CBS reported in Ref.[17] as an illustration example that has been extensively used[12,16]. The layout of the specified CBS application is depicted in Fig.2 and transition probabilities among the components are shown in Table 1. Fig.2 Architecture of a CBS Table 1 Transition probabilities among the components P1,2=0.60P1,3=0.20P1,4=0.20P2,3=0.70P2,5=0.30P3,5=1.00P4,5=0.40P4,6=0.60P5,7=0.40P5,8=0.60P6,3=0.30P6,7=0.30P6,8=0.10P6,9=0.30P7,2=0.50P7,9=0.50P8,4=0.25P8,10=0.75P9,8=0.10P9,10=0.90 3.2 Parameter settings In the previous work, CBS simulation procedure has been developed considering imperfect debugging, and performed fault detection and correction analysis. On that basis, letbi=0.0085 andai=40(1≤i≤N). In integration testing, correction rate is related to the skillful degree of debuggers, testing environment and other many factors and cannot be accurately estimated. Without loss of generality, let correction rateμi=0.04. The extent of imperfect debugging is determined by fault introduction rateri, letri=0.15. Here, simulation procedure is exploited to get failure data set of CBS integration testing. Due to page-limitations, it is not in this paper (contact the author for more information on it). In identifying critical component, critical component is considered to be the one that has more interactive exchange with the other components[2]. So, execution probabilityωiofthecomponentsinsteadystateiscalculated,andthemaximumvalueofω1andω5ofC1andC5is discovered in 10 components in Fig.2. Moreover, Ref.[16] determines thatC1andC5are critical components by means of simulation. Thus, the faults fromC1andC5enter serious fault correction queue:FCQ1andFCQ2, and the faults from the other components enter simple fault correction queue:FCQ3. 3.3 Evaluation Criteria To evaluate the models,MSE,Variance,RMS-PEandR-squareare used to measure the potential performances of the models. (23) (24) (25) (26) thereinto,m(ti) represents the estimated value of faults by timeti,yidenotes the cumulative number of faults detected andnis the sample size of the real failure data set. Obviously, smaller values ofMSE,Variance,RMS-PEand the closer to 1 ofR-squareindicate a better model than the others. 3.4 Performance validation and analyses First, the operation processes ofFCQ1,FCQ2andFCQ3are carried out in the case of different debuggers utilizing CBS simulation procedure and the corresponding residual faults profiles in waiting queue are obtained, as shown in Fig.3. As can be seen from Fig.3, the cumulative number of faults waiting to be corrected continues to fall inFCQ1,FCQ2andFCQ3, as the number of debuggers increases. Thereinto, the faults in waiting queue ofFCQ1andFCQ2are corrected completely when the debugger is 9 persons (i.e.DebuggerFCQ1=DebuggerFCQ2=9) at the testing time of 4000 and 5000 respectively. This indicates that allocating 9 persons toFCQ1andFCQ2can meet the requirement for real testing. By contrast, due to the large number of initial faults inFCQ3, the number of debugger required to be allocated is larger than that ofFCQ1andFCQ2accordingly. It is clearly observed that there are no faults in waiting queue ofFCQ3under the condition ofDebuggerFCQ3=29 andt=5000, from the diagram in Fig.3(c). Fig.3 Open-remaining fault profile Fig.4 illustrates the fault profiles including detection and correction ofFCQ1,FCQ2andFCQ3in case of the numbers of debugger allocated to three queues above. It can be seen fault correction profile of CBSSlags behind evidently the detection profile. It indicates that there exists debugging delay in fault correction process and sub-process of correction can not be ignored. Moreover, as Fig.4 shows, the number of faults corrected is the same with that of faults detected whent=4000, 5000 and 5000 forFCQ1,FCQ2andFCQ3, which indicates that all the faults detected have been corrected completely. Fig.4 Fault profile ofFCQ1,FCQ2andFCQ3 Next, to validate the effectiveness of DDID-CBSRGM, it is compared with CBS reliability models available and imperfect debugging models. These models encompass Hou model[12], the models obtained by applying three imperfect debugging models proposed respectively by Kapur[8], Pham[18], Ohba[19]to CBSSin Fig.2, and the model obtained by DDID-CBSRGM without considering debugging delay and imperfect debugging. Hereon, these models can be referred as Hou model, Pham model, Ohba model, Kapur model and CBSRGM respectively. Fig.5 illustrates graphically the comparisons between the observed failure data, and the data estimated by the six models above. From Fig.5(f), the estimated results of DDID-CBSRGM are very close to real fault correction profile especially beforet=2500. By contrast, the other five models engender large errors in different degrees. Fig.5 Observed and estimated cumulative number of corrected faults versus time In order to makes a further analysis and comparison on the performances, comparison criterion results of performance of six models have been calculated, as shown in Table 2. Table 2 Comparison results of different models It is observed that the valuesMSE,VarianceandRMS-PEare the lowest (104.5748, 16.4357 and 17.8973, respectively) among the models considered. Besides, we also see that the value ofR-squareis also the nearest to 1(0.92642), which demonstrates that DDID-CBSRGM achieves maximum performance in all these models. The reason for this is that, the proposed model incorporates debugging delay and imperfect debugging into reliability modeling, so DDID-CBSRGM has a more accurate description of real debugging process. Moreover, in the other five models, Hou model and CBSRGM have a better performance than the other three models. The probable explanation is that fault detection functions of Hou model and CBSRGM can describe accurately the failure situation than the other three models. In Kapur model, Pham model and Ohba model, the performance of Pham model is inferior to the other two models. This is because Pham model ignores debugging delay, and fault detection rate functionb(t) of imperfect debugging model proposed is too subjective and can not describe real testing environment. Altogether, from the Fig.5 and Table 2, it can be concluded that the proposed analytical model built by DDID-CBSRGM has a more accurate description of the fault detection and correction process of CBS integration testing, due to considering real testing process. Especially, the proposed model explicitly incorporates debugging delay of different serious faults and imperfect debugging phenomena, making DDID-CBSRGM perform the better performance than the others. Furthermore, as a practical matter, software engineer can select and set appropriate parameters to conduct experiment based on historical data, and obtain quantitatively insightful information tightly related to software testing and reliability evaluation, and determine the best decision reference on software development and testing resources allocation. The major contribution of this paper is that we establish multi-queue multichannel and finite server queuing model with limited debuggers, and explicitly elaborates the impacts of debugging delay and imperfect debugging on CBS integration testing. The practical numerical example justifies that the proposed DDID-CBSRGM illustrates more accurately the integration testing process, explores a more efficient approach for research on CBS reliability growth model and the results reveal that the proposed model has better performance as compared to the other models. In particular, CBS integration testing is very complex, stochastic process involving various factors and sub processes, so incorporating more real situations into CBS reliability model is a main research direction. The research trends mainly encompass fault tolerant component reliability configuration, test coverage, incorporating testing effort (TE), the differences in transition probability and operational profile, and changeable structure into CBS reliability modeling and analysis, etc. [1] Gokhale S S, Trivedi K S. Analytical models for architecture-based software reliability prediction: a unification framework.IEEETransonReliability, 2006, 55(4): 578-590 [2] Palviainen M, Evesti A, Ovaska E. The reliability estimation, prediction and measuring of component-based software.TheJournalofSystemsandSoftware, 2011, 84: 1054-1070 [3] Lo J H, Huang C Y, Chen I Y, et al. Reliability assessment and sensitivity analysis of software reliability growth modeling based on software module structure.TheJournalofSystemsandSoftware, 2005, 76: 3-13 [4] Hsu C J, Huang C Y. An adaptive reliability analysis using path testing for complex component-based software systems.IEEETransonReliability2011, 60(1): 158-170 [5] Yuan F Q, Kumar U. A general imperfect repair model considering time-dependent repair effectiveness.IEEETransonReliability, 2012, 61(1): 95-100 [6] Wu Y P, Hu Q P, Xie M, et.al. Modeling and analysis of software fault detection and correction process by considering time dependency.IEEETransonReliability, 2007, 56(4): 629-642 [7] Huang C Y, Lin C T. Software reliability analysis by considering fault dependency and debugging time lag.IEEETransonreliability, 2006, 55(3): 436-450 [8] Kapur P K, Anand S, Inoue S, et al. A unified approach for developing software reliability growth model using infinite server queuing model.InternationalJournalofReliability,QualityandSafetyEngineering, 2010, 17(5): 401-424 [9] Huang C Y, Huang W C. Software reliability analysis and measurement using finite and infinite server queueing models.IEEETransonReliability, 2008, 57(1):192-203 [10] Huang C Y, Hung T Y. Software reliability analysis and assessment using queueing models with multiple change-points.ComputersandMathematicswithApplication, 2010, 60:2015-2030 [11] Lin C T. Analyzing the effect of imperfect debugging on software fault detection and correction processes via a simulation framework.MathematicalandComputerModelling, 2011, 54: 3046-3064 [12] Hou C Y, Cui G, Liu H W, et al. A hybrid queueing model with imperfect debugging for component software reliability analysis.IntelligentAutomationandSoftComputing, 2011, 17(5): 559-570 [13] Goel A L, Okumoto K. Time-dependent error-detection rate model for software reliability and other performance measures.IEEETransonReliability, 1979, R-28(3): 206-211 [14] Xie M, Yang B. A study of the effect of imperfect debugging on software development cost.IEEETransonSoftwareEngineering, 2003, 29(5): 471-473 [15] Huang W C, Huang C Y, Sue C C. Software reliability prediction and assessment using both finite and infinite server queueing approaches. In: Proceedings of the 12th Pacific Rim International Symposium on Dependable Computing, 2006: 194-201 [16] Gokhale S S, Lyu M R. A simulation approach to structure-based software reliability analysis.IEEETransonSoftwareEngineering, 2005, 31(8): 643-656 [17] Cheung R C. A user-oriented software reliability model.IEEETransonSoftwareEngineering, 1980, SE-6(2): 118-125 [18] Pham H, Lars N, Zhang X M. A general imperfect-software-debugging model with s-shaped fault-detection rate.IEEETransonReliability, 1999, 48(2): 169-175 [19] Ohba M, Chou X. Does imperfect debugging affect software reliability growth? In: Proceedings of the 11th International Conference on Software Engineering, Pittsburgh, USA, 1989: 237-244 Zhang Ce, born in 1978. He received Bachelor and Master degrees of computer science and technology from Harbin Institute of Technology (HIT) and Northeast University (NEU), China in 2002 and 2005, respectively. He has been a Ph.D. candidate of HIT major in computer system structure since 2010. His research interests include software reliability modeling and Trusted Computing (TC). 10.3772/j.issn.1006-6748.2015.01.008 *Supported by the National High Technology Research and Development Program of China (No. 2008AA01A201), the National Natural Science Foundation of China (No. 60503015), the National Key R&D Program of China (No. 2013BA17F02) and the Shandong Province Science and Technology Program of China (No. 2011GGX10108, 2010GGX10104). *To whom correspondence should be addressed. E-mail: zhangce@hitwh.edu.cnReceived on Dec. 4, 2013 High Technology Letters2015年1期3 Numerical illustration
4 Conclusions