面向移动应用众测的人机协同引导技术
这是一篇关于自动化测试,众包测试,静态分析,人机协同的论文, 主要内容为随着手机操作系统的发展,Android操作系统在手机市场占据71.93%的份额,基于Android系统开发的应用也逐年猛增。Android应用数量庞大、迭代快速的特点也促进了Android应用测试的发展,其中主流的测试方法有移动应用自动化测试和众包测试。移动应用自动化测试能够以低成本快速高效的对应用进行测试,但由于Android系统碎片化问题严重,使得其测试结果达不到理想要求。众包测试是借助众包工人进行测试,能够使应用在不同机型不同系统版本中进行测试,但由于众包工人专业能力不一,使得其测试结果良莠不齐。在此背景之下,本文提出了面向移动应用众测的人机协同引导技术,通过兼容移动应用自动化测试和众包测试的优点,以自动化测试结果来引导众包工人进行测试,提高其测试能力,以众包测试对自动化测试未覆盖页面进行再测试,提高窗口覆盖率,最终实现以人机协同的方式更高效的对应用进行测试。本系统包括自动化测试数据处理模块、Android静态分析模块、Android引导模块和服务端模块。自动化测试数据处理模块是通过对移动应用自动化测试结果进行解析,提取应用在不同机型上测试的非重复性异常和异常路径信息,作为异常复现的依据。Android静态分析模块是通过使用静态分析工具对移动应用进行静态分析,获得应用所有窗口跳转路径,并通过与自动化测试结果进行比对,找出自动化测试中未覆盖的窗口,作为未覆盖界面引导的依据。Android引导模块是以插件形式嵌入到待测应用中,众包工人在测试过程中通过点击插件按钮来请求服务。服务端模块使用Spring Boot框架进行开发,通过结合My Batis实现了用户登录、任务推荐、路径引导和测试结果上报等功能的开发,使系统具有更高的可拓展性。系统在慕测平台进行了应用测试。通过选取Git Hub中10款开源移动应用,设置4组对照测试,在10台Android设备上进行了20分钟的系统实验。根据对用户提交的结果进行分析,表明该系统在众包工人测试异常的效率以及发现异常的数量等方面都有显著提高。在窗口覆盖率方面,本系统实现了窗口路径全覆盖,有效弥补了自动化测试的不足。
一种C语言静态代码检测工具的研究与实现
这是一篇关于软件测试,静态分析,编程规范,静态检测工具的论文, 主要内容为一直以来,使用人工对软件进行代码检测都是软件测试的主要方式。但是伴随着软件代码的规模越来越大,软件代码的复杂度越来越高,完全使用人工对软件进行检测已经显得越来越力不从心。在这样的背景下,计算机领域的专家们已经研究出了许多不同的软件检测技术。在这些技术中,静态代码检测技术由于不需要实际运行源代码程序,而是直接对程序源代码进行分析来发现软件源代码中存在的缺陷,具有分析速度快,自动化程度高的优点,并且在能够在软件开发的前期过程中便可以发现软件代码中存在的缺陷,所以如果能实现一种基于静态代码检测技术的检测工具,它将大大节约软件开发成本,提高软件开发效率。本文的目标正是对实现一种基于GJB5369-2005C语言代码编程规范的静态代码检测工具进行研究。 在实现静态代码检测工具的过程中主要进行了以下工作: (1)通过对C语言语法规则的分析,设计和实现封装C语言信息的抽象语法树模型。 (2)通过对词法分析器生成工具JLEX和语法分析器生成工具JCUP的研究,实现基于C语言语法规则的词法分析器和语法分析器。 (3)通过对现有静态代码分析技术的研究和利用,基于抽象语法树模型,设计和实现针对GJB5369-2005C语言代码编程规范的代码检测逻辑。 (4)通过使用各种框架技术(ExtJs/Spring/Hibernate)实现对于C语言的静态代码检测工具。 通过对静态代码检测工具进行测试的结果以及其与商业检测工具的对比分析结果证明,静态代码检测工具无论是误报率、漏报率还是检测精度和速度几个检测工具的评价指标上都不输于商业的静态代码检测工具,在某些规则的检测中甚至优于商业的静态代码检测工具。实践证明GJB5369静态代码检测工具能够很好地满足检测人员的使用需求。
针对Java Web应用的源码缺陷检测技术研究与实现
这是一篇关于Java Web应用,源码缺陷检测,静态分析,动态检测,双向污点分析的论文, 主要内容为随着互联网技术的不断发展,Web应用项目的不断推广和使用,Web应用的复杂度也在随着提高。为了适应云计算、大数据等新技术的需求,Web系统架构变得越来越复杂,同时也就带来了很多潜在的安全隐患。目前导致软件缺陷存在的主要原因是大多数开发人员将关注点放在了业务实现上,而忽略了编写安全代码的重要性。如果能在开发阶段对软件代码进行检测,及时修正代码中存在的安全缺陷,那么恶意攻击者的可乘之机就会大幅减少。随着JavaEE的迅速发展,Web开源框架得到推广,安全性和保密性较高的大型企业多是基于JavaEE进行软件开发。所以本文对Java Web应用的源码缺陷检测技术进行研究与实现具有一定的现实意义。本文对当前Java Web应用架构进行分析,着重研究了服务器端Java构件的原理和应用场景,包括JSP,Java Servlet和JavaBean。对于Web应用中的高危漏洞SQL注入和XSS跨站脚本攻击的原理和防范进行了深入研究。在源码静态分析部分,创新性地提出了一种双向污点传播分析方法,提高静态分析准确性的同时还能够获取污点数据的传播路径。在程序动态检测部分,创新性地提出了利用静态分析得出的污点传播路径和污点引入点程序切片信息来指导测试用例生成和监测代码植入的方法。并且在深入研究java web应用缺陷检测技术的基础上开发实现了一个针对Java Web应用的源码缺陷检测系统JavaChecker,实验结果表明本文提出的缺陷检测技术能有效的提高结果准确率。
一种C语言静态代码检测工具的研究与实现
这是一篇关于软件测试,静态分析,编程规范,静态检测工具的论文, 主要内容为一直以来,使用人工对软件进行代码检测都是软件测试的主要方式。但是伴随着软件代码的规模越来越大,软件代码的复杂度越来越高,完全使用人工对软件进行检测已经显得越来越力不从心。在这样的背景下,计算机领域的专家们已经研究出了许多不同的软件检测技术。在这些技术中,静态代码检测技术由于不需要实际运行源代码程序,而是直接对程序源代码进行分析来发现软件源代码中存在的缺陷,具有分析速度快,自动化程度高的优点,并且在能够在软件开发的前期过程中便可以发现软件代码中存在的缺陷,所以如果能实现一种基于静态代码检测技术的检测工具,它将大大节约软件开发成本,提高软件开发效率。本文的目标正是对实现一种基于GJB5369-2005C语言代码编程规范的静态代码检测工具进行研究。 在实现静态代码检测工具的过程中主要进行了以下工作: (1)通过对C语言语法规则的分析,设计和实现封装C语言信息的抽象语法树模型。 (2)通过对词法分析器生成工具JLEX和语法分析器生成工具JCUP的研究,实现基于C语言语法规则的词法分析器和语法分析器。 (3)通过对现有静态代码分析技术的研究和利用,基于抽象语法树模型,设计和实现针对GJB5369-2005C语言代码编程规范的代码检测逻辑。 (4)通过使用各种框架技术(ExtJs/Spring/Hibernate)实现对于C语言的静态代码检测工具。 通过对静态代码检测工具进行测试的结果以及其与商业检测工具的对比分析结果证明,静态代码检测工具无论是误报率、漏报率还是检测精度和速度几个检测工具的评价指标上都不输于商业的静态代码检测工具,在某些规则的检测中甚至优于商业的静态代码检测工具。实践证明GJB5369静态代码检测工具能够很好地满足检测人员的使用需求。
Java微服务应用身份认证缺陷静态检测关键技术研究
这是一篇关于微服务,静态分析,身份认证缺陷检测的论文, 主要内容为随着互联网技术的发展,软件使用场景日趋复杂,应用程序的规模也逐渐增大,传统的单体应用已经无法支撑起如今巨大的访问量场景。近几年,微服务架构的出现解决了传统单体应用和垂直应用架构的不足。在今天,已经有许多微服务开发技术应用在生产环境中。在微服务快速发展的同时,微服务应用程序的安全问题也受到研究人员的广泛关注。其中,应用程序自身代码错误和设计缺陷导致的身份认证问题是困扰研究人员的主要问题之一。静态分析作为一项可以检测软件源代码安全性和规范性的重要技术,能够将代码中的问题提前暴露出来,降低了线上崩溃的风险,但是,要检测微服务身份认证缺陷,需要解决以下三个问题:(1)由于微服务的运行时特性使得静态分析在构造过程间调用图时不够精确,进而影响静态分析结果的准确性。(2)由于微服务快速且小范围地更新迭代特点,导致原本耗时就长的静态分析在微服务上会产生更多的重复分析进而增加耗时。(3)现有的身份认证缺陷检测方法存在人工成本高、检测环境搭建复杂、无法在开发阶段提前暴露缺陷的问题。为解决上述问题,本文提出了运行时特性解析算法,实现了对调用图缺失调用边的补全;提出了调用图增量更新算法,有效减少了微服务调用图构造耗时。本文在这两项关键技术的基础上实现了基于静态分析的微服务身份认证缺陷检测算法,该算法从源码角度分析,无需搭建受检程序运行环境,在少量人工配置下即可准确高效地完成微服务身份认证缺陷检测,将缺陷在开发阶段提前暴露出来,有效维护了用户的隐私数据和财产安全。本文具体工作与创新点如下:(1)针对Java微服务应用程序中存在的运行时特性,导致静态分析在构造过程间调用图时丢失调用边的问题,本文为过滤器、拦截器等五类在Java微服务应用中常见的运行时特性,分别设计了相应的解析算法,解决了调用图运行时调用关系不完整的问题。本文通过与原生Soot构造调用图的对比实验,证明了运行时特性解析算法能够在保证调用图构造耗时基本不发生变化的情况下精准地捕捉到缺失的调用关系,并初步验证了运行时特性解析算法能够提升身份认证缺陷检测的准确性。(2)针对静态分析在处理频繁更新迭代的微服务应用时出现的构造调用图耗时劣化的问题,本文提出了基于变更集的微服务调用图增量更新方法,旨在减少构造调用图时产生的重复计算,进而达到缩短调用图构造耗时的目的。本文设计了三种操作:增加、删除、修改,以模拟应用的更新迭代,与原生Soot构造调用图的耗时进行对比。实验结果表明,微服务调用图增量更新算法在测试项目中平均耗时减少了 15.2%,并且随着迭代次数的增加,增量更新算法能够带来更多的耗时缩减收益。(3)针对现有身份认证缺陷检测技术成本高,且无法在代码开发阶段提前暴露缺陷的问题,本文在运行时特性解析和调用图增量更新两项关键技术的基础上,设计了微服务身份认证缺陷数据流分析算法,实现了通过追踪包含身份认证信息变量的传递流程来判断调用链路是否包含身份认证。此外,本文还设计并实现了微服务身份认证缺陷检测工具AuthStaticChecker。实验结果表明,本文算法能够有效地在微服务应用开发阶段从源代码角度提前暴露程序中存在的身份认证缺陷,并验证了本文算法相较于原生Soot分析具有更高的准确性和分析效率。
针对Java Web应用的源码缺陷检测技术研究与实现
这是一篇关于Java Web应用,源码缺陷检测,静态分析,动态检测,双向污点分析的论文, 主要内容为随着互联网技术的不断发展,Web应用项目的不断推广和使用,Web应用的复杂度也在随着提高。为了适应云计算、大数据等新技术的需求,Web系统架构变得越来越复杂,同时也就带来了很多潜在的安全隐患。目前导致软件缺陷存在的主要原因是大多数开发人员将关注点放在了业务实现上,而忽略了编写安全代码的重要性。如果能在开发阶段对软件代码进行检测,及时修正代码中存在的安全缺陷,那么恶意攻击者的可乘之机就会大幅减少。随着JavaEE的迅速发展,Web开源框架得到推广,安全性和保密性较高的大型企业多是基于JavaEE进行软件开发。所以本文对Java Web应用的源码缺陷检测技术进行研究与实现具有一定的现实意义。本文对当前Java Web应用架构进行分析,着重研究了服务器端Java构件的原理和应用场景,包括JSP,Java Servlet和JavaBean。对于Web应用中的高危漏洞SQL注入和XSS跨站脚本攻击的原理和防范进行了深入研究。在源码静态分析部分,创新性地提出了一种双向污点传播分析方法,提高静态分析准确性的同时还能够获取污点数据的传播路径。在程序动态检测部分,创新性地提出了利用静态分析得出的污点传播路径和污点引入点程序切片信息来指导测试用例生成和监测代码植入的方法。并且在深入研究java web应用缺陷检测技术的基础上开发实现了一个针对Java Web应用的源码缺陷检测系统JavaChecker,实验结果表明本文提出的缺陷检测技术能有效的提高结果准确率。
面向移动应用众测的人机协同引导技术
这是一篇关于自动化测试,众包测试,静态分析,人机协同的论文, 主要内容为随着手机操作系统的发展,Android操作系统在手机市场占据71.93%的份额,基于Android系统开发的应用也逐年猛增。Android应用数量庞大、迭代快速的特点也促进了Android应用测试的发展,其中主流的测试方法有移动应用自动化测试和众包测试。移动应用自动化测试能够以低成本快速高效的对应用进行测试,但由于Android系统碎片化问题严重,使得其测试结果达不到理想要求。众包测试是借助众包工人进行测试,能够使应用在不同机型不同系统版本中进行测试,但由于众包工人专业能力不一,使得其测试结果良莠不齐。在此背景之下,本文提出了面向移动应用众测的人机协同引导技术,通过兼容移动应用自动化测试和众包测试的优点,以自动化测试结果来引导众包工人进行测试,提高其测试能力,以众包测试对自动化测试未覆盖页面进行再测试,提高窗口覆盖率,最终实现以人机协同的方式更高效的对应用进行测试。本系统包括自动化测试数据处理模块、Android静态分析模块、Android引导模块和服务端模块。自动化测试数据处理模块是通过对移动应用自动化测试结果进行解析,提取应用在不同机型上测试的非重复性异常和异常路径信息,作为异常复现的依据。Android静态分析模块是通过使用静态分析工具对移动应用进行静态分析,获得应用所有窗口跳转路径,并通过与自动化测试结果进行比对,找出自动化测试中未覆盖的窗口,作为未覆盖界面引导的依据。Android引导模块是以插件形式嵌入到待测应用中,众包工人在测试过程中通过点击插件按钮来请求服务。服务端模块使用Spring Boot框架进行开发,通过结合My Batis实现了用户登录、任务推荐、路径引导和测试结果上报等功能的开发,使系统具有更高的可拓展性。系统在慕测平台进行了应用测试。通过选取Git Hub中10款开源移动应用,设置4组对照测试,在10台Android设备上进行了20分钟的系统实验。根据对用户提交的结果进行分析,表明该系统在众包工人测试异常的效率以及发现异常的数量等方面都有显著提高。在窗口覆盖率方面,本系统实现了窗口路径全覆盖,有效弥补了自动化测试的不足。
JSP跨站脚本漏洞静态检测技术的研究与实现
这是一篇关于JSP安全漏洞,跨站脚本,静态分析,控制流分析,数据流分析的论文, 主要内容为JSP作为一种基于Java Servlet的Web开发技术,在动态网页开发方面正在得到越来越广泛的应用,只存在于动态网页的跨站脚本攻击(XSS)漏洞,一样存在于JSP应用程序中。如果对其不加以防范的话,XSS漏洞很可能被一些恶意攻击者利用,给JSP应用程序带来威胁。比如,攻击者可以利用XSS漏洞来盗取客户端cookie值或者其他可以用于标识用户身份的敏感信息,从而利用合法用户身份做一些恶意攻击。 本文首先介绍了跨站脚本漏洞的形成原理,分类,以及防范措施等一些基本情况,同时回顾了目前针对XSS漏洞的主要检测方法,并分析其各自的优缺点。 接着介绍了几种主要的静态代码分析技术以及它们在安全漏洞检测方面的应用。 在此基础上,对XSS漏洞形成过程进行了分析,设计了一组XSS漏洞存在的判断条件。然后提出一个基于控制流分析和数据流分析的静态检测方法,对JSP源代码进行静态分析,得到相关语句之间的控制流信息和数据流信息,在使用这些信息来得到漏洞存在判断条件的状态组合,从而得出检测结果。针对单个JSP页面做检测的同时也考虑那些在页面间传递的数据,从页面级别漏洞中筛选出程序级别漏洞。 然后在静态检测方法的基础上设计和实现了一个针对JSP跨站脚本漏洞的静态检测系统,并对系统进行了测试。 最后总结了检测方法存在的不足,并对后继工作进行了展望。
一种C语言静态代码检测工具的研究与实现
这是一篇关于软件测试,静态分析,编程规范,静态检测工具的论文, 主要内容为一直以来,使用人工对软件进行代码检测都是软件测试的主要方式。但是伴随着软件代码的规模越来越大,软件代码的复杂度越来越高,完全使用人工对软件进行检测已经显得越来越力不从心。在这样的背景下,计算机领域的专家们已经研究出了许多不同的软件检测技术。在这些技术中,静态代码检测技术由于不需要实际运行源代码程序,而是直接对程序源代码进行分析来发现软件源代码中存在的缺陷,具有分析速度快,自动化程度高的优点,并且在能够在软件开发的前期过程中便可以发现软件代码中存在的缺陷,所以如果能实现一种基于静态代码检测技术的检测工具,它将大大节约软件开发成本,提高软件开发效率。本文的目标正是对实现一种基于GJB5369-2005C语言代码编程规范的静态代码检测工具进行研究。 在实现静态代码检测工具的过程中主要进行了以下工作: (1)通过对C语言语法规则的分析,设计和实现封装C语言信息的抽象语法树模型。 (2)通过对词法分析器生成工具JLEX和语法分析器生成工具JCUP的研究,实现基于C语言语法规则的词法分析器和语法分析器。 (3)通过对现有静态代码分析技术的研究和利用,基于抽象语法树模型,设计和实现针对GJB5369-2005C语言代码编程规范的代码检测逻辑。 (4)通过使用各种框架技术(ExtJs/Spring/Hibernate)实现对于C语言的静态代码检测工具。 通过对静态代码检测工具进行测试的结果以及其与商业检测工具的对比分析结果证明,静态代码检测工具无论是误报率、漏报率还是检测精度和速度几个检测工具的评价指标上都不输于商业的静态代码检测工具,在某些规则的检测中甚至优于商业的静态代码检测工具。实践证明GJB5369静态代码检测工具能够很好地满足检测人员的使用需求。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码驿站 ,原文地址:https://m.bishedaima.com/lunwen/46879.html