随着区块链技术的兴起,智能合约安全问题被越来越多的研究者和企业重视,目前已有一些针对智能合约缺陷检测技术的研究.软件缺陷预测技术是软件缺陷检测技术的有效补充,能够优化测试资源分配,提高软件测试效率.然而,目前还没有针对智能合约的软件缺陷预测研究.针对这一问题,提出了面向Solidity智能合约的缺陷预测方法.首先,设计了一组针对Solidity智能合约特有的变量、函数、结构和Solidity语言特性的度量元集(smart contract-Solidity,SC-Sol度量元集),并将其与重点考虑面向对象特征的度量元集(code complexity and features of object-oriented program,COOP度量元集)组合为COOP-SC-Sol度量元集.然后,从Solidity智能合约代码中提取相关度量元信息,并结合缺陷检测结果,构建Solidity智能合约缺陷数据集.在此基础上,应用了7种回归模型和6种分类模型进行Solidity智能合约的缺陷预测,以验证不同度量元集和不同模型在缺陷数量和倾向性预测上的性能差异.实验结果表明,相对于COOP度量元集,COOP-SC-Sol能够让缺陷预测模型的F1-score指标提升8%.此外,进一步研究了智能合约缺陷预测中的类不平衡问题,实验结果表明,通过采样技术对数据集进行预处理能够提升缺陷预测模型的性能,其中随机欠采样技术能够使模型的F1-score指标提升9%.在特定缺陷倾向性预测问题上,模型的预测性能受到数据集类不平衡的影响,在缺陷模块百分比大于10%的数据集中能取得较好的预测性能.
感知质量优化和用户招募是移动群智感知的两个重要问题,随着数据量的大幅度增加,感知内容出现冗余,存在感知质量降低的风险.提出了一种感知质量优化的任务分发机制,在保证覆盖率的情况下,提高群体的感知质量.利用聚类算法评估任务真值,量化用户数据质量;基于汤普森抽样算法和贪婪算法设计并实现了一种用户招募策略,在保证任务空间覆盖率的基础上优化感知质量.针对TSUR(Thompson based user recruit)算法的性能进行仿真分析,并与已有的BBTA(bandit-based task assignment)算法和BUR(basic user recruitment)算法作比较.实验表明,在同一区域进行任务感知,与BBTA算法和BUR算法相比,累计感知质量分别提高了16%和20%,空间覆盖率分别提高了30%和22%.
暂无评论