用户名: 密码: 验证码:
软件智能进化模型及其实现机制研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着网络和计算机技术的快速发展,用户需求呈现多样性和多变性趋势,软件的规模和复杂度也大幅提高,软件开发的生产率不能满足用户需求的快速增长,伴随而来的是软件成本越来越高,软件维护压力也日益增大,这是软件进化研究逐渐受到重视的一个主要驱动力。软件进化是指在软件生命周期内对软件行为进行变更的活动。
     从研究的内容和方向来看,软件进化已经走过了两个阶段:1.软件静态进化研究,即对软件进化的过程进行分析,为软件开发提供一定的指导性规律和辅助工具等;2.软件动态进化研究,即通过对软件开发语言和软件实现体系结构进行分析,提供支持软件动态变更的技术。但是,由于软件进化的技术本身往往会导致软件开发过程的复杂度提高,或者软件运行效率的降低,这样就使得技术的可用性降低。为了解决这个方面的问题,很多研究人员开始尝试通过人工智能等相关技术实现软件进化过程的自动化,本文把软件进化的智能化发展看作是软件进化研究的第三个阶段,即软件智能进化。
     软件智能进化的目标是通过需求工程、人工智能等方法来实现软件进化的自动化。本文构建了软件智能进化概念模型,并研究了该模型在实现过程中的部分关键问题,主要包括:
     (1)基于多版本冗余的思想,提出了一种支持容错的软件动态进化实现机制。软件动态进化是指在软件运行过程中对其行为进行变更的活动,包括软件系统组成部分的新增、更新和删除等。此外,在软件动态进化的实现过程中还面临着容错、状态冲突等相关问题。本文的动态进化实现机制包含了软件动态更新机制、容错机制,并通过时间戳机制解决了状态冲突问题。多版本共存的思想也为支持多样性需求提供了实现基础。
     (2)在领域特征模型的研究基础上,提出一种支持特征标注的需求模型。领域工程是为特定领域软件应用的开发建立可复用软件产品的活动,领域特征模型则是一种面向特征的领域需求模型,通过记录领域中相对稳定的特征以及特征之间的关联来反映整个领域的软件需求。本文的需求模型通过特征标注机制和特征调整机制实现了需求模型与应用模型的绑定和同步变化。
     (3)构建了版本选择组合优化问题的形式化模型,并对其进行求解。软件智能进化模型的智能决策部分主要为不同用户提供最优化的版本组合。在使用遗传算法对其进行求解的过程中,软件组件之间复杂的关联关系使得该问题的求解空间规模巨大,而且随着软件组件数量增加呈指数级增长,表现出严重的基因连锁问题。为了解决这个问题,基于软件系统本身的无标度特性,提出一种组合优化问题的改进算法,使得问题求解空间的规模得到明显下降,并通过实验验证了该方法的有效性。
     (4)构建了软件变更影响传播模型,为软件变更影响传播范围的预测提供了依据。在软件架构中,软件组件之间存在复杂的关联关系,这种复杂的关系导致软件的变更可能引起不可预知的灾难。软件变更影响分析通过分析软件资源信息为软件进化提供变更影响范围和软件进化的规模。本文对多个Java软件系统类调用关系进行了提取,对软件变更影响传播规律进行分析,并通过仿真实验验证了传播模型的有效性。
