基于依赖性分析的面向对象程序测试技术研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
软件测试是保证软件质量的重要手段,是一项成本昂贵、耗时耗力的复杂工作。面向对象程序分为方法级、类级、类簇级和系统级四个测试级别。研究发现,方法级、类级测试(单元测试)和类簇级测试(集成测试)是软件测试中关键的研究领域。本论文分别针对类单元测试中的路径覆盖测试数据生成问题和集成测试中类测试顺序的确定问题,研究面向对象程序测试技术及应用。
     类中的方法与传统程序中的过程(或函数)有一定区别,因此,本论文首先对包含异常处理结构的面向对象程序进行类簇级依赖性分析,研究异常处理结构对依赖性信息所造成的影响,进而准确地分析出程序中的控制流、数据流、控制依赖、数据依赖等信息,为系统的结构测试等软件工程的任务提供准确的信息。
     在程序依赖性分析的基础上,提出基于条件语句相关性的不可达路径静态检测方法:首先给出基于数据流信息的条件语句相关性判定原理,再利用条件语句相关性检测程序的不可达路径。本方法的创新点在于考虑了异常处理结构和别名对数据流信息的影响。实例分析结果表明,该方法可以提高路径的可达性检测结果的精确度,为有效解决路径覆盖问题奠定了基础。
     在路径可达性检测的基础上,针对基于路径覆盖的测试数据生成问题,提出了多路径覆盖测试数据生成方法。该方法首先将被测程序表示成控制流图,对目标路径采用语句标号结合分支走向的方法表示成混合串;然后采用遗传算法,一次执行生成多条路径各自的测试数据,设计的适应度函数综合考虑个体穿越的路径与每个目标路径的匹配程度。实验结果表明,该方法避免了冗余测试,有效提高了测试数据生成效率。
     类测试顺序的确定是类簇级测试中的一个重点和难点问题。针对只考虑类间静态依赖关系的情况下集成测试中的类测试序生成问题,以要被创建的测试桩的总体复杂度作为问题的优化目标,提出一种基于耦合度量的类间集成测试顺序的确定方法。该方法将类间耦合度量与基于图的启发式算法相结合,其中,前者用于度量每一个测试桩的复杂度,后者用于在保证测试桩总体复杂度尽可能小的条件下打破环路。首先提出一种度量中使用的耦合权重的计算方法,对测试桩的复杂度进行新的耦合度量;然后提出一种用于打破环路的基于图的启发式算法。实验结果表明,较现有方法相比,总体复杂度有明显的降低,节约了测试成本。
     在类间静态依赖关系构成环路的情况下,考虑面向对象中动态绑定特性以及抽象类不可实例化等特点,以被创建的测试桩的总个数作为问题的优化目标,提出一种基于测试级的类测试顺序确定方法。首先分析类之间的静态依赖和动态依赖关系;然后提出边的删除规则以及消除由静态依赖关系和动态依赖关系形成的环路的算法,在消除环路过程中保证测试桩的数目尽可能少;在此基础上进一步提出测试顺序分配策略和算法,进而确定基于测试级的类测试序列;但是,抽象类不可实例化的特点使得一些测试级不可行,因此,我们对其做了进一步调整,得到所有可行的测试级。实验结果表明,该方法较其它方法相比,需要较少的测试桩。
     本研究提高了测试数据的生成效率,并实现了自动生成类测试顺序的目标,一定程度上丰富了软件测试理论,具有重要理论意义和实际应用价值。
