期刊文献+
共找到21篇文章
< 1 2 >
每页显示 20 50 100
程序理解:现状与未来 被引量:13
1
作者 金芝 刘芳 李戈 《软件学报》 EI CSCD 北大核心 2019年第1期110-126,共17页
程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知... 程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知逐渐成为新的关注点,有必要对程序理解进行重新审视.从工程、学习和认知以及方法和技术这3个角度定位程序理解任务;随后,通过文献分析展示其研究布局,进而分别从认知过程、理解技术以及软件工程任务中的应用这3个方面,综合论述程序理解研究的发展脉络和研究进展. 展开更多
关键词 软件工程 程序理解 软件理解 程序静态分析 程序动态分析
下载PDF
C语言静态代码分析中的调用关系提取方法 被引量:7
2
作者 江梦涛 荆琦 《计算机科学》 CSCD 北大核心 2014年第S1期442-444,共3页
程序静态分析(Program Static Analysis)是指在不运行代码的方式下,通过词法分析、语法分析、控制流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。首先对程序静态分析的... 程序静态分析(Program Static Analysis)是指在不运行代码的方式下,通过词法分析、语法分析、控制流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。首先对程序静态分析的特点、常用静态分析技术、静态分析实现方式进行描述,然后通过一个实例讲解C语言静态代码分析中函数与变量的调用关系的实现方法,总结了现今在C语言调用关系分析中可以借鉴的工具与实现方式。 展开更多
关键词 程序静态分析 函数调用 代码安全
下载PDF
面向对象程序设计语言的绑定时间分析技术 被引量:5
3
作者 廖湖声 童兆丰 王众 《软件学报》 EI CSCD 北大核心 2003年第3期415-421,共7页
为了实现面向对象语言的部分求值,提出了一种绑定时间分析技术.该技术通过针对引用类型变量和指针变量的上下文敏感分析,能够比较精确地分析面向对象语言中诸如对象元素、数组元素等复杂数据结构元素的绑定时间,进而扩大了部分求值的作... 为了实现面向对象语言的部分求值,提出了一种绑定时间分析技术.该技术通过针对引用类型变量和指针变量的上下文敏感分析,能够比较精确地分析面向对象语言中诸如对象元素、数组元素等复杂数据结构元素的绑定时间,进而扩大了部分求值的作用范围.这种方法采用两层BTA环境来保存静态变量和局部变量的BTA状态,设置一种专用句柄来表示不同程序点创建的对象,进而采用这种句柄的集合表示引用类型变量的BTA状态.在为面向对象语言程序标注绑定时间信息的过程中,采用一个正向分析和一个反向分析过程,借助于BTA环境来跟踪和设定各种变量、对象和引用变量的绑定时间.该技术已经用于实现Java程序的绑定时间分析,能够有效地分析大多数单线程的Java程序,为实现高性能Java程序部分求值提供了必要的手段. 展开更多
关键词 面向对象 程序设计语言 绑定时间分析技术 程序静态分析
下载PDF
一种检查面向对象程序中数据流异常的方法 被引量:2
4
作者 郭健强 蔡希尧 《计算机研究与发展》 EI CSCD 北大核心 2000年第6期672-676,共5页
数据流异常是指程序中与变量使用有关的不合常规的“可疑”情况.仅靠传统的数据流异常检查技术不能发现面向对象程序中与实例变量有关的数据流异常,将方法序列规范与传统的检查技术结合起来,提出了一种能检查对象的实例变量的数据流... 数据流异常是指程序中与变量使用有关的不合常规的“可疑”情况.仅靠传统的数据流异常检查技术不能发现面向对象程序中与实例变量有关的数据流异常,将方法序列规范与传统的检查技术结合起来,提出了一种能检查对象的实例变量的数据流异常的方法.当类中方法的调用顺序符合该类的方法序列规范时,应用提出的方法能保证发现所有的介于不同方法之间的数据流异常. 展开更多
关键词 数据流异常 程序静态分析 面向对象 程序设计
下载PDF
使用敏感路径识别方法分析安卓应用安全性 被引量:5
5
作者 缪小川 汪睿 +2 位作者 许蕾 张卫丰 徐宝文 《软件学报》 EI CSCD 北大核心 2017年第9期2248-2263,共16页
安卓系统在手机端操作系统中长期占据主导地位,但由于安卓系统开放共享的特性和不够严谨的第三方市场审核机制,安卓平台受到众多恶意应用的侵扰.结合静态程序分析和机器学习方法,提出了基于敏感路径识别的安卓应用安全性分析方法.首先,... 安卓系统在手机端操作系统中长期占据主导地位,但由于安卓系统开放共享的特性和不够严谨的第三方市场审核机制,安卓平台受到众多恶意应用的侵扰.结合静态程序分析和机器学习方法,提出了基于敏感路径识别的安卓应用安全性分析方法.首先,针对恶意应用中存在的恶意行为以及触发条件,定义了敏感路径;其次,针对安卓应用中存在大量组件间函数调用关系问题,提出了一种生成应用组件间函数调用关系图的方法;再次,由于提取出的敏感路径信息无法直接作为识别特征,实现了一种基于敏感路径信息抽象的特征提取方法;最后,从Google Play、豌豆荚、Drebin等来源收集了493个应用APK文件作为实验数据集,该方法的准确率为97.97%,高于基于API-Feature的检测方法(90.47%).此外,在恶意应用和良性应用检测的精度、召回率、F度量等方面,该方法均优于API-Feature方法.另外,实验结果表明:APK文件大小会影响实验的结果,尤其体现在分析时间上(0~4MB大小的APK平均分析用时89s;文件增大后,平均分析用时增长明显). 展开更多
关键词 安卓恶意应用 敏感路径 组件函数调用关系 程序静态分析 特征抽象
下载PDF
基于符号执行的注入类安全漏洞的分析技术 被引量:5
6
作者 孙基男 潘克峰 +1 位作者 陈雪峰 张君福 《北京大学学报(自然科学版)》 EI CAS CSCD 北大核心 2018年第1期1-13,共13页
采用符号值作为输入,模拟程序执行,提取执行路径上相应的约束条件,即安全约束、攻击约束以及防御约束,并构成可满足矩阵(SAT)以及不可满足矩阵(UNSAT)两个注入类漏洞安全分析与检测模型,矩阵模型的求解结果可映射为注入类安全漏洞的安... 采用符号值作为输入,模拟程序执行,提取执行路径上相应的约束条件,即安全约束、攻击约束以及防御约束,并构成可满足矩阵(SAT)以及不可满足矩阵(UNSAT)两个注入类漏洞安全分析与检测模型,矩阵模型的求解结果可映射为注入类安全漏洞的安全状态。对Web应用注入类漏洞的检测实验表明,与目前安全分析主流工具相比,该分析技术具有降低误报率、漏报率、能自动生成攻击向量等优点。 展开更多
关键词 注入类安全漏洞 符号执行 程序静态分析 WEB应用安全
下载PDF
基于序列到序列模型的代码片段推荐 被引量:4
7
作者 闫鑫 周宇 黄志球 《计算机科学与探索》 CSCD 北大核心 2020年第5期731-739,共9页
在软件开发过程中,开发者经常会以复用代码的方式,提高软件开发效率。已有的研究通常采用传统的信息检索技术来实现代码推荐。这些方法存在自然语言查询的高层级的意图与代码的低层级的实现细节不匹配的问题。提出了一种基于序列到序列... 在软件开发过程中,开发者经常会以复用代码的方式,提高软件开发效率。已有的研究通常采用传统的信息检索技术来实现代码推荐。这些方法存在自然语言查询的高层级的意图与代码的低层级的实现细节不匹配的问题。提出了一种基于序列到序列模型的代码片段推荐方法DeepCR。该方法结合程序静态分析技术与序列到序列模型,训练自然语言查询生成模型,为代码片段生成查询,通过计算生成的查询和开发者输入的自然语言查询的相似度得分来实现代码片段推荐。所构建的代码库的数据来源于Stack Overflow问答网站,确保了数据的真实性。通过计算代码片段推荐结果的平均倒数排名(MRR)和Hit@K来验证方法的有效性。实验结果表明,DeepCR优于现有研究工作,能够有效提高代码片段推荐效果。 展开更多
关键词 程序静态分析 序列到序列模型 代码片段推荐
下载PDF
Android应用隐私泄露的自动化检测 被引量:3
8
作者 刘涛 唐祝寿 沈备军 《计算机应用与软件》 CSCD 2015年第3期297-301,316,共6页
随着Android成为全球市场占有率第一的智能手机操作系统,其平台上的恶意程序也呈爆发趋势,尤其是Android应用的隐私泄露问题日趋严重。随着技术的发展,Android应用隐私泄露的隐蔽性越来越高,检测难度越来越大,例如使用反射技术来隐藏隐... 随着Android成为全球市场占有率第一的智能手机操作系统,其平台上的恶意程序也呈爆发趋势,尤其是Android应用的隐私泄露问题日趋严重。随着技术的发展,Android应用隐私泄露的隐蔽性越来越高,检测难度越来越大,例如使用反射技术来隐藏隐私泄露的操作。面对这一挑战,对Android应用程序的伪代码进行检测分析,并对伪代码中出现的反射调用检测提出新的分析方法,通过将反射调用的参数进行组合还原为标准的函数调用,使得反射调用显式化,从而检测出原本没法检测确认的隐私泄露行为。在此基础上设计实现了Android应用隐私泄露的静态检测工具,并通过对市场上的普通应用软件和收集的恶意程序进行实验分析,验证了分析方法和工具的有效性。 展开更多
关键词 反射检测 程序静态分析 污染分析 ANDROID应用
下载PDF
基于程序静态分析和故障树的软件故障检测 被引量:2
9
作者 叶俊民 张涛 +1 位作者 董威 齐治昌 《计算机工程》 CAS CSCD 北大核心 2008年第16期75-76,79,共3页
为提高软件安全性和可靠性,探讨一种在软件故障检测过程中将故障定位和原因分析相结合的方法,该方法基于对程序的静态分析,找出故障的位置,利用故障树定位故障原因。非法计算是一种常见的软件故障,该类故障极易导致系统崩溃,该文以一个... 为提高软件安全性和可靠性,探讨一种在软件故障检测过程中将故障定位和原因分析相结合的方法,该方法基于对程序的静态分析,找出故障的位置,利用故障树定位故障原因。非法计算是一种常见的软件故障,该类故障极易导致系统崩溃,该文以一个非法计算故障为例,说明该方法的分析过程,实验表明其可以有效地定位故障并分析其原因。 展开更多
关键词 程序静态分析 故障树 故障检测
下载PDF
从GCC的AST文本提取C源程序静态信息的方法 被引量:2
10
作者 封战胜 苏小红 马培军 《哈尔滨工业大学学报》 EI CAS CSCD 北大核心 2010年第7期1100-1103,共4页
为了能够正确的分析源程序的控制依赖关系和数据依赖关系,以便在此基础上进行程序切片及冗余代码和重复代码检测,提出一种利用GCC抽象语法树(AST)文本来提取源程序静态信息的方法.首先,对GCCAST文本进行标准化及消除文本中与控制流分析... 为了能够正确的分析源程序的控制依赖关系和数据依赖关系,以便在此基础上进行程序切片及冗余代码和重复代码检测,提出一种利用GCC抽象语法树(AST)文本来提取源程序静态信息的方法.首先,对GCCAST文本进行标准化及消除文本中与控制流分析和数据流分析无关的结点信息;其次,构建控制依赖子图;同时如果需要数据流分析,在控制依赖子图的基础上构建控制流图,在控制流图的基础上构建数据流子图;最后通过引入过程间分析来完善系统依赖图.实验结果表明,这种方法基本能正确的分析源程序的控制依赖和数据依赖关系,具有更好的适应性和灵活性. 展开更多
关键词 程序静态分析 AST 控制依赖 数据依赖 控制流图 系统依赖图
下载PDF
基于PAT树的程序静态分析方法 被引量:1
11
作者 朱剑林 《咸宁学院学报》 2007年第6期44-48,共5页
软件测试是软件工程的重要组成部分,程序静态分析技术是软件测试中静态测试的基础,该技术通过对程序源代码进行分析以发现其中的错误.文章提出了一种程序静态分析方法,建立了一个树形结构的模型PAT(Program Analysis Tree)形式化描述了J... 软件测试是软件工程的重要组成部分,程序静态分析技术是软件测试中静态测试的基础,该技术通过对程序源代码进行分析以发现其中的错误.文章提出了一种程序静态分析方法,建立了一个树形结构的模型PAT(Program Analysis Tree)形式化描述了Java程序,准确地描述了Java程序的逻辑结构.最后给出了一个基于此模型的程序分析方法. 展开更多
关键词 软件测试 静态测试 程序静态分析 PAT
下载PDF
基于情境感知的API个性化推荐 被引量:1
12
作者 陈晨 周宇 +1 位作者 王永超 黄志球 《计算机科学》 CSCD 北大核心 2021年第12期100-106,共7页
在软件开发的过程中,开发人员在遇到编程困境时通常会检索合适的API来完成编程任务。情境信息和开发者画像在有效的API推荐中起着至关重要的作用,却在很大程度上被忽视了。因而文中提出了一种基于情境感知的API个性化推荐方法。该方法... 在软件开发的过程中,开发人员在遇到编程困境时通常会检索合适的API来完成编程任务。情境信息和开发者画像在有效的API推荐中起着至关重要的作用,却在很大程度上被忽视了。因而文中提出了一种基于情境感知的API个性化推荐方法。该方法利用程序静态分析技术,对代码文件做抽象语法树解析,提取信息构建代码库,并对开发者API使用偏好建模。然后计算开发者当前查询语句与历史代码库中查询的语义相似度,检索出top-k个相似历史查询。最终利用查询语句信息、方法名信息、情境信息以及开发者API使用偏好信息对API进行重排序并推荐给开发者。通过模拟编程任务开发的不同阶段,使用MRR,MAP,Hit, NDCG评估指标来验证所提方法的有效性。实验结果表明,所提方法的API推荐效果优于基准方法,能够为开发者推荐更想要的API。 展开更多
关键词 API推荐 程序静态分析 情境感知 开发者画像
下载PDF
面向编译器测试的部分求值静态输入确定方法
13
作者 刘磊 瓮杰 郭德贵 《吉林大学学报(工学版)》 EI CAS CSCD 北大核心 2020年第1期262-267,共6页
在编译器测试中,基于部分求值技术的编译器测试方法在部分求值阶段时,必须由测试人员对具体的测试用例进行分析,然后手动指定程序中的一些变量作为静态输入,这种依赖人工手动指定的策略具有一定的盲目性,而且无法使测试过程自动化进行... 在编译器测试中,基于部分求值技术的编译器测试方法在部分求值阶段时,必须由测试人员对具体的测试用例进行分析,然后手动指定程序中的一些变量作为静态输入,这种依赖人工手动指定的策略具有一定的盲目性,而且无法使测试过程自动化进行。为了解决这一问题,提出了一种基于变量依赖关系的源程序静态输入及其取值的确定方法,使基于部分求值技术的编译器测试框架的测试过程得以自动化进行,从而提高了测试效率。实验结果证明了本文方法的可行性。 展开更多
关键词 计算机软件 编译器测试 部分求值 静态输入 程序静态分析
原文传递
使用程序静态分析技术识别Web程序中的用例结构
14
作者 王泽雨 周晓宇 《软件》 2014年第7期78-84,共7页
本文利用程序静态分析技术对Web程序中的用例识别进行了深入研究。对Web页面的用户行为进行了深入分析并建模,从行为模型中提取出描述整个系统中用户行为的事件流图,结合采用现有的从目的成功语句出发、以必经结点为基础的用例识别方法... 本文利用程序静态分析技术对Web程序中的用例识别进行了深入研究。对Web页面的用户行为进行了深入分析并建模,从行为模型中提取出描述整个系统中用户行为的事件流图,结合采用现有的从目的成功语句出发、以必经结点为基础的用例识别方法,从各个Web页面中提取的独立控制流图,形成全局控制流图,进行全局用例识别。与以前已有工作相比,本文考虑了Web程序的特点,尤其是前端程序如何实现用户行为,并在前端程序中进行精确的用例识别。本文采用目前使用较为广泛的JSP程序进行了实验,结果表明该方法能够有效识别JSP程序中的用例结构。 展开更多
关键词 计算机软件理论 用例识别 程序静态分析 WEB程序
下载PDF
基于区间线性模版约束的程序分析
15
作者 姜加红 尹帮虎 陈立前 《计算机学报》 EI CSCD 北大核心 2018年第3期545-557,共13页
抽象解释是一种对程序语义进行可靠近似的通用理论,该理论在保证可靠性的前提下,可为程序变量的值范围分析提供一个通用的框架.抽象域是抽象解释框架的核心,在该框架下面向数值性质分析的数值抽象域得到了广泛的关注.其中,模板多面体抽... 抽象解释是一种对程序语义进行可靠近似的通用理论,该理论在保证可靠性的前提下,可为程序变量的值范围分析提供一个通用的框架.抽象域是抽象解释框架的核心,在该框架下面向数值性质分析的数值抽象域得到了广泛的关注.其中,模板多面体抽象域的表达能力覆盖了程序分析中常用的弱关系型抽象域,如区间抽象域、八边形抽象域等.该文对经典的基于线性模版约束的模版多面体抽象域进行扩展,以支持区间线性模版约束,从而得到一个新的数值抽象域——区间线性模版约束抽象域,可以用来推导变量间形如"∑k[a_k,b_k]x_k≤c"的区间线性不等式关系(其中区间系数[a_k,b_k]为分析前预先确定的常量).该抽象域采用"弱解"作为区间线性约束的解语义,可以表达某类非凸(甚至非联通)性质,因而比经典的模版多面体抽象域表达能力更强.区间线性模板约束抽象域的域元素可以看作是一系列模版多面体的析取,几何上,其域元素与每个象限的交均是一个凸的模板多面体(可以为空).该文给出了区间线性模版约束抽象域的域表示和域操作,基于该抽象域的静态分析算法主要基于区间线性规划来实现.进一步,该文讨论了基于区间线性模版约束抽象域中区间线性模版的生成方法.最后,该文在开源数值抽象库APRON中实现了区间线性模版约束抽象域,并开展了程序分析实验.初步的实验结果表明区间线性模版约束抽象域可以有效地分析程序中的析取行为. 展开更多
关键词 抽象解释 区间线性模版约束 区间线性规划 程序静态分析 非凸性质
下载PDF
基于语义抽象的内存访问错误检测
16
作者 蒋剑琴 黄达明 曾庆凯 《解放军理工大学学报(自然科学版)》 EI 北大核心 2009年第3期262-268,共7页
为了检测内存访问错误,提出了一种基于语义抽象的内存访问错误检测方法,通过对程序具体语义的完备近似抽象,对相关约束变量操作的精确检验,以及控制流图遍历中的函数信息收集,能够在过程间完备地静态检测C程序源代码中的内存访问边界错... 为了检测内存访问错误,提出了一种基于语义抽象的内存访问错误检测方法,通过对程序具体语义的完备近似抽象,对相关约束变量操作的精确检验,以及控制流图遍历中的函数信息收集,能够在过程间完备地静态检测C程序源代码中的内存访问边界错误。通过将程序分析和程序验证相结合,提高内存检查的自动化和准确性。原型实现表明了方法的有效性。 展开更多
关键词 软件安全 程序静态分析 语义抽象 内存访问错误
下载PDF
基于基元关系模型的C++程序静态分析器 被引量:2
17
作者 汪浩 金茂忠 +1 位作者 陈起 高仲仪 《北京航空航天大学学报》 EI CAS CSCD 北大核心 2001年第4期391-395,共5页
分析了面向对象软件测试和度量的特点 ,结合面向对象程序的性质提出了描述程序基本组成元素之间关系的基元关系模型 (ERM) ,介绍了从基于MFC(MicrosoftFoundationClass)的VisualC ++6.0源程序中构造ERM模型的算法 ,据此构造了一个基于... 分析了面向对象软件测试和度量的特点 ,结合面向对象程序的性质提出了描述程序基本组成元素之间关系的基元关系模型 (ERM) ,介绍了从基于MFC(MicrosoftFoundationClass)的VisualC ++6.0源程序中构造ERM模型的算法 ,据此构造了一个基于基元关系模型的VC ++6.0程序静态分析器 .对分析器实现中采取的名称空间符号表、增量式开发和增量式分析等关键技术进行了介绍 .实践证明 ,该分析器可以高效正确地提取出模型中描述的各种关系 。 展开更多
关键词 软件工程 软件工具 程序语言 面向对象 软件测试 软件开发 C++程序静态分析
下载PDF
基于污点分析的二进制程序漏洞检测系统设计与实现 被引量:1
18
作者 罗治祥 向栖 李乐言 《网络安全与数据治理》 2023年第11期1-7,共7页
针对现阶段二进制程序的静态分析多依赖于人工经验规则导致的低效率问题,以及大多数二进制程序漏洞扫描检测系统性能和可扩展性较低的问题,设计并且实现了一个简易版的基于污点分析的二进制程序漏洞检测系统。与现有的二进制程序漏洞检... 针对现阶段二进制程序的静态分析多依赖于人工经验规则导致的低效率问题,以及大多数二进制程序漏洞扫描检测系统性能和可扩展性较低的问题,设计并且实现了一个简易版的基于污点分析的二进制程序漏洞检测系统。与现有的二进制程序漏洞检测系统相比,本文设计的系统改进了Java指针分析中提出的算法,使得分析过程的数据抽象部分和指针分析部分得到了分离,进一步简化了污点分析,提高了分析的性能和可扩展性。此外,将漏洞模式单独抽离出来,能够更加方便地进行漏洞模式的自定义。 展开更多
关键词 二进制程序静态分析 指针分析 污点分析 漏洞模式
下载PDF
330kV双回复合杆塔的电场分布与均压特性 被引量:5
19
作者 王青于 王浩然 +2 位作者 杨熙 王加龙 彭宗仁 《电网技术》 EI CSCD 北大核心 2015年第12期3649-3655,共7页
330 k V双回复合杆塔的结构复杂,均压、均场问题突出,为了深入研究其电场分布与均压特性,应用三维有限元分析软件ANSYS,采用程序化静态分析方法和谐响应分析方法,计算了复合杆塔各组成构件承受电压随时间的变化规律,分析了大地、导线等... 330 k V双回复合杆塔的结构复杂,均压、均场问题突出,为了深入研究其电场分布与均压特性,应用三维有限元分析软件ANSYS,采用程序化静态分析方法和谐响应分析方法,计算了复合杆塔各组成构件承受电压随时间的变化规律,分析了大地、导线等因素对复合杆塔电位分布的影响规律,优化了复合杆塔的横担部分与塔身部分各关键位置的电场分布。研究结果表明:330 k V复合杆塔在原设计的基础上配置合理的均压屏蔽装置能使其电位分布合理,电场分布处于可控范围。 展开更多
关键词 330 kV复合杆塔 电场分布 均压特性 谐响应分析 程序静态分析
下载PDF
基于循环变量的死循环检测 被引量:1
20
作者 常慧娟 《自动化技术与应用》 2015年第4期44-46,共3页
本文提出了一种检测C语言程序的循环结构中是否存在死循环的方法,该方法基于循环结构中的循环变量,采用了程序的静态分析技术,以及程序切片的思想来分析和理解程序,通过上述方法来判断给定的程序中是否存在死循环模式,也即在程序运行中... 本文提出了一种检测C语言程序的循环结构中是否存在死循环的方法,该方法基于循环结构中的循环变量,采用了程序的静态分析技术,以及程序切片的思想来分析和理解程序,通过上述方法来判断给定的程序中是否存在死循环模式,也即在程序运行中是否会出现死循环问题,从而提高程序的运行效率。 展开更多
关键词 循环变量 死循环 程序静态分析 程序切片
下载PDF
上一页 1 2 下一页 到第
使用帮助 返回顶部