论文部分内容阅读
软件需求量的剧增以及社会化大生产要求的不断提高,使得程序员对开发工具性能的要求越来越高。在有关软件开发工具性能的研究中,智能化是其中的一个热点研究方向。目前软件开发工具普遍采用智能感知技术辅助用户进行开发。然而,该技术所起的作用仅限于输入的自动补全操作,无法提供更具智能化的功能,譬如无法预知用户下一步所需的函数信息等。个性化推荐技术可以实现预测需求的功能,然而当前该技术主要应用于互联网领域,并没有应用到软件开发中。本文借鉴电子商务网站利用个性化推荐技术向用户推荐商品的做法,提出了将个性化推荐技术应用到软件开发中的思想。软件开发工具所提供的函数或其它资源可以看作是各式各样的“商品”,软件开发即开发者购买此类“商品”的过程。软件开发推荐系统就是利用推荐技术辅助用户开发软件的系统。通过学习当前各种推荐技术,并考虑到软件开发的特点,本文深入研究了关联规则在软件开发推荐系统中的应用。针对关联规则挖掘算法Apriori算法存在的不足,本文从优化交易数据库、引入推荐结果反馈因子和结合应用限定参数三个方面对其进行改进,提出了一种改进的Apriori算法。然后建立了软件开发中的关联规则推荐模型,并根据开发过程中公共代码和私有代码对用户影响的不同,提出了一种基于加权的关联规则计算策略。利用改进的Apriori算法和加权计算策略,本文以LabVIEW开发工具为例,设计并实现了基于关联规则的软件开发推荐系统。测试结果表明,该推荐系统兼顾了用户的功能性和个性化需求,能够很好地预测开发人员接下来的需求,提高了开发者的工作效率,解决了开发工具智能化不足的问题。同时,也证明了该推荐技术具有很高的推荐精度和良好的实用性。在后续的研究工作中,将继续改进关联规则挖掘算法和推荐结果计算方法,使其计算速度更快,推荐结果更加准确,以更好地辅助用户进行软件开发。