Software testing is an important mean to improve and guarantee software quality.It is an expensive, tedious and labor-intensive work. Object-oriented software testingmethod includes four levels: method level testing, class level testing, class clusterlevel testing/inter-class testing and system level testing. Studies show that methodlevel testing and class level testing (unit testing) and class cluster leveltesting/inter-class testing (integration testing) are key research areas in softwaretesting. Considering the characteristics of actual software under test, this paperinvestigates theories and applications of object-oriented programs, aiming atevolutionary generation problem of test data based on path coverage in unit testingand class-integration-test order determination problem in integration testing. The maincontents of the paper are listed as follows.
     Method level testing, methods in a class and the traditional procedures (orfunctions) have some differences in some situations. Therefore, this paper analyzesthe dependency information of object-oriented programs that containexception-handling constructs. Through studying the influence of exception-handlingconstruct on the program dependency information, we expect to obtain the accuratelyinformation such as control flow, data flow, control dependence and data dependenceinformation. They can provide accurate information for software engineering taskssuch as system architecture testing.
     On the basis of analyzing the dependency information, we propose a staticapproach to detecting infeasible basis path of programs with exception-handlingconstructs based on branch correlations of different conditional statements. First, wegive the judgment principles of correlation for conditional statement based ondataflow information, and then detect infeasible paths based on branch correlations ofdifferent conditional statements. The novelty of the dataflow information lies in thefact that it takes account of exception-handling constructs and pointer alias analysis.The results of case study show that the proposed method can further enhance theaccuracy of feasibility for the detected basis paths, laying a good foundation for us tosolve path covering problem efficiently.
     For the problem of test data generation based on path coverage, we propose amethod of multiple path coverage test data generation on the basis of determining thefeasibility of paths. First, the program under test is expressed as control flow graph, and the target paths are encoded into the form of combining statement label with flowdirection of branch (i.e. T and F); then, genetic alorithm is applied to generatemultiple test data, and the fitness function of an individual takes into account thematching degree of the traversed path and the target paths. The experimental resultsshow that the propose approach can avoid redundant test, improving the efficiency oftest data generation effectively.
     To solve the problem of determining class-integration-test order when only staticdependencies are considered and the overall complexity of created test stubs is takenas the optimization goal, we present an approach to determinng class-integration-testorder based on coupling measures. The technique combines inter-class couplingmeasurement and graph-based heuristic algorithm. The former is used to assess thecomplexity of each stub and the latter is used to break cycles with the minimumoverall complexity of stubbing. First, we propose a computing method of couplingweight used in coupling measure, by which each test stub complexity is reevaluated.Then, present an effective graph-based heuristic algorithm for breaking the cycles ofclass diagram. The experimental results show that our approach can make the overallstubbing complexity for breaking cycles reduced obviously, and lead to lowerintegration test cost.
     We also propose an approach to deal with class-integration-test order in thepresent of cyclic dependencies, in which both dynamic binding and abstract classesare taken into account. The number of created test stubs is taken as the optimizationgoal. First, inter-class static and dynamic dependencies are analyzed. Then, rules ofedge deletion are given, in addition, an algorithm of eliminating the cycles thatformed by static and dynamic dependency is presented, ensuring that the number oftest stubs is minimum. Furthermore, an integration testing order strategy and analgorithm are given, enabling class-integration-test order based on test-levelgeneration. However, abstract classes that cannot be instantiated make some testlevels infeasible. Therefore, we adjust the test order to make all of them feasible. Theproposed strategy needs less test stubs and can significantly improve test efficiencycompared to previous work.
     This research greatly enriched the theory of software testing, achieved the goalsof improving the efficiency of test data generation and automatically generating classtest order, therefore, it has great theoretical significance and practical applicationvalues.
