首页> 外文学位 >Aspect mining using self-organizing maps with method level dynamic software metrics as input vectors.
【24h】

Aspect mining using self-organizing maps with method level dynamic software metrics as input vectors.

机译:使用具有方法级别动态软件指标作为输入向量的自组织映射进行方面挖掘。

获取原文
获取原文并翻译 | 示例

摘要

As the size and sophistication of modern software system increases, so is the need for high quality software that is easy to scale and maintain. Software systems evolve and undergo change over time. Unstructured software updates and refinements can lead to code scattering and tangling which are the main symptoms of crosscutting concerns. Presence of crosscutting concerns in a software system can lead to bloated and inefficient software system that is difficult to evolve, hard to analyze, difficult to reuse and costly to maintain.;A crosscutting concern in a software system represents implementation of a unique idea or a functionality that could not be properly encapsulated. The presence of crosscutting concerns in software systems is attributed to the limitations of programming languages and structural degradation associated with repeated change. No matter how well large-scale software applications are decomposed, some ideas are difficult to modularize and encapsulate resulting in crosscutting concerns scattered across the entire software system where code implementing one concept is tangled and mixed with code implementing unrelated concept.;Aspect Mining is a reverse software engineering exploration technique that is concerned with the development of concepts, principles, methods and tools supporting the identification and extraction of re-factorable aspect candidates in legacy software systems. The main goal of Aspect Mining is to help software engineers and developers to locate and identify crosscutting concerns and portions of the software that may need refactoring, with the aim of improving the quality, scalability and maintainability and evolution of software system.;The aspect mining approach presented in this dissertation involved three-phases. In the first phase, selected large-scale legacy benchmark test programs were dynamically traced and investigated. Metrics representing interaction between code fragments were derived from the collected data. In the second phase, the formulated dynamic metrics were then submitted as input to Self Organizing Maps (SOMs) for clustering. In the third phase, clusters produced by the SOM were then mapped against the benchmark test program in order to identify code scattering and tangling symptoms. Crosscutting concerns were identified and candidate aspect seeds mined.;Overall, the methodology used in this dissertation is found to perform as well as and no worse than other existing Aspect Mining methodologies. In other cases, the methodology used in this dissertation was found to have outperformed some of the existing Aspect mining methods that use the same set of benchmark test programs. With regards to Aspect Mining precision as it relates to LDA, 100% precision was attained, and with respect to JHD 51% precision was attained by this dissertation methodology, which is the same as attained by existing Aspect mining methods. Lessons learned from the results of experiments carried out in this dissertation have shown that even highly structured software systems that are based on best practice software design principles are laden with code repetitions and presence of crosscutting concerns.;One of the major contributions of this dissertation is the presentation of a new unsupervised Aspect Mining approach that minimizes human interaction, where hidden software features can be identified and inferences about the general structure of software system can be made, thereby addressing one of the drawbacks in currently existing dynamic Aspect Mining methodologies. The strength of the Aspect Mining approach presented in this dissertation is that the input metrics required to represent software code fragments can easily be derived from other viable software metric formulations without complex formalisms.;Other contributions made by this dissertation include the presentation of a good and viable software visualization technique that can be used for software visualization, exploration, and study and understanding of internal structure and behavioral nature of large-scale software systems. Areas that may need further study include the need for determining the optimal number of vector components that may be required to effectively represent extractible software components. Other issues worth considering include the establishment of a set of datasets derived from popularly known test benchmarks that can be used as a common standard for comparison, evaluation and validation of newly introduced Aspect Mining techniques.
机译:随着现代软件系统的规模和复杂性的增加,对易于扩展和维护的高质量软件的需求也随之增加。软件系统会随着时间的推移而发展并经历变化。非结构化的软件更新和完善会导致代码分散和混乱,这是横切关注点的主要症状。在软件系统中存在横切关注点会导致膨胀,效率低下的软件系统,难以发展,难以分析,难以重用且维护成本高昂;软件系统中的横切关注点表示实现独特思想或解决方案无法正确封装的功能。软件系统中横切关注点的存在归因于编程语言的局限性以及与重复更改相关的结构退化。无论大型软件应用程序如何分解,某些想法都很难模块化和封装,从而导致横切关注点分散在整个软件系统中,在其中,实现一个概念的代码与实现不相关概念的代码混杂在一起。反向软件工程探索技术,与概念,原理,方法和工具的开发有关,该技术支持在传统软件系统中识别和提取可重构方面的候选对象。 Aspect Mining的主要目标是帮助软件工程师和开发人员找到并识别横切关注点以及可能需要重构的软件部分,以提高软件系统的质量,可伸缩性和可维护性以及其发展。本文提出的方法涉及三个阶段。在第一阶段,动态跟踪和调查了选定的大型传统基准测试程序。代表代码片段之间相互作用的度量标准是从收集的数据中得出的。在第二阶段中,将制定的动态指标作为输入提交给自组织图(SOM)进行聚类。在第三阶段中,将SOM生成的群集映射到基准测试程序,以识别代码散布和纠结症状。确定了横切关注点并挖掘了候选方面的种子。总体而言,发现本文所使用的方法的性能与其他现有的方面挖掘方法一样好,并且也没有差。在其他情况下,发现本文使用的方法优于使用相同基准测试程序集的某些现有Aspect挖掘方法。关于与LDA相关的Aspect挖掘精度,可以达到100%的精度,而JHD则可以达到51%的精度,这与现有的Aspect挖掘方法所达到的精度相同。从本论文的实验结果中吸取的教训表明,即使是基于最佳实践软件设计原则的高度结构化的软件系统也充满了代码重复和横切关注点。本论文的主要贡献之一是:提出了一种新的无监督的Aspect Mining方法,该方法可以最大程度地减少人与人之间的互动,在此方法中,可以识别隐藏的软件功能,并可以推断出软件系统的总体结构,从而解决了当前现有的动态Aspect Mining方法中的缺点之一。本文提出的方面挖掘方法的优势在于,代表软件代码片段所需的输入指标可以很容易地从其他可行的软件指标公式中得出,而无需复杂的形式主义。本论文的其他贡献包括:可行的软件可视化技术,可用于软件可视化,探索以及研究和理解大型软件系统的内部结构和行为性质。可能需要进一步研究的领域包括确定有效表示可提取软件组件可能需要的矢量组件的最佳数量。其他值得考虑的问题包括建立一组数据集,这些数据集是从广为人知的测试基准中得出的,可以用作比较,评估和验证新引入的Aspect Mining技术的通用标准。

著录项

  • 作者

    Maisikeli, Sayyed Garba.;

  • 作者单位

    Nova Southeastern University.;

  • 授予单位 Nova Southeastern University.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2009
  • 页码 121 p.
  • 总页数 121
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号