首页> 外文会议>IEEE International Conference on Software Analysis, Evolution, and Reengineering >Feature Maps: A Comprehensible Software Representation for Design Pattern Detection
【24h】

Feature Maps: A Comprehensible Software Representation for Design Pattern Detection

机译:功能图:用于设计模式检测的可理解的软件表示

获取原文

摘要

Design patterns are elegant and well-tested solutions to recurrent software development problems. They are the result of software developers dealing with problems that frequently occur, solving them in the same or a slightly adapted way. A pattern’s semantics provide the intent, motivation, and applicability, describing what it does, why it is needed, and where it is useful. Consequently, design patterns encode a well of information. Developers weave this information into their systems whenever they use design patterns to solve problems. This work presents Feature Maps, a flexible human-and machine-comprehensible software representation based on micro-structures. Our algorithm, the Feature-Role Normalization, presses the high-dimensional, in homogeneous vector space of micro-structures into a feature map. We apply these concepts to the problem of detecting instances of design patterns in source code. We evaluate our methodology on four design patterns, a wide range of balanced and imbalanced labeled training data, and compare classical machine learning (Random Forests) with modern deep learning approaches (Convolutional Neural Networks). Feature maps yield robust classifiers even under challenging settings of strongly imbalanced data distributions without sacrificing human comprehensibility. Results suggest that feature maps are an excellent addition in the software analysis toolbox that can reveal useful information hidden in the source code.
机译:设计模式是针对反复出现的软件开发问题的优雅且经过充分测试的解决方案。它们是软件开发人员处理频繁发生的问题的结果,可以以相同或略微适应的方式解决它们。模式的语义提供了意图,动机和适用性,描述了它的作用,需要的原因以及在何处有用。因此,设计模式会编码大量信息。开发人员每当使用设计模式来解决问题时,便会将这些信息编织到他们的系统中。这项工作提出了功能图,这是一种基于微观结构的灵活的,人机可理解的软件表示形式。我们的算法(特征角色归一化)将微观结构的均质矢量空间中的高维压入特征图。我们将这些概念应用于检测源代码中的设计模式实例的问题。我们评估了四种设计模式下的方法论,其中包括大量均衡和不均衡的带标签训练数据,并将经典机器学习(随机森林)与现代深度学习方法(卷积神经网络)进行了比较。即使在极不平衡的数据分布具有挑战性的设置下,特征图也可以生成鲁棒的分类器,而不会牺牲人类的可理解性。结果表明,功能图是软件分析工具箱中的绝佳添加,可以揭示隐藏在源代码中的有用信息。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号