引文
[1] BEIZER B. Software testing techniques[M]. India: Dreamtech Press,2002.
    [2]徐仁佐.软件可靠性工程[M].北京:清华大学出版社,2007.
    [3] SMITH M. D., ROBSON D. J. A framework for testing object-oriented programs[J]. Journalof Object-Oriented Programming,1992,5(3):45-53.
    [4]张广梅,李晓维,韩丛英.路径测试中基本路径集的自动生成[J].计算机工程,2007,33(22):195-197.
    [5] MCCABE T. J. A complexity measure[J]. IEEE Transactions on Software Engineering,1976,2(4):308-320.
    [6] BODIK R., GUPTA R., SOFFA M. L. Refining data flow information using infeasiblepaths[C]. Proceedings of the Sixth European Software Engineering Conference Held Jointlywith the Fifth ACM SIGSOFT International Symposium on Foundations of SoftwareEngineering,1997:361-377.
    [7] NGO M. N., Tan H. B. K. Detecting large number of infeasible paths through recognizingtheir patterns[C]. Proceedings of the Sixth Joint Meeting of the European SoftwareEngineering Conference and the ACM SIGSOFT Symposium on the Foundations ofSoftware Engineering,2007:215-224.
    [8] ABDURAZIK A., OFFUTT A. J. Using coupling-based weights for the class integration andtest order problem[J]. The Computer Journal,2009,52(5):557-570.
    [9] KUNG D., GAO J. Class firewall, test order, and regression testing of object-orientedprograms[J]. Journal of Object-Oriented Programming,1995,8(2):51-65.
    [10] GOODENOUGH J. Exception handling: Issues and a proposed notation[J]. Communicationsof the ACM,1975,18(12):683-696.
    [11] SINHA S., HARROLD M. J. Analysis and testing of programs with exception-handlingconstructs[J]. IEEE Transaction on Software Engineering,2000,26(9):849-871.
    [12]毛澄映,卢炎生.面向对象类簇级测试中控制依赖分析方法研究[J].计算机工程与科学,2005,27(8):65-69.
    [13] CHOI J. D., GROVE D., HIND M., SARKAR V. Efficient and precise modeling ofexceptions for the analysis of Java programs[J]. ACM SIGPLAN-SIGSOFT Workshop onProgram Analysis for Software Tools and Engineering,1999,24(5):21-31.
    [14]陈振强.基于依赖性分析的程序切片技术研究[D].南京:东南大学,2003.
    [15] OTTENSTEIN K. J., OTTENSTEIN L. M. The program dependence graph in a softwaredevelopment environment[C]. Proceedings of the ACM SIGSOFT/SIGPLAN SoftwareEngineering Symposium on Practical Software Development Environments,1984,77-184.Program dependence graphs and slicing in linear time.
    [16] HORWITZ S., REPS T., BINKLEY D. Interprocedural slicing using dependence graphs[J].ACM Transactions on Programming Languages and Systems,1990,12(1):26-60.
    [17] HARROLD M. J., ROTHERMEL G. Performing data flow testing on classes[C].Proceedings of the Second ACM SIGSOFT Symposium on Foundations of SoftwareEngineering,1994,154-163.
    [18] HARROLD M. J., LARSEN L. Slicing object-oriented software[C]. Proceedings of theEighteenth International Conference on Software Engineering,1996:495-505.
    [19] ALLEN M., HORWITZ S. Slicing Java programs that throw and catch exceptions[C].Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Semantics-BasedProgram Manipulation,2003,38(10):44-54.
    [20] SINHA S., HARROLD M. J., ROTHERMEL G. System-dependence-graph-based slicing ofprograms with arbitrary interprocedural control flow[C]. Proceedings of the InternationalConference on Software Engineering,1999,432-441.
    [21] CHEN J. L., WANG F. J. Flow analysis of class relationships for object-orientedprograms[J]. Journal of Information Science and Engineering,2000,16(4):619-647.
    [22]王志言,刘椿年.区间算术在软件测试中的应用[J].软件学报,1998,9(6):438-443.
    [23] COWARD P.D. Symbolic execution and testing[J]. Information and Software Technology,1991,33(1):53-64.
    [24] ANTONELLA S., GIGLIOLA V. Formula-based abstractions and symbolic execution formodel checking programs[J]. Microprocessors and Microsystems,2004,28(2):69-76.
    [25] POURVATAN B., SIRJANI M., HOJJAT H., ARBAB F. Automated analysis of reo circuitsusing symbolic execution[J]. Electronic Notes in Theoretical Computer Science,2009,255:137-158
    [26] MALEVRIS N. A path generation method for testing LCSAJs that restrains infeasiblepaths[J]. Information and Software Technology,1995,37(8):435-441.
    [27]陈蕊.程序中不可达路径的识别及其在结构测试中的应用[D].北京:中国科学院计算技术研究所,2006.
    [28] CHEN T., MITRA T., ROYCHOUDHURY A., SUHENDRA V. Exploiting branchconstraints without exhaustive path enumeration[C]. Proceedings of the Fifth InternationalWorkshop on Worst-Case Execution Time Analysis,2005:40-43.
    [29] GONG D., YAO X. Automatic detection of infeasible paths in software testing[J]. IETsoftware,2010,4(5):361-370.
    [30] GUPTA N., MATHUR A. P., SOFFA M. L. Generating test data for branch coverage[C].Proceedings of the Fifteenth IEEE International Conference on Automated SoftwareEngineering,2000,11-15.
    [31] BUENO P. M. S., JINO M. Identification of potentially infeasible program paths bymonitoring the search for test data[C]. Proceedings of the Fifteenth IEEE InternationalConference on Automated Software Engineering,2000:209-218.
    [32] NGO M. N., TAN H. B. K. Heuristics-based infeasible path detection for dynamic test datageneration [J]. Information and Software Technology,2008,50(7-8):641-655.
    [33] BALAKRISHNAN G., SANKARANARAYANAN S., IVANCIC F., WEI O., GUPTA A.SLR: path-sensitive analysis through infeasible-path detection and syntactic languagerefinement[M]. Lecture Notes in Computer Science,2008,5079:238-254.
    [34] DEMILLO R., OFFUTT A. J. Constraint-based automatic test data generation[J]. IEEETransactions on Software Engineering,1991,17(9):900-910.
    [35]陈继锋,沈均毅,王志海等.一种结构测试数据自动生成的框架[J].计算机工程,2007,33(8):6-9.
    [36] MILLER W., SPOONER D. L. Automatic generation of floating-point test data[J], IEEETransaction on Software Engineering,1976,2(3):223-226.
    [37] KOREL B. Automated software test data generation[J], IEEE Transaction on SoftwareEngineering,1990,16(8):870-879.
    [38] CALLAGHER M., NARASIMHAN V. L. ADTEST: A test data generation suite for Adasoftware systems[J]. IEEE Transaction on Software Engineering,1997,23(8):473-484.
    [39] GUPTA N., MATHUR A. P., SOFFA M. L. Automated test data generation using aniterative relaxation method [C]. Proceedings of the ACM Conference on the Foundations ofSoftware Engineering,1998:231-244.
    [40] KHURSHID S., SUEN Y. L. Generalizing symbolic execution to library classes[J]. ACMSIGSOFF Software Engineering Notes,2006,31(1):103-109.
    [41]王雪莲,赵瑞莲,李立健.一种用于测试数据生成的动态程序切片算法[J].计算机应用,2005,25(6):1445-1447.
    [42] MICHAEL C. C., MCGRAW G., SCHATZ M. A. Generating software test data byevolution[J]. IEEE Transations on Software Engineering,2001,27(12):1085-1110.
    [43] DURAN J. W., NTAFOS S. C. An evaluation of random testing [J], IEEE Transactions onSoftware Engineering,1984,10(4):438-444.
    [44] GREINER R. PALO: A probabilistic hill-climbing [J]. Artificial Intelligence,1996,84(1-2):177-208.
    [45] XU X., CHEN Y., LI X., et al. A path-oriented test data generation approach for automaticsoftware testing[C]. Proceedings of the Second International Conference onAnti-counterfeiting, Security and Identification,2008:63-66.
    [46] TRACEY N., CLARK J., MANDER K., et al. An automated framework for structuraltest-data generation[C]. Proceedings of the International Conference on Automated SoftwareEngineering,1998:285-288.
    [47] WINDISCH A., WAPPLER S., WEGENER J. Applying particle swarm optimization tosoftware testing [C]. Proceedings of Genetic and Evolutionary Computation Conference,2007:1121-1128.
    [48]胡岳峰,高建华.一种面向对象测试数据自动生成的混合算法[J],计算机应用研究,2008,25(3):786-788,802.
    [49] SOFOKLEOUS A. A., ANDREOU A S. Automatic, evolutionary test data generation fordynamic software testing[J]. The Journal of System and Software,2008,81(11):1883-1898.
    [50] CHAN K. P., CHEN T. Y., TOWEY D. Restricted random testing: adaptive random testingby exclusion[C]. Proceedings of International Journal of Software Engineering andKnowledge Engineering,2006,16(4):553-584.
    [51] CHEN T. Y., KUO F. C., MERKEL R. G., et al. Adaptive random testing: the ART of testcase diversity [J]. The Journal of Systems and Software,2010,83(1):60-66.
    [52][XANTHAKIS S., ELLIS C., SKOURLAS C., et al. Application of genetic algorithms tosoftware testing[C]. Proceedings of the Fifth International Conference on SoftwareEngineering and Its Applications,1992:625-636.
    [53] WEGENER J., BARESEL A., STHAMER H. Evolutionary test environment for automaticstructural testing [J]. Information and Software Technology,2001,43(14):841-854.
    [54] LIN J., YEH P. Automatic test data generation for path testing using GAs[J]. InformationSciences,2001,131(1-4):47-64.
    [55] BUENO P. M. S., JINO M. Automatic test data generation for program paths using geneticalgorithms[J]. International Journal of Software Engineering and Knowledge Engineering,2002,12(6):691-709.
    [56] WATKINS A., HUFNAGEL E. M. Evolutionary test data generation: a comparison of fitnessfunctions[J]. Software Practice and Experience,2006,36(1):95-116.
    [57] HERMADI I., LOKAN C., SARKER R. Genetic algorithm based path testing: challengesand key parameters[C]. Proceedings of the Second WRI World Congress on SoftwareEngineering,2010:241-244.
    [58] AHEMD M. A., HERMADI I. GA-based multiple paths test data generator[J]. Computer&Operations Research,2008,35(10):3107-3124.
    [59]巩敦卫,张岩.一种新的多路径覆盖测试数据进化生成方法[J].电子学报,2010,38(6):1-6.
    [60] CAO Y., HU C., LI L. M. Search-based multi-paths test data generation for structure-orientedtesting[C]. Proceedings of the First ACM/SIGEVO Summit on Genetic and EvolutionaryComputation,2009:25-32.
    [61] BRIAND L., FENG J., LABICHE Y. Experimenting with genetic algorithms to deviseoptimal integration test orders. Technical Report SCE-02-03[R]. Carleton University,2002.
    [62] WANG Z.S., LI B. Using coupling measure technique and random iterative algorithm forinter-class integration test order problem[C]. Proceedings of the ThirtyFourth Annual IEEEComputer Software and Applications Conference Workshops,2010:329-334.
    [63] TAI C., DANIELS F. J. Interclass test order for object-oriented software[C]. Proceedings ofthe TwentyFirst International Computer Software and Applications Conference,1997:602-607.
    [64] HANH V., AKIF K., TRAON Y., JEZEQUEL J. Selecting an efficient oo integration testingstrategy: An experimental comparison of actual strategies[C]. Proceedings of the FifteenthEuropean Conference on Object-Oriented Programming,2001:381-401.
    [65] LE TRAON Y., JERON T., JEZEQUEL J. M., MOREL P. Efficient object-orientedintegration and regression testing[J]. IEEE Transactions on Reliability,2000,49(1):12-25.
    [66] BRIAND L. C., LABICHE Y., WANG Y. An investigation of graph-based class integrationtest order strategies[J]. IEEE Transaction on Software Engineering,2003,29(7):594-607.
    [67] MAO C.Y., LU Y.S. Aicto: An improved algorithm for planning inter-class test order[C].Proceedings of the Fifth International Conference on Computer and Information Technology,2005:927-931.
    [68] KRAFT N. A, LLOYD E. L., MALLOY B. A, CLARKE P. J. The implementation of anextensible system for comparison and visualization of class ordering methodologies[J].Journal of Systems and Software,2006,79(8):1092-1109.
    [69] JAROENPIBOONKIT J., SUWANNASART T. Finding a test order using object-orientedslicing technique[C]. Proceedings of the Fourteenth Asia-Pacific Software EngineeringConference,2007:49-56.
    [70] LABICHE Y., THéVENOD-FOSSE P., WAESELYNCK H., DURAND M H. Testing levelsfor object-oriented software[C]. Proceedings of the TwentySecond International Conferenceon Software Engineering,2000:136-145.
    [71] PARADKAR M. Inter-class testing of O-O software in the presence of polymorphism[C].Proceedings of the Conference of the Centre for Advanced Studies on CollaborativeResearch,1996:137-146.
    [72]李都.测试顺序选择策略研究[J].计算机工程与设计,2008,29(4):781-783.
    [73] Clarke, P. J., Power, J. F., Babich, D., King, T. M.,2010. A Testing Strategy for AbstractClasses. Software testing, Verification and Reliability.
    [74]吴晓周.软件测试综述[J].软件导刊,2009,8(5):5-6.
    [75] KING S., HAMMOND J., CHAPMAN R., PRYOR A. Is proof more cost-efective thantesting?[J]. IEEE Transactions on Software Engineering,2000,26(8):675-686.
    [76] HUBERTY D.软件质量和软件测试[M].北京:清华大学出版社,2003.
    [77]齐丽娜.基于测试顺序的类集成测试方法研究与应用[D].上海:上海师范大学,2007.
    [78] MIDIAN P. Perspectives on penetration testing—black box vs. white box[J]. Networksecurity,2002,11:10-12.
    [79] AFZAL W., TORKAR R., FELDT R. A systematic review of search-based testing fornon-functional system properties[J]. Information and Software Technology,2009,51(6):957-976.
    [80] LIU S., CHEN Y. A relation-based method combining functional and structural testing fortest case generation[J]. The Journal of Systems and Software,2008,81(2):234-248.
    [81] VOAS J., MORELL. L., MILLER K. Predicting Where Faults Can Hide from Testing[J].IEEE Software,1991,8(2):41-48.
    [82] HOLLAND J. H. Adaptation in nature and artificial systems [M], Michigan: The Universityof Michigan Press,1975.
    [83] KOPPOL P. V., CARVER R. H., TAI K. C. Incremental integration testing of concurrentprograms [J]. IEEE Trasactions on Software Engineering,2002,28(6):607-623.
    [84]王正山.基于ORG的OO软件测试技术研究[D].合肥:合肥工业大学,2005.
    [85]孙跃勇.面向对象的软件测试研究[D].复旦大学,2002.
    [86]高海昌,冯博琴,李远杰,曾明.基于扩展ORD图的类间集成测试顺序改进算法[J].小型微型计算机系统,2007,28(4):725-728.
    [87] Software Testing Online Resources (STORM), http://www.mtsu.edu/~storm.
    [88]毛澄映.面向对象程序分析与测试技术研究[D].武汉:华中科技大学,2006.
    [89] SHI L., XU B. W., CHEN L., ZHOU X. Y. SQAS: A Platform for Software Analysis andTesting and Testing[J]. Journal of Electronics&Computer Science,2005,7(1):37-46.
    [90]裴玉,徐启文,李宣东,郑国梁.一个模型检验工具[J].软件学报,2005,16(3):355-364.
    [91]李留英,王戟,齐治昌. UML statecharts的测试数据生成方法[J].计算机研究与发展,2001,38(6):691-697.
    [92] CAI K. Y., CHEN T. Y., TSE T. H. Towards research on software cybernetics[C].Proceedings of the Seventh IEEE International Symposium on High-Assurance SystemsEngineering,2002,1-6.
    [93]李必信,刘小东,郑滔,李宣东,郑国梁.一种面向对象程序的分层切片方法[J].软件学报,2001,12(12):1810-1817.
    [94]毛澄映,卢炎生,谢晓东,江胜,顾海波.一个C/C++程序集成测试平台的设计与实现[J].小型微型计算机系统,2007,28(6):1037-1043.
    [95]金大海,宫云战,杨朝红,肖庆.运行时异常对软件静态测试的影响研究[J].计算机学报,2011,34(6):1090-1099.
    [96] SHAN J. H., WANG J., QI Z. C., WU J. P. Improved method to generated path-wise test data[J]. Journal of Computer Science and Technology,2003,18(2):235-240.
    [97]赵瑞莲,闵应骅.一种基于规范和程序域分析的软件测试方法[J].计算机研究与发展,2003,40(6):846-855.
    [98] CHEN H. Y., TSE T. H., CHAN F. T., et al. In black and white: An integrated approach toclass level testing of object-oriented programs[J]. ACM Transactions on SoftwareEngineering and Methodology,1998,7(3):250-295.
    [99] CHEN H. Y., TSE T. H., CHEN T. Y. TACCLE: A methodology for object-orientedsoftware testing at the class and cluster levels[J]. ACM Transactions on SoftwareEngineering and Methodology,2001,10(1):56-109.
    [100]孙玉霞,陈火炎.面向对象软件簇级的一种动态测试工具的设计与实现[J].小型微型计算机系统,2003,24(3):376-379.
    [101]王雅文.基于缺陷模式的软件测试技术研究[D].北京:北京邮电大学,2009.
    [102] http://indus.projects.cis.ksu.edu/
    [103] KUNG D., GAO J., HSIA P., et al. Developing an object-oriented software testing andmaintenance environment[J]. Communications of the ACM,1995,38(10):75-87.
    [104] DOONG R. K., FRANKL P. G. The ASTOOT approach to testing object-orientedprograms[J]. ACM Transactions on Software Engineering and Methodology,1994,3(2):101-130.
    [105] ALKADI I. S., CARVER D. L. A testing assistant for object-oriented programs[C].Proceedings of the IEEE Aerospace Conference,1998,4:149-158.
    [106] http://www.microfocus.com/products/micro-focus-developer/devpartner/index.aspx.
    [107] http://en.wikipedia.org/wiki/BoundsChecker.
    [108] HASTINGS R., JOYCE B. Purify: fast detection of memory leaks and access errors[C].Proceedings of the Winter USENIX Conference,1992:125-136.
    [109] http://gcc.gnu.org/onlinedocs/gcc/Gcov.html.
    [110] Java Source Code Instrumentation[EB/OL].http://www.glenmccl.com/instr/instr.htm.
    [111] SEESING A., ORSO A. InsECTJ: a generic instrumentation framework for collectingdynamic information within Eclipse[C]. Proceedings of the OOPSLA workshop on Eclipsetechnology eXchange,2005:45-49.
    [112] CHEN Z. Q., XU B. W. Dependency analysis based dynamic slicing for debugging [J].Wuhan University Journal of Natural Sciences,2001,6(1-2):398-404.
    [113] CHEN Z. Q., XU B. W., et al. An approach to analyzing dependency of concurrentprograms[C]. Proceedings of the First AsiaPacific Conference on Quality Software,2000:39-43.
    [114]徐宝文.一种逆向程序流依赖性分析方法及其应用[J].计算机学报,1993,16(5):385-392.
    [115]姜淑娟.异常传播分析技术及其应用研究[D].南京:东南大学,2006.
    [116] JOHMANN K. R., et al. Context-dependent flow-sensitive interprocedural dataflowanalysis[J]. Software Maintenance: Research and Practice,1995,7:177-202.
    [117]赵雪峰,姜淑娟,张艳梅.面向对象程序的异常传播分析方法[J].计算机工程,2011,37(11):94-96,102.
    [118] http://www.codeproject.com/KB/database/CppSQLite.aspx.
    [119]姜淑娟,徐宝文,史亮.一种基于异常传播分析的数据流分析方法[J].软件学报,2007,18(1):74-84.
    [120]王雅文,宫云战,肖庆,杨朝红.扩展区间运算的变量值范围分析技术[J].北京邮电大学学报,2009,32(3):36-41.
    [121] HEDLEY D., HENNELL M. A. The causes and effects of infeasible paths in computerprograms[C]. Proceedings of the Eighth International Conference on Software Engineering,1985:28-30.
    [122] MCCABE T. J. Structural testing: a software testing methodology using the cylomaticcomplexity metric [M]. Washigton D. C, NIST Special Publication500-99,1982.
    [123] SHELEKHOV V I., KUKSENKO S V. Data flow analysis of Java programs in the presenceof exceptions [J]. Lecture Notes in Computer Science,2000,1755/2000,389-395.
    [124]蒋立源,康慕宁.编译原理[M].西安:西北工业大学出版社,2006.
    [125]李健,刘坚.流敏感的跨过程指针别名分析[J].计算机应用,2004,24(3):112-114.
    [126]唐鹏飞.考虑指针别名的静态分析技术研究[D].成都:电子科技大学,2007.
    [127] SOOT, A Java bytecode optimization framework. http://www.sable.mcgill.ca/soot/.
    [128]姚香娟.复杂软件测试数据进化生成理论及应用[D].徐州:中国矿业大学,2011.
    [129] SIR. A repository of software-related artifacts meant to support rigorous controlledexperimentation. Available at: http://sir.unl.edu/portal/index.html.
    [130] TARJAN R. Depth-first search and linear graph algorithms[J]. SIAM Journal onComputing,1972,1(2):146-160.
    [131] LABICHE Y. Incremental class testing from a class test order. Technical ReportSCE-05-06[R]. Carleton University,2005.
    [132]申小荣.面向对象类簇级测试及其应用[D].太原:太原理工大学,2004.
    [133] SINHA S., ORSO A., HARROLD M. Automated support for development, maintenance,and testing in the presence of implicit control flow[C]. Proceedings of the TwentySixthInternational Conference on Software Engineering,2004,336-345.
    [134] FU C., RYDER B. Exception-chain analysis: revealing exception handling architecture inJava server applications[C]. Proceedings of the TwentyNinth International Conference onSoftware Engineering,2007,230-239.
    [135] SANE A., RANADIVE P., SAH S. Data dependency analysis using data-write detectiontechniques[C]. Proceedings of the Second International Conference on SoftwareTechnology and Engineering,2010: V1-9-V1-12.
    [136] SINHA S., HARROLD M., ROTHERMAL G. Interprocedural control dependence[J]. ACMTransactions on Software Engineering and Methodology,2000,10(2):1-38.
    [137] LI H., PENG Y., YE X., YUE J. Test sequence generation from combining propertymodeling and program slicing[C]. Proceedings of the ThirtyFourth Annual IEEE ComputerSoftware and Applications Conference Workshops,2010,23(4):524-528.
    [138] JO J. W., CHANG B. M., YI K., CHOE K.M. An uncaught exception analysis for Java[J].The Journal of Systems and Software,2004,72(1):59-69.
    [139] PAPADAKIS M., MALEVRIS N. A symbolic execution tool based on the elimination ofinfeasible paths[C]. Proceedings of the Fifth International Conference on SoftwareEngineering Advances,2010,435-440.
    [140] PAPADAKIS M., MALEVRIS N. An effective path selection strategy for mutation testing[C]. Proceedings of the Sixteenth Asia-Pacific Software Engineering Conference,2009,422-429.
    [141]姜淑娟,徐宝文,史亮,周晓宇.一种基于异常传播分析的依赖性分析方法[J].软件学报,2007,18(4):832-841.
    [142] ZHANG Z., MEI L. An improved method of acquiring basis path for software testing[C].Proceedings of the Fifth International Conference on Computer Science and Education,2010,1891-1894.
    [143] ROBILLARD M., MURPHY G. Static analysis to support the evolution of exceptionstructure in object-oriented systems[J]. ACM Transactions on Software Engineering andMethodology,2003,12(2):191-221.
    [144]王立新.软件测试数据的高效生成及测试方法研究[D].上海:东华大学,2010.
    [145]侯芸,顾刚,高海昌,郭斌.一种路径覆盖自动生成的改进方法[J].计算机工程,2007,33(4):67-69.
    [146] CLARKE P. J., BABICH D., KING T. M., POWER J. F. Intra-class testing of abstract classfeatures[C]. Proceedings of the Eighteenth IEEE International Symposium on SoftwareReliability,2007,191-200.
    [147] WANG Y., GONG Y., CHEN J., XIAO Q., YANG Z. An application of interval analysis insoftware static analysis [C]. Proceedings of the International Conference on Embedded andUbiquitous Computing,2008,367-372.
    [148] KALAJI A. S., HIERONS R M., SWIFT S. Generating feasible transition paths for testingfrom an extended finite state machine (EFSM) with the counter problem[C]. Proceedings ofthe Third International Conference on Software Testing, Verification, and ValidationWorkshops,2010,232-235.
    [149] YAN J., ZHANG J. An efficient method to generate feasible paths for basis path testing[J].Information Processing Letters,2008,87-92.
    [150] ANANTHANARAYANAN R., CHENRHAMARAKAHAN V., HENG C., DESHPANDEP. M., KRISHNAPURAM R., MOHAMMED S. K. Dependency analysis framework forsoftware service delivery[C]. Proceedings of the IEEE International Conference on ServicesComputing,2009,89-96.
    [151] PATEL C., HAMOU-LHADJ A., RILLING J. Software clustering using dynamic analysisand static dependencies[C]. Proceedings of the Thirteenth European Conference onSoftware Maintenance and Reengineering,2009,27-36.
    [152] MURRILL W. An empirical, path-oriented approach to software analysis and testing[J].Journal of Systems and Software,2008,81(2):249-261.
    [153] RAZA M. W. Comparison of class test integration ordering strategies[C]. Proceedings ofthe IEEE Symposium on Emerging Technologies,2005,440-444.
    [154]王正山.基于ORG的OO软件测试技术研究[D].合肥:合肥工业大学,2005.
    [155] BORNER L., PAECH B. Integration test order strategies to consider test focus andsimulation effort[C]. Proceedings of the First International Conference on Advances inSystem Testing and Validation Lifecycle,2009,80-85.
    [156]邱晓康,李宣东.一个面向路径的软件测试辅助工具[J].电子学报,2004,32(12A):231-234.
    [157]宋洁.软件测试技术及自动测试工具的实现[D].北京:北京邮电大学,2007.
    [158]万琳,肖庆,宫云战.结构测试中的可达路径选择方法[J].计算机工程,2003,29(2):42-36.
    [159]潘丽丽,邹北骥,王天锷,陈浩.基于关键分支的不可达路径确定方法[J].北京工业大学学报,2010,36(5):716-720.
    [160] HU J., DING Z., PU G. Path-based approach to integration testing[C]. Proceedings of theThird IEEE International Conference on Secure Software Integration and ReliabilityImprovement,2009,445-446.
    [161]汪小飞,赵克佳,田祖伟.数据流分析的关键技术研究[J].计算机科学,2005,32(12):91-93.
    [162]李文瑞.基于Petri网的软件测试技术研究[D].无锡:江南大学,2011.
    [163] BANSAL P., SABHARWAL S., SIDHU P. An investigation of strategies for finding testorder during integration testing of object oriented applications[C]. Proceedings of theInternational Conference on Methods and Models in Computer Science,2009,1-8.
    [164] Borner L., Paech B. Using dependency information to select the test focus in the integrationtesting process[C]. Proceedings of the Testing: Academic and IndustrialConference-Practice and Research Techniques,2009,135-143.
    [165] LI Z., MAIBAUM T. An approach to integration testing of object-oriented programs[C].Proceedings of the Seventh International Conference on Quality Software,2007,268-273.
    [166] SAGLIETTI F., PINTE F., SOHNLEIN S. Integration and reliability testing forcomponent-based software systems[C]. Proceedings of the ThirtyFifth EuromicroConference on Software Engineering and Advanced Applications,2009,368-374.
    [167] HASHIM N. L., SCHMIDT H. W., RAMAKRISHNAN S. Test order for class-basedintegration testing of Java applications [C]. Proceedings of the Fifth InternationalConference on Quality Software,2005,11-18.
    [168]王凌飞.基于V模型改进的测试行为的软件可靠性分析[D].西安:西安电子科技大学,2007.
    [169] DELAHAYE M., BOTELLA B., GOTLIEB A. Explanation-based generalization ofinfeasible path[C]. Proceedings of the Third International Conference on Software Testing,Verification and Validation,2010,215-224.
    [170] BOUMEN R., DE JONG I. S. M., MESTROM J. M. G., MORTEL-FRONCZAK J. M.,Rooda J E. Integration and test sequencing for complex systems[J]. IEEE Transactions onSystems, Man and Cybernetics, Part A: Systems and Humans,2009,39(1):177-187.
    [171] SUHENDRA V., MITRA T., ROYCHOUDHURY A., CHEN T. Efficient detection andexploitation of infeasible paths for software timing analysis[C]. Proceedings of theFortyThird annual Design Automation Conference,2006,358-363.
    [172] ERROL L., BRIAN A. A study of test coverage adequacy in the presence of stubs[J].Journal of Object Technology,2005,4(5):117-137.
    [173] PILONE D., PITMAN N. UML2.0in a Nutshell (Photocopy Edition)[M]. SoutheastUniversity Press (in Chinese).
    [174] SAMUEL P., SURENDRAN A. Forward slicing algorithm based test data generation[C].Proceedings of the Third IEEE International Conference on Computer Science andInformation Technology,2010,8:270-274.
    [175]周燕,宋敬华.面向对象的集成测试顺序的研究[J].计算机测量与控制,2010,18(9):2014-2018.
    [176]卢炎生,毛澄映.面向对象簇级测试中类间测试序确定方法研究[J].小型微型计算机系统,2005,26(6):995-999.
    [177] BRIAND L. C., LABICHE Y., WANG Y. H. Revisiting strategies for ordering classintegration testing in the presence of dependency cycles[C]. Proceedings of the TwelvethInternational Symposium on Software Reliability Engineering,2001.287-296.
    [178]闫大顺,姜淑娟.一种分析异常传播路径的方法[J].计算机工程,2008,34(8):50-52.
    [179]郑磊.面向对象集成测试的分层增量测试策略[D].上海:上海交通大学,2007.
    [180]曾恒烽.基于面向对象软件多态特性的MM路径自动生成[D].北京:北京化工大学,2010.
    [181]王正山.混合遗传算法在面向对象软件集成测试中的应用[J].计算机应用,2008,28(5):1341-1343.
    [182] LI X., CHEN D., XIE L. Data dependence analysis in the presence of inheritance andpolymorphism[C]. Proceedings of the Fourth International Conference/Exhibition on HighPerformance Computing in the Asia-Pacific Region,2000,1:220-228.
    [183]于劲松,张帆,万九卿.基于故障相关矩阵的最优测试顺序生成方法[J].计算机测量与控制,2009,17(6):1077-1083.
    [184]李远杰,周国征,刘凤晨.一种类间测试顺序改进算法[J].计算机工程,2010,36(8):74-82.
    [185] YANO T., MARTINS E., DE SOUSA F. L. Generating feasible test paths from anexecutable model using a multi-objective approach[C]. Proceedings of the ThirdInternational Conference on Software Testing, Verification, and Validation Workshops,2010,236-239.
    [186] BARDIN S., HERMANN P. Structural testing of executables[C]. Proceedings of the FirstInternational Conference on Software Testing, Verification, and Validation,2008,22-31.
    [187]何涛.基于UML的面向对象的类测试研究[D].武汉:武汉大学,2004.
    [188]袁玉宇.软件测试与质量保证[M].北京:北京邮电大学出版社,2008.
    [189]李津. Java程序模型验证中的程序建模问题研究[D].长沙:湖南师范大学,2008.
    [190]李军,李艳辉,彭存银.基于自适应遗传算法的路径测试数据生成[J].计算机工程,2009,35(2):203-205.
    [191] ZHUANG X., ZHANG T., PANDE S. Using branch correlation to identify infeasible pathsfor anomaly detection[C]. Proceedings of the ThirtyNinth Annual IEEE/ACM InternationalSymposium on Microarchitecture,2006,113-122.
    [192]张志华,牟永敏.基于函数调用的路径覆盖生成技术研究[J].电子学报,2010,38(8):1808-1811.
    [193] HAMMER C., GRIMMEM J. Dynamic path conditions in dependence graphs[C].Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-BasedProgram Manipulation. Charleston: ACM,2006,58-67.
    [194]李必信,李宣东,郑国梁.一种对传统依赖图进行面向对象扩充的方案[J].软件学报,2001,12(2):241-248.
    [195] YUE T., BRIAND L. C., LABICHE Y. Automated traceability analysis for UML modelrefinements[J]. Journal of Information and Software Technology,2009,51(2):512-527.
    [196] JAROENPIBOONKIT J., SUWANNASART T. Class ordering tool-a tool for classordering in integration testing[C]. Proceedings of the International Conference on AdvancedComputer Theory and Engineering,2008,724-728.
    [197]胡兴园.分布估计算法在测试用例自动生成中的研究与应用[D].广州:中山大学,2009.
    [198]李必信.程序切片技术及其在面向对象软件定量和软件测试中的应用[D].南京:南京大学,2000.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700