Along with the rapid progress of network and computer technology, the user requirement presents the trend of diversity and variability, which highly increase the scale and complexity of the software. In this situation, the pro-ductivity of software development cannot meet the rapid growth of user re-quirements. And the cost of software become much higher and the pressure of software maintenance become much greater. That is why the research of software evolution gets more and more attention. Software evolution is used to refer to the activities of changing software behavior during their lifecycles.
     From the perspective of research content and direction, software evolution research has gone through two stages:1. Software static evolution research, which provide some objective laws and assistant tools for software develop-ment based on the analysis of the software evolution process;2. Software dy-namic evolution research, which provide the theory and technology of software dynamic updating based on the study of software language and architecture. But most of the technology of software evolution will increase the complexity of software development, or result in the loss of performance, which reduce the practicality of these technologies. In order to solve the problem, some re-searchers try to improve the automation of software evolution process through artificial intelligent and relevant technologies. In this paper, we take the in-telligent trend of software evolution as the new stage of software evolution-software intelligent evolution.
     The target of software intelligent evolution is try to improve the automa-tion of software evolution based on requirement engineering, artificial intelli-gent and some other methods. In this paper, we build a conceptual model of software intelligent evolution, and try to solve some key issues in the imple- mentation process of the model, which are listed as follows:
     (1) Present a fault-tolerant software dynamic evolution mechanism based on multi-version redundancy. Software dynamic evolution is used to refer to the activities of changing software behavior when it is running, such as the ADD, UPDATE and DELETE operations of software components. In the pro-cess of realization, there are some problems to be solved, such as fault-tolerant, state migration, etc. In this paper, we present the software update mechanism, fault-tolerant mechanism and solve the state migration problem through the timestamp mechanism. The coexistence of multi-versions provides the founda-tion to the diversity of requirement.
     (2) On the basis of domain feature model, present a requirement model with feature labeling. Domain engineering is the activities to build reusable software products for the development of software application in specific do-main. Domain feature model is a feature oriented requirement model for do-mains, and it can reflect the requirement of the entire domain by recording the steady features and the connections between them. In this paper, we can bond the requirement model with the application model by the feature label-ing mechanism, and keep them change synchronously by the feature adjusting mechanism.
     (3) Provide a formal model for version selection combinatorial optimiza-tion problem, and solve it. The intelligent decision part of software intelligent evolution process is mainly used to provide the optimal version combination for different users. In the solving process with GA, the complex interaction between components result in an enormous scale of solution space and it ac-cumulates exponentially as the number of components increases. In order to solve the problem, provide an optimal algorithm based on the scale-free char-acteristic of software system, and reduce the scale of the solution space. The experiments verify the effectiveness of the algorithm.
     (4) Build a software change impact propagation model, and provide a method to predict the propagation range of change. The components of soft- ware have complex relevance between each other. It increases the risk of the software evolution. The research works on software change impact analysis can analyze the impact range of software change and predict the scale of soft-ware evolution. In this paper, we extract the invoking relationship of some Java software, and analyze the rules of software change impact propagation. The simulation experiment verifies the availability of the model.
