Context: Architecture Tactics (ATs) are architectural building blocks that provide general architectural solutions for addressing Quality Attributes (QAs) issues. Mining and analyzing QA-AT knowledge can help the software architecture community better understand architecture design. However, manually capturing and mining this knowledge is labor-intensive and difficult. Objective: Using Stack Overflow (SO) as our source, our main goals are to effectively mine such knowledge; and to have some sense of how developers use ATs with respect to QA concerns from related discussions. Methods: We applied a semi-automatic dictionary-based mining approach to extract the QA-AT posts in SO. With the mined QA-AT posts, we identified the relationships between ATs and QAs. Results: Our approach allow us to mine QA-AT knowledge effectively with an F-measure of 0.865 and Performance of 82.2%. Using this mining approach, we are able to discover architectural synonyms of QAs and ATs used by designers, from which we discover how developers apply ATs to address quality requirements. Conclusions: We make two contributions in this work: First, we demonstrated a semi-automatic approach to mine ATs and QAs from SO posts; Second, we identified little-known design relationships between QAs and ATs and grouped architectural design considerations to aid architects make architecture tactics design decisions.
翻译:环境:建筑技术(ATs)是建筑建筑结构的构件,它提供了解决质量属性问题的一般建筑解决方案。采矿和分析QA-AT知识可以帮助软件建筑设计界更好地了解建筑设计。然而,人工捕捉和开采这种知识是劳动密集型和困难的。目标:利用Stack overflow(SO)作为我们的知识来源,我们的主要目标是有效地挖掘这种知识;并在某种程度上了解开发者如何利用ATs解决相关讨论对质量属性的关切。方法:我们采用了半自动字典基采矿方法来提取SO的QA-AT职位。我们利用开采的QA-AT职位,确定了AT与QA的关系。结果:我们的方法允许我们有效地挖掘QA-AT知识,采用F度为0.865,性能为82.2%。使用这种采矿方法,我们能够发现设计师使用的QA和AT的建筑结构同义词。我们从中发现开发者如何应用ATSAT处理质量要求。我们从SA-AT中找出了两个设计方法,我们从SA设计设计师设计中做了什么贡献。我们从SO设计中和AT设计师设计结构关系,我们从SU设计中展示了我们从SO-A的半设计关系,我们从SU设计中展示了一种方法。