首页> 外文期刊>Concurrency and computation: practice and experience >Mining software architecture knowledge: Classifying stack overflow posts usingmachine learning
【24h】

Mining software architecture knowledge: Classifying stack overflow posts usingmachine learning

机译:矿业软件架构知识:分类堆栈溢出帖使用MACHINE学习

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

摘要

Software Architectural Process (SAP) is a core and excessively knowledge intensive phase of software development life cycle, as it consumes and produces knowledge artifacts, simultaneously. SAP is about making design decisions, and the changes in these verdicts may pose adverse effects on software projects. The performance and properties of software components are fundamentally influenced by the design decisions. The implementation of immature and abrupt design decisions seriously threatens the development process of SAP. Moreover, software architectural knowledge management (AKM) approaches offer systematic ways to support SAP through versatile architectural solutions and design decisions. However, the majority of software organizations have limited access to data and still depend upon manually created and maintained AKM process. In this paper, we have utilized the one of the most prominent online community for software development (i.e., Stack Overflow) as a source of SAP knowledge to support AKM. In order to support AKM, we have proposed a supervised machine learning-based approach to classify the architectural knowledge into predefined categories, that is, analysis, synthesis, evaluation, and implementation. We have employed different combinations of feature selection technique to achieve the optimal classification results of the used classifiers (Support Vector Machine [SVM], K-Nearest Neighbor, Random Forest, and Naive Bayes [NB]). Among these classifiers, SVM with Uni-gram feature set provides best classification results and attains 85.80% accuracy. For evaluating the proposed approach's effectiveness, we have also computed the suitability of the classifiers, that is, the cost of computation along with its accuracy, and NB with Uni-gram feature set proved to be the most suitable.
机译:软件架构过程(SAP)是一种核心和过度知识的软件开发生命周期的密集阶段,因为它同时消耗和生产知识伪影。 SAP是关于制定设计决策,这些判决的变化可能会对软件项目构成不利影响。软件组件的性能和性质基本上受到设计决策的影响。实施不成熟和突然的设计决策严重威胁着SAP的发展过程。此外,软件架构知识管理(AKM)方法通过多功能架构解决方案和设计决策提供支持SAP的系统方法。但是,大多数软件组织对数据的访问有限,仍然依赖于手动创建和维护AKM过程。在本文中,我们利用了最突出的在线社区之一,用于软件开发(即,堆栈溢出)作为支持AKM的SAP知识的来源。为了支持AKM,我们提出了一种基于机器学习的方法,将架构知识分类为预定义类别,即分析,合成,评估和实施。我们采用了不同的特征选择技术组合来实现使用的分类器的最佳分类结果(支持向量机[SVM],K-CORMALL邻居,随机林和幼稚贝叶斯[NB])。在这些分类器中,具有UNI-GRAM功能集的SVM提供了最佳分类结果,精度达到85.80%。为了评估所提出的方法的有效性,我们还计算了分类器的适用性,即计算成本以及其准确性以及带有Uni-Gram功能集的NB被证明是最合适的。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号