引文
[1]IEEE-SA Standards Board. IEEE standard for software maintenance (IEEE Std 1219-1998) [S]. IEEE Press,1999.
    [2]Jarzabek S. Effective software maintenance and evolution:A reuse-based approach [M]. Boca Ra-ton, New York:Auerbach Publication,1997.
    [3]Eastwood A. Firm fires shots at legacy systems [J]. Computing Canada.1993,19 (2):17.
    [4]Harrison R. Maintenance giant sleeps undisturbed in federal data centers [J]. Computer world.1987, 9:81-86.
    [5]Lientz B P, Swanson E B. Problems in application software maintenance [J]. Communications of the ACM.1981,24(11):763-769.
    [6]Erlikh L. Leveraging legacy system dollars for e-business [J]. IT Professional.2000,2 (3):17-23.
    [7]Abran A, Nguyenkim H. Measurement of the maintenance process from a demand-based perspec-tive [J]. Journal of Software Maintenance:Research and Practice.1993,5 (2):63-90.
    [8]Bennett K H, Rajlich V T. Software maintenance and evolution:a roadmap [C]. In Proceedings of the Conference on the Future of Software Engineering. Limerick, Ireland,2000:73-87.
    [9]Grubb P, Takang A A. Software maintenance:concepts and practice [M]. Danvers, MA, USA:World Scientific Pub Co Inc.,2003.
    [10]Pigoski T M. Practical Software Maintenance:Best Practices for Managing Your Software Invest-ment [M]. New York, USA:John Wiley and Sons Inc.,1996.
    [11]Arnold R S. Software Reengineering [M]. Los Alamitos, CA, USA:IEEE Computer Society Press, 1993.
    [12]JChikofsky E, Cross J H. Reverse engineering and design recovery:a taxonomy [J]. IEEE Software. 1990,7(1):13-17.
    [13]Lehman M M. Programs, life cycles, and laws of software evolution [J]. Proceedings of the IEEE (Special Issue on Software Evolution).1980,68 (9):1060-1076.
    [14]Lehman M M, Ramil J F, Wernick P D, et al. Metrics and laws of software evolution-the nineties view [C]. In Proceedings of the Fourth International Software Metrics Symposium.1997:20-32.
    [15]IEEE-SA Standards Board. International Standard-ISO/IEC 14764 IEEE Std 14764-2006 (Revision of IEEE Std 1219-1998) [S]. IEEE Press,2006.
    [16]Kelly K. Out of Control:The new biology of machines, social systems, and the economic world [M]. Addison-Wesley,1995.
    [17]Batory D, Benavides D, Ruiz-Cortes A. Automated analysis of feature models:challenges ahead [J]. Communications of the ACM-Software product line.2006,49 (12):45-47.
    [18]Sommerville I, Kotonya G. Requirements Engineering:Processes and Techniques [M]. John Wiley and Sons, Inc.,1998.
    [19]Evans E. Domain-driven design:tackling complexity in the heart of software [M]. Addison-Wesley Professional,2004.
    [20]张伟,梅宏.一种面向特征的领域模型及其建模过程[J].软件学报.2003,14(8):1345-1356.
    [21]Trinidad P, Ruiz-Cortes A. Abductive Reasoning and Automated Analysis of Feature Models:How are they connected? [C]. In Proceedings of the Third International Workshop on Variability Mod-elling of Software-Intensive Systems.2009:145-153.
    [22]Eilam E. Reversing:secrets of reverse engineering [M]. Wesley Publishing,2005.
    [23]Bohner S A, Arnold R S. Software Change Impact Analysis [M]. IEEE Computer Society Press, 1996.
    [24]Bierman G, Hicks M, Sewell P, et al. Formalizing dynamic software updating [C]. In Proceedings of the Second International Workshop on Unanticipated Software Evolution (USE). Warsaw, Poland, 2003.
    [25]张仕,黄林鹏.基于FJ的多版本类动态更新演算[J].软件学报.2008,19(10):2562-2572.
    [26]Orso A, Rao A, Harrold M J. A technique for dynamic updating of Java software [C]. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2002).2002:649-658.
    [27]Rodrigues A, Almeida H, Perkusich A. A C++environment for dynamic unanticipated software evo-lution [C]. In Proceedings of the 2008 ACM symposium on Applied computing. Fortaleza, Ceara, Brazil,2008:815-819.
    [28]Oreizy P, Gorlick M M, Taylor R N, et al. An architecture-based approach to self-adaptive software [J]. IEEE Intelligent Systems and their Applications.1999,14 (3):54-62.
    [29]Chang Z, Mao X, Qi Z. Formal Analysis of Architectural Policies of Self-Adaptive Software by Bigraph [C]. In Proceedings of the 9th International Conference for Young Computer Scientists. 2008:118-123.
    [30]Ming H, Oyama K, Chang C K. Human-Intention Driven Self Adaptive Software Evolvability in Distributed Service Environments [C]. In Proceedings of the 12th IEEE International Workshop on Future Trends of Distributed Computing Systems,2008.2008:51-57.
    [31]梅宏,黄罡,兰灵,等.基于体系结构的网构软件自适应方法[J].中国科学E辑:信息科学.2008,38(6):901-920.
    [32]Salehie M, Tahvildari L. A Quality-Driven Approach to Enable Decision-Making in Self-Adaptive Software [C]. In Proceedings of the 29th International Conference on Software Engineering.2007: 103-104.
    [33]Batory D. Feature Models, Grammars, and Propositional Formulas [J]. Software Product Lines. 2005:7-20.
    [34]Koza J, Poli R. Search methodologies:introductory tutorials in optimization and decision support techniques [M]. Springer,2005:127-164.
    [35]Mahadevan S, Connell J. Automaticprogramming of behavior-based robots using reinforcement learning [J]. Artificial Intelligence.1992,55 (2-3):311-365.
    [36]Shoham Y. Agent-oriented programming [J]. Artificial Intelligence.1993,60 (I):51-92.
    [37]Northrop L M. A Framework for Software Product Line Practice [C]. In Proceedings of the Work-shop on Object-Oriented Technology.1999:365-366.
    [1]Mens T, Demeyer S. Software Evolution [M]. Berlin:Springer,2008:1-11.
    [2]Dam K H. Supporting Software Evolution in Agent Systems [D]. Melbourne, Victoria, Australia: RMIT University,2008.
    [3]Jarzabek S. Effective software maintenance and evolution:A reuse-based approach [M]. Boca Ra-ton, New York:Auerbach Publication,1997.
    [4]Lehman M M. Programs, life cycles, and laws of software evolution [J]. Proceedings of the IEEE (Special Issue on Software Evolution).1980,68 (9):1060-1076.
    [5]Lehman M M, Ramil J F, Wernick P D. et al. Metrics and laws of software evolution-the nineties view [C]. In Proceedings of the Fourth International Software Metrics Symposium.1997:20-32.
    [6]IEEE-SA Standards Board. IEEE standard for software maintenance (IEEE Std 1219-1998) [S]. IEEE Press,1999.
    [7]IEEE-SA Standards Board. International Standard-ISO/IEC 14764 IEEE Std 14764-2006 (Revision of IEEE Std 1219-1998) [S]. IEEE Press,2006.
    [8]belady L A, Lehman M M. A model of large program development [J]. IBM Systems Journal.1976, 15 (3):225-252.
    [9]Lehman M M, Ramil J F. Softwareevolution-Background, theory, practice [J]. Information Process-ing Letters.2003,88 (1-2):33-44.
    [10]Ned Chapin J, Hale E, Khan K M, et al. Types of software evolution and software maintenance [J]. Journal of Software Maintenance and Evolution:Research and Practice.2001,13(1):3-30.
    [11]Lehman M M, Ramil J F, Kahen G. Evolution as a Noun and Evolution as a Verb [C]. In Proceedings of the Workshop on Software and Organisation Co-evolution (SOCE 2000).2000.
    [12]Buckley J, Mens T, Zenger M, et al. Towards a taxonomy of software change [J]. Journal of Software Maintenance and Evolution:Research and Practice.2005,17 (5):309-332.
    [13]Rajlich V T, Bennett K H. A staged model for the software life cycle [J]. IEEE Computer.2000,33 (7):66-71.
    [14]Rodrigues A, Almeida H, Perkusich A. A C++environment for dynamic unanticipated software evo-lution [C]. In Proceedings of the 2008 ACM symposium on Applied computing. Fortaleza, Ceara, Brazil,2008:815-819.
    [15]Bennett K H, Rajlich V T. Software maintenance and evolution:a roadmap [C]. In Proceedings of the Conference on the Future of Software Engineering. Limerick, Ireland,2000:73-87.
    [16]Girba T. Modeling History to Understand Software Evolution [D]. Berne, Switzerland:University of Berne,2000.
    [17]Parikh G, Zvegintzov N. Tutorial on software maintenance [M]. Los Alamitos, LA:IEEE Computer Society Press,1983:13-30.
    [18]Chikofsky E J, Cross J H. Reverse engineering and design recovery:a taxonomy [J]. IEEE Software. 1990,7(1):13-17.
    [19]Bohner S A, Arnold R S. Software Change Impact Analysis [M]. IEEE Computer Society Press, 1996.
    [20]Ryder B G, Tip F. Change impact analysis for object-oriented programs [C]. In Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering. Snowbird, Utah, United States,2001:46-53.
    [21]Breech B, Tegtmeyer M, Pollock L. Integrating Influence Mechanisms into Impact Analysis for Increased Precision [C]. In Proceedings of the 22nd IEEE International Conference on Software Maintenance(ICSM'06). Philadelphia, PA,2006:55-65.
    [22]Bohner S A. Software change impacts-an evolving perspective [C]. In Proceedings of the IEEE International Conference on Software Maintenance(ICSM'02).2002:263-272.
    [23]Apiwattanapong T, Orso A, Harrold M J. Efficient and precise dynamic impact analysis using execute-after sequences [C]. In Proceedings of the 27th international conference on Software en-gineering. St. Louis, MO, USA,2005:432-441.
    [24]Breech B, Tegtmeyer M, Pollock L. A Comparison of Online and Dynamic Impact Analysis Algo-rithms [C]. In Proceedings of the Ninth European Conference on Software Maintenance and Reengi-neering.2005:143-152.
    [25]Law J, Rothermel G. Whole Program Path-Based Dynamic Impact Analysis [C]. In Proceedings of the International Conference on Software Engineering.2003:308-318.
    [26]Kung D, Gao J, Hsia P, et al. Change Impact Identification in Object Oriented Software Maintenance [C]. In Proceedings of the International Conference on Software Maintenance.1994:202-211.
    [27]Antje von Knethen M G. QuaTrace:a tool environment for (semi-) automatic impact analysis based on traces [C]. In Proceedings of the International Conference on Software Maintenance.2003:246-255.
    [28]Briand L C, Labiche Y, O'Sullivan L, et al. Automated impact analysis of UML models [J]. Journal of Systems and Software.2006,79 (3):339-352.
    [29]Arnold R S. Tutorial on software restructuring [M]. IEEE Computer Society Press,1986.
    [30]Kang B K, Bieman J M. A quantitative framework for software restructuring [J]. Journal of Systems Maintenance.1999,11 (4):245-284.
    [31]Opdyke W F. Refactoring:A program restructuring aid in designing object-oriented application frameworks [D]. [S.1.]:University of Illinois at Urbana-Champaign,1992.
    [32]Fowler M, Beck K. Refactoring:improving the design of existing code [M]. Addison-Wesley Long-man Publishing Co. Inc.,1999.
    [33]Mens T, Tourwe T. A Survey of Software Refactoring [J]. IEEE Transaction on Software Engineer-ing.2004,30 (2):126-139.
    [34]Bierman G, Hicks M, Sewell P, et al. Formalizing dynamic software updating [C]. In Proceedings of the Second International Workshop on Unanticipated Software Evolution (USE). Warsaw, Poland, 2003.
    [35]张仕,黄林鹏.基于FJ的多版本类动态更新演算[J].软件学报.2008,19(10):2562-2572.
    [3.6]Yu I C, Johnsen E B, Owe O. Type-Safe Runtime Class Upgrades in Creol [J]. Formal Methods for Open Object-Based Distributed Systems.2006:202-217.
    [37]Orso A, Rao A, Harrold M J. A technique for dynamic updating of Java software [C]. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2002).2002:649-658.
    [38]Hicks M, Nettles S. Dynamic software updating [J]. ACM Transactions on Programming Languages and Systems (TOPLAS).2005,27 (6):1049-1096.
    [39]Neamtiu I, Hicks M, Stoyle G, et al. Practical dynamic software updating for C [J]. ACM SIGPLAN Notices.2006,41 (6):72-83.
    [40]Bialek R, Jul E. A Framework for Evolutionary, Dynamically Updatable, Component-based Sys-tems [C]. In Proceedings of the 24th International Conference on Distributed Computing Systems Workshops.2004:326-331.
    [41]Cazzola W, Pini S, Ancona M. AOP for software evolution:a design oriented approach [C]. In Proceedings of the 2005 ACM symposium on Applied computing (SAC 05). Santa Fe, New Mexico, 2005:1346-1350.
    [42]余萍,马晓星,吕建,等.一种面向动态软件体系结构的在线演化方法[J].软件学报.2006,17(6):1360-1371.
    [43]Oreizy P, Gorlick M M, Taylor R N, et al. An architecture-based approach to self-adaptive software [J]. IEEE Intelligent Systems and their Applications.1999,14 (3):54-62.
    [44]Ming H, Oyama K, Chang C K. Human-Intention Driven Self Adaptive Software Evolvability in Distributed Service Environments [C]. In Proceedings of the 12th IEEE International Workshop on Future Trends of Distributed Computing Systems,2008.2008:51-57.
    [45]Salehie M, Tahvildari L. A Quality-Driven Approach to Enable Decision-Making in Self-Adaptive Software [C]. In Proceedings of the 29th International Conference on Software Engineering.2007:103-104.
    [46]赵欣培,李明树,王青,等.一种基于Agent的自适应软件过程模型[J].软件学报.2004,15(3):348-359.
    [47]Bechmann B E, Grabowski L M, McKinley P K, et al. Applying digital evolution to the design of self-adaptive software [C]. In Proceedings of IEEE Symposium on Artificial Life.2009:100-107.
    [48]Andersson J, de Lemos R, Malek S, et al. Reflecting on self-adaptive software systems [C]. In Proceedings of ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems. 2009:38-47.
    [49]Karsai G, Sztipanovits J. A model-based approach to self-adaptive software [J]. IEEE Intelligent Systems and their Applications.1999,14 (3):46-53.
    [50]Chang Z, Mao X, Qi Z. Formal Analysis of Architectural Policies of Self-Adaptive Software by Bigraph [C]. In Proceedings of the 9th International Conference for Young Computer Scientists. 2008:118-123.
    [51]梅宏,黄罡,兰灵,等.基于体系结构的网构软件自适应方法[J].中国科学E辑:信息科学.2008,38(6):901-920.
    [52]Cheng B H C, de Lemos R, Giese H, et al. Software Engineering for Self-Adaptive Systems:A Research Roadmap [J]. Software Engineering for Self-Adaptive Systems.2009:1-26.
    [53]王千祥,吴琼,李克勤,等.一种面向对象的领域工程方法[J].软件学报.2002,13(10):1977-1984.
    [54]Coplien J, Hoffman D, Weiss D. Commonality and variability in software engineering [J]. IEEE Software.1998,15 (6):37-45.
    [55]Kang K C, Cohen S G, Hess J A, et al. Feature-oriented domain analysis (FODA) feasibility study [R].1990.
    [56]Griss M L, Favaro J, d'Alessandro M. Integrating feature modeling with the RSEB [C]. In Proceed-ings of the Fifth International Conference on Software Reuse.1998:76-85.
    [57]张伟,梅宏.一种面向特征的领域模型及其建模过程[J].软件学报.2003,14(8):1345-1356.
    [58]Czarnecki K, Helsen S, Eisenecker U. Formalizing cardinality-based feature models and their spe-cialization [J]. Software Process:Improvement and Practice.2005,10(1):7-29.
    [59]Batory D. Feature Models, Grammars, and Propositional Formulas [J]. Software Product Lines. 2005:7-20.
    [60]Siegmund N, Kuhlemann M, Rosenmuller M, et al. Integrated product line model for semi-automated product derivation using non-functional properties [C]. In Proceedings of the Workshop on Variability Modelling of Software-intensive Systems.2008:25-31.
    [61]Batory D, Benavides D, Ruiz-Cortes A. Automated analysis of feature models:challenges ahead [J]. Communications of the ACM-Software product line.2006,49 (12):45-47.
    [62]Trinidad P, Ruiz-Cortes A. Abductive Reasoning and Automated Analysis of Feature Models:How are they connected? [C]. In Proceedings of the Third International Workshop on Variability Mod-elling of Software-Intensive Systems.2009:145-153.
    [63]Koza J, Poli R. Search methodologies:introductory tutorials in optimization and decision support techniques [M]. Springer,2005:127-164.
    [64]Mahadevan S, Connell J. Automaticprogramming of behavior-based robots using reinforcement learning [J]. Artificial Intelligence.1992,55 (2-3):311-365.
    [65]Shoham Y. Agent-oriented programming [J]. Artificial Intelligence.1993,60 (1):51-92.
    [66]Northrop L M. A Framework for Software Product Line Practice [C]. In Proceedings of the Work-shop on Object-Oriented Technology.1999:365-366.
    [67]Pohl K, Bockle G, van der Linden F. Software product line engineering:foundations, principles, and techniques [M]. Springer-Verlag New York Inc,2005.
    [68]Northrop L, Clements P C. A framework for software product line practice, version 5.0 [R].2007.
    [69]Bayer J, Flege O, Knauber P, et al. PuLSE:a methodology to develop software product lines [C]. In Proceedings of the 1999 symposium on Software reusability.1999:122-131.
    [70]Atkinson C, Bayer J, Muthig D. Component-based product line development:the KobrA approach [C]. In Proceedings of the First Software Product Lines Conference.2000:289-310.
    [71]Coriat M, Jourdan J, Boisbourdin F. The SPLIT Method:Building Product Lines for Software-Intensive Systems [C]. In Proceedings of the First Software Product Lines Conference.2000:147-166.
    [72]Batory D, Geraci B J. Composition validation and subjectivity in GenVoca generators [J]. IEEE Transactions on Software Engineering.1997,23 (2):67-82.
    [73]Whitea J, Benavidesc D, Schmidtb D, et al. Automated diagnosis of featuremodelconfigurations [J]. Journal of Systems and Software.2010,83 (7):1094-1107.
    [1]Bierman G, Hicks M, Sewell P, et al. Formalizing dynamic software updating [C]. In Proceedings of the Second International Workshop on Unanticipated Software Evolution (USE). Warsaw, Poland, 2003.
    [2]Hicks M, Nettles S. Dynamic software updating [J]. ACM Transactions on Programming Languages and Systems (TOPLAS).2005,27 (6):1049-1096.
    [3]Neamtiu I, Hicks M, Stoyle G, et al. Practical dynamic software updating for C [J]. ACM SIGPLAN Notices.2006,41 (6):72-83.
    [4]Rodrigues A, Almeida H, Perkusich A. A C++environment for dynamic unanticipated software evo-lution [C]. In Proceedings of the 2008 ACM symposium on Applied computing. Fortaleza, Ceara, Brazil,2008:815-819.
    [5]Orso A, Rao A, Harrold M J. A technique for dynamic updating of Java software [C]. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2002).2002:649-658.
    [6]Bialek R, Jul E. A Framework for Evolutionary, Dynamically Updatable, Component-based Sys-tems [C]. In Proceedings of the 24th International Conference on Distributed Computing Systems Workshops.2004:326-331.
    [7]Cazzola W, Pini S, Ancona M. AOP for software evolution:a design oriented approach [C]. In Proceedings of the 2005 ACM symposium on Applied computing (SAC 05). Santa Fe, New Mexico, 2005:1346-1350.
    [8]Andersson J, Ritzau T. Dynamic Code Update in JDrums [C]. In Proceedings of the ICSE 2000 Workshop on Software Engineering for Wearable and Pervasive Computing.2000.
    [9]Gregersen A R, Simon D, J(?)rgensen B N. Towards a dynamic-update-enabled JVM [C]. In Pro-ceedings of the Workshop on AOP and Meta-Data for Software Evolution. Genova, Italy,2009: 1-7.
    [10]Wurthinger T, Wimmer C, Stadler L. Dynamic code evolution for Java [C]. In Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java. Vienna, Austria, 2010:10-19.
    [11]Bialek R, Jul E, Rao A, et al. Partitioning of Java applications to support dynamic updates [C]. In Proceedings of the 11th Asia-Pacific Software Engineering Conference (APSEC).2004:616-623.
    [12]Ebnenasir A. Designing Run-Time Fault-Tolerance Using Dynamic Updates [C]. In Proceedings of the 2007 International Workshop on Software Engineering for Adaptive and Self-Managing Sys-tems.2007:15-24.
    [13]Huang G, Mei H, Yang F-Q. Runtime recovery and manipulation of software architecture of component-based systems [J]. Automated Software Engineering.2006,13 (2):257-281.
    [14]Avizienis A. The N-Version Approach to Fault-Tolerant Software [J]. IEEE Transactions on Soft-ware Engineering.1985, SE-11(12):1491-1501.
    [1]Kang K C, Cohen S G, Hess J A, et al. Feature-oriented domain analysis (FODA) feasibility study [R].1990.
    [2]Griss M L, Favaro J, d'Alessandro M. Integrating feature modeling with the RSEB [C]. In Proceed-ings of the Fifth International Conference on Software Reuse.1998:76-85.
    [3]张伟,梅宏.一种面向特征的领域模型及其建模过程[J].软件学报.2003,14(8):1345-1356.
    [4]Avizienis A. The N-Version Approach to Fault-Tolerant Software [J]. IEEE Transactions on Soft-ware Engineering.1985, SE-11 (12):1491-1501.
    [5]Ashrafi N, Berman O, Cutler M. Optimal design of large software-systems using N-version pro-gramming [J]. IEEE Transactions on Reliability.1994,43 (2):344-350.
    [6]王千祥,吴琼,李克勤,等.一种面向对象的领域工程方法[J].软件学报.2002,13(10):1977-1984.
    [7]Coplien J, Hoffman D, Weiss D. Commonality and variability in software engineering [J]. IEEE Software.1998,15 (6):37-45.
    [8]Czarnecki K, Helsen S, Eisenecker U. Formalizing cardinality-based feature models and their spe-cialization [J]. Software Process:Improvement and Practice.2005,10 (1):7-29.
    [9]Batory D. Feature Models, Grammars, and Propositional Formulas [J]. Software Product Lines. 2005:7-20.
    [10]Siegmund N, Kuhlemann M, Rosenmuller M, et al. Integrated product line model for semi-automated product derivation using non-functional properties [C]. In Proceedings of the Workshop on Variability Modelling of Software-intensive Systems.2008:25-31.
    [11]Batory D, Benavides D, Ruiz-Cortes A. Automated analysis of feature models:challenges ahead [J]. Communications of the ACM-Software product line.2006,49 (12):45-47.
    [12]Trinidad P, Ruiz-Cortes A. Abductive Reasoning and Automated Analysis of Feature Models:How are they connected? [C]. In Proceedings of the Third International Workshop on Variability Mod-elling of Software-Intensive Systems.2009:145-153.
    [13]Whitea J, Benavidesc D, Schmidtb D, et al. Automated diagnosis of featuremodelconfigurations [J]. Journal of Systems and Software.2010,83 (7):1094-1107.
    [1]Albert R, Barabasi A-L. Statistical mechanics of complex networks [J]. Reviews of modern physics. 2002,74(1):47-97.
    [2]Myers C R. Software systems as complex networks:Structure, function, and evolvability of software collaboration graphs [J]. Physical Review E.2003,68 (4):046116.
    [3]Potanin A, Noble J, Frean M, et al. Scale-free geometry in OO programs [J]. Communications of the ACM-Adaptive complex enterprises.2005,48 (5):99-103.
    [4]Landry R, Burdin J. An Evolutionary Model for the Study of Wireless Networks [C]. In Proceedings of the IEEE International Conference on Wireless and Mobile Computing.2008:367-372.
    [5]Yuan Y, McKelvey B. Situated learning theory:Adding rate and complexity effects via Kauffman's NK model [J]. Nonlinear Dynamics, Psychology, and Life Sciences.2004,8 (1):65-101.
    [6]钟求喜,陈火旺.基于共同进化计算模型的基因连锁问题求解[J].软件学报.2002,13(4):561-566.
    [7]Kauffman S. The origins of order:Self organization and selection in evolution [M]. Oxford University Press,1993.
    [8]Weinberger E D. NP Completeness of Kauffman's N-k Model, A Tuneable Rugged Fitness Landscape [R].1996.
    [9]Wen L, Kirk D, Dromey R G. Software systems as complex networks [C]. In Proceedings of the 6th IEEE International Conference on Cognitive Informatics.2007:106-115.
    [1]Bohner S A, Arnold R S. Software Change Impact Analysis [M]. IEEE Computer Society Press, 1996.
    [2]Ren X, Shah F, Tip F, et al. Chianti:a tool for change impact analysis of Java programs [J]. ACM SIGPLAN Notices.2004,39 (10):432-448.
    [3]Acharya M, Robinson B. Practical change impact analysis based on static program slicing for in-dustrial software systems [C]. In Proceedings of the 33rd international conference on Software en-gineering.2011:746-755.
    [4]Jashki M A, Zafarani R, Bagheri E. Towards a more efficient static software change impact analysis method [C]. In Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering.2008:84-90.
    [5]Ceccarelli M, Cerulo L, Canfora G, et al. An eclectic approach for change impact analysis [C]. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 2.2010:163-166.
    [6]Watts D I, Strogatz S H. Collective dynamics of'small-world'networks [J]. Nature.1998,393 (6684):440-442.
    [7]Albert R, Barabasi A-L. Statistical mechanics of complex networks [J]. Reviews of modern physics. 2002,74(1):47-97.
    [8]Myers C R. Software systems as complex networks:Structure, function, and evolvability of software collaboration graphs [J]. Physical Review E.2003,68 (4):046116.
    [9]Potanin A, Noble J, Frean M, et al. Scale-free geometry in OO programs [J]. Communications of the ACM-Adaptive complex enterprises.2005,48 (5):99-103.
    [10]Pastor-Satorras R, Vespignani A. Epidemic dynamics and endemic states in complex networks [J]. Physical Review E.2001,63 (6):066117.
    [11]Tao Z, Zhongqian F, Binghong W. Epidemic dynamics on complex networks [J]. Progress in Natural Science.2006,16 (5):452-457.
    [12]顾亦然,王锁萍.一种恶意软件传播的离散概率模型[J].电子学报.2010,38(4):894_898.
    [13]Challet D, Lombardoni A. Bug propagation and debugging in asymmetric software structures [J]. Physical Review E.2004,70 (4):046109.
    [14]Wen L, Kirk D, Dromey R G. Software systems as complex networks [C]. In Proceedings of the 6th IEEE International Conference on Cognitive Informatics.2007:106-115.
    [15]Wolfe A W. Social Network Analysis:Methods and Applications [J]. American Ethnologist.2008, 24(1):219-220.
    [16]Moreno Y, Pastor-Satorras R, Vespignani A. Epidemic outbreaks in complex heterogeneous net-works [J]. The European Physical Journal B-Condensed Matter and Complex Systems.2002,26 (4):521-529.
    [1]李长云,何频捷,李玉龙.软件动态演化技术[M].北京大学出版社,2007.
    [2]沈立炜.基于领域追踪模型的软件产品线开发技术研究[D].上海:复旦大学计算机科学技术学院.
    [3]李弈远.基于特征的软件产品线开发关键技术研究[D].浙江:浙江大学计算机科学与技术学院,2007.
    [4]薛云皎,余枝强,钱乐秋,等.C2风格软件构架的演化研究[J].计算机工程与应用.2002,38(11):83-86.
    [5]黄罡,王千祥.PKUAS一种面向领域的构件运行支撑平台[J].电子学报.2002,30(12A):1938-1942.
    [6]McAffer J, Lemieux J M. Eclipse Rich Client Platform:Designing, Coding, and Packaging Java(TM) Applications [M]. Addison-Wesley Professional,2005.
    [7]DuBois P, Hinz S, Pedersen C. MySQL 5.0 Certification Study Guide [M]. MySQL Press,2005.
    [8]Copeland T. Generating parsers with JavaCC [M]. Centennial Books,2007.
    [9]Myers C R. Software systems as complex networks:Structure, function, and evolvability of software collaboration graphs [J]. Physical Review E.2003,68 (4):046116.
    [10]Wen L, Kirk D, Dromey R G. Software systems as complex networks [C]. In Proceedings of the 6th IEEE International Conference on Cognitive Informatics.2007:106-115.
    [11]Griffith University. Classnet, the tool to explore the CDN of a Java system [EB/OL].2004. http://www.sqi.gu.edu.au/gse/tools/.
    [12]Bialek R, Jul E, Rao A, et al. Partitioning of Java applications to support dynamic updates [C]. In Proceedings of the 1 lth Asia-Pacific Software Engineering Conference (APSEC).2004:616-623.
    [13]Harold E R, Means W S. XML in a Nutshell, Third Edition [M]. O'Reilly Media,2004.
    [14]Morgenthal J P, LaForge B. Enterprise application integration with XML and Java [M]. Prentice Hall PTR,2001.
    [15]左天军,朱智林,韩俊刚,等Java虚拟机动态类加载的形式化模型[J].计算机科学.2005,32(7):209-213.
    [16]Lindholm T, Yellin F. Java Virtual Machine Specification [M]. Prentice Hall PTR,1999.
    [17]Forman I R, Forman N. Java Reflection in Action [M]. Manning,2004.

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

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

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