排序方式: 共有26条查询结果,搜索用时 281 毫秒
1.
随着行业应用的飞速扩张,数据中心以及云等日益成为主流服务平台.高性能的片上多核系统也随之成为重要的可分配资源之一.然而,在对多用户提供服务(并发执行、并置执行)时,其所固有的共享资源会引发严重的并发性能下降.在此背景下,多核系统的性能以及资源利用率问题成为研究热点.软件调度策略作为一种性价比较高的调节手段对于缓解资源冲突一直行之有效,然而,硬件技术的变迁对其调节的效力将产生一定影响.首先从片上多核结构关键技术入手,对共享资源的变化进行了详细阐述,在此基础上,对当前主流应用领域中两种不同类型的软件调度策略进行介绍和分析.在总结现有策略的局限性以及面临的新挑战的同时,对未来的研究趋势作了展望. 相似文献
2.
静态检测中断驱动程序的数据竞争 总被引:1,自引:0,他引:1
直接运行于微控制器上的中断驱动程序中可能存在一种重要的程序错误:数据竞争.然而当前主流的数据竞争静态检测技术因其服务于多线程模型程序而不适用.设计简明、易用的中断特征描述语言可以使得竞争检测具有平台无关性;同时,提出了一个流敏感的、上下文敏感的、考虑中断驱动程序原子性、易变性和部分随机性的数据竞争检测算法.该算法具有高效、精确的特点.实验表明,其检测时间与代码规模基本呈线性关系,分析17850行代码仅用时3.6s;同时,相比于基于锁集技术的典型数据竞争检测方法,其准确率平均是后者的2.13倍. 相似文献
3.
4.
一种检测运行栈与静态数据区重叠的新方法 总被引:1,自引:0,他引:1
嵌入式系统中由于内存限制,容易出现运行栈和数据区重叠的错误。已有的两种检测该错误的方法在准确性和易用性方面存在缺陷,不适用于基于软件模拟器的大规模回归测试。文章通过改变运行栈与静态数据区的布局,将运行栈与静态数据区重叠的错误转化为运行栈超越内存地址空间的错误。新方法大大简化了这种运行时错误的检测和调试。 相似文献
5.
基于传播引擎的指针引用错误检测 总被引:1,自引:0,他引:1
指针在C程序中应用广泛,指针引用错误多发且危害严重.目前代表性的检测工具由于使用方便性和检测精度不足以及难以处理大规模程序等原因,并不能满足实用需求.文中提出一种新型的错误检测方法,该方法基于域敏感、流敏感和上下文敏感的传播引擎,通过定义错误属性格、在源程序中对错误属性格值进行计算和传播来完成错误检测.在开放源码编译器Open64中实现了其原型系统Propagator.以空指针引用错误检测为实例研究内容,使用Apache、OpenSSH、gzip等应用领域广泛的典型应用为实验用例.与Saturn、Splint和Clang-SA进行对比,Propagator的平均检测时间仅为12s,误报率平均仅为13%,远低于对比工具,且没有发现漏报已知错误.上述结果表明,Propagator既提高了检测精度又保证了可扩展性,具有很好的实用前景. 相似文献
6.
为了提高质子交换膜燃料电池不锈钢双极板的耐蚀性,减少六价铬对环境污染的影响,采用电镀方法,在304L不锈钢表面制备Cr-C合金镀层,将三价铬作为主盐进行电镀铬。并且通过扫描电镜、维氏显微硬度仪、Autolab电化学工作站测定镀层的显微形貌、硬度以及耐蚀性。结果表明:在镀液中CrCl_3浓度为0.4 mol/L、HCOOH浓度为0.9 mol/L条件下,采用电流密度24 A/dm~2、施镀时间15 min、pH值2.0、温度30℃的工艺参数进行电镀,制备的镀层均匀致密,耐腐蚀性能较好。 相似文献
7.
传统的基于覆盖率反馈的模糊测试工具通过跟踪代码覆盖率来指导测试用例的变异,从而发现目标程序中潜在的漏洞。但在闭源软件的模糊测试过程中,跟踪覆盖率不仅带来额外的开销,而且在模糊测试开销中占据主导。本文通过对Windows平台闭源软件模糊测试开销的剖析,锁定其中两个主要来源,插桩开销和“预热”开销。基于上述分析,提出了一种基于稀疏插桩跟踪的模糊测试方法,在不影响覆盖率计算精度的前提下,采用基于稀疏插桩的跟踪策略,仅对目标程序中覆盖率不可推导的基本块或分支进行插桩跟踪,并根据跟踪结果推导其余基本块或分支的被覆盖情况;同时结合“预热”优化,避免因动态插桩平台反复启动以及对目标程序代码的重复翻译所引入的时间开销。基于上述方法实现的原型工具SiCsFuzzer,在Windows平台9个规模在286KB~19.3MB,类型涉及图片处理、视频处理、文件压缩、加密和文档处理等类型应用所组成的测试集上,跟踪覆盖率引入的额外开销为程序正常执行时间的1.1倍,比传统的基于覆盖率反馈的模糊测试工具快3倍,并发现PDFtk和XnView程序最新版本中的未知漏洞各1个。 相似文献
8.
模糊测试(fuzzing)具备自动化程度高、可重现性好及易扩展等特点,是软件漏洞挖掘的有效方法之一。针对其固有的测试盲目性和低效性,一批先进的灰盒模糊测试方法被提出并应用在AFL、AFLFast、Vuzzer等工具中。随着高性能芯片和云计算技术的发展,模糊测试可以充分利用其中蕴含的丰富并行计算能力、通过多实例并行的手段进一步提高单位时间内的综合测试效率,典型的代表如Xu等人提出的多核并行方法、谷歌的ClusterFuzz等。但现有并行模糊测试方法,由于不同测试实例在测试用例生成过程中缺少有效的控制,导致生成的畸形样本冗余高、测试综合覆盖率低等问题。针对该问题,本文提出了一种有效控制多测试实例间模糊测试过程的方案,该方案以变异策略为基本粒度进行并行化,定期同步不同测试实例间的有效畸形样本和优化变异策略应用比例,减少不同测试实例间的测试冗余,提高测试综合覆盖率。本文实现了一个变异策略感知的并行模糊测试框架,并选择AFL作为基本模糊测试器,使用5款开源软件及LAVA-M测试集的实验结果表明,相同测试时间内本文的方法比AFL默认调度方法提高目标覆盖率达132%、发现异常数量最多提高50余倍。 相似文献
9.
模糊测试是一种有效的漏洞挖掘技术.为改善模糊测试因盲目变异而导致的效率低下的问题,需要围绕输入特征、变异策略、种子样本筛选、异常样本发现与分析等方面不断定制模糊测试器,从而花费了大量的定制成本.针对通用型模糊测试器(即支持多类输入格式及目标软件的模糊测试器)的低成本定制和高可扩展性需求,本文首次提出了一种可编程模糊测试框架,基于该框架漏洞挖掘人员仅需编写模糊测试制导程序即可完成定制化模糊测试,在不降低模糊测试效果的基础上可大幅提高模糊测试器开发效率.该框架包含一组涉及变异、监控、反馈等环节的模糊测试原语,作为制导程序的基本语句;还包含一套编程规范(FDS)及FDS解析器,支持制导程序的编写、解析和模糊测试器的生成.基于实现的可编程模糊测试框架原型Puzzer,在26个模糊测试原语的支持下,漏洞挖掘人员平均编写54行代码即可实现当前主流的5款万级代码模糊测试器的核心功能,并可覆盖总计87.8%的基本操作.基于Puzzer实现的AFL等价模糊测试器,仅用51行代码即可达到与AFL相当的模糊测试效果,具有良好的有效性. 相似文献
10.
定值-引用类错误是一类非常重要且常见的错误.当前,对这类错误的检测很难同时达到高精度和高可扩展性.通过合理组合敏感和不敏感的检测方法并控制两类方法的实施范围,可以同时达到高检测精度和高可扩展性.提出一种新颖的场景敏感的检测方法,该方法根据触发状态对潜在错误语句分类,识别不同类别语句的触发场景并实施不同开销的检测,在不降低精度的同时最小化检测开销.设计了一个多项式时间复杂度的流敏感、域敏感和上下文敏感的场景分析以进行分类,并基于程序依赖信息识别触发场景,仅对必要的触发场景实施路径敏感的检测.为上述方法实现了一种原型系统——Minerva.通过使用空指针引用错误检测为实例研究以及总代码规模超过290万行,最大单个应用超过200万行的应用验证,用例实验结果表明,Minerva的平均检测时间比当前先进水平的路径敏感检测工具Clang-sa和Saturn分别快3倍和46倍.而Minerva的误报率仅为24%,是Clang-sa和Saturn误报率的1/3左右,并且Minerva未发现漏报已知错误.上述数据表明,所提出的场景敏感的错误检测方法可同时获得高可扩展性和高检测精度. 相似文献