期刊文献+
共找到16篇文章
< 1 >
每页显示 20 50 100
Developing a Clang Libtooling-Based Refactoring Tool for CUDA GPU Programming
1
作者 Kian Nejadfard Janche Sang 《Journal of Software Engineering and Applications》 2024年第2期89-108,共20页
Refactoring tools, whether fully automated or semi-automated, are essential components of the software development life cycle. As software libraries and frameworks evolve over time, it’s crucial for programs utilizin... Refactoring tools, whether fully automated or semi-automated, are essential components of the software development life cycle. As software libraries and frameworks evolve over time, it’s crucial for programs utilizing them to also evolve to remain compatible with modern advancements. Take, for example, NVIDIA CUDA’s platform for general-purpose GPU programming. Embracing the more contemporary unified memory architecture offers several benefits, such as simplifying program source code, reducing bugs stemming from manual memory management between host and device memory, and optimizing memory transfer through automated memory handling. This paper describes our development of a refactoring tool based on Clang’s Libtooling to facilitate this transition automatically, thereby relieving developers from the burden and risks associated with manually refactoring large code bases. 展开更多
关键词 REFACTORING CUDA Unified Memory clang Libtooling
下载PDF
针对C语言的面向方面语言设计与实现 被引量:6
2
作者 朱云龙 陈哲 +2 位作者 王哲民 李绪蓉 黄志球 《小型微型计算机系统》 CSCD 北大核心 2016年第12期2679-2684,共6页
C语言是使用率仅次于Java的编程语言,在实时控制、嵌入式系统、硬件驱动等领域有着广泛的应用.发展自面向对象的面向方面编程(AOP)思想是对横切关注点的有效模块化方法,如何将AOP的概念引入到面向过程的C语言中,提高开发效率和代码复用... C语言是使用率仅次于Java的编程语言,在实时控制、嵌入式系统、硬件驱动等领域有着广泛的应用.发展自面向对象的面向方面编程(AOP)思想是对横切关注点的有效模块化方法,如何将AOP的概念引入到面向过程的C语言中,提高开发效率和代码复用率,是一个非常有实际意义的课题.针对该课题,本文设计并实现一种针对C的AOP语言MOVEC.分析了AOP的基本概念并将现有针对C的AOP语言进行了对比;设计了更加完善的针对C的AOP语言MOVEC;给出了基于开源编译器Clang和源代码插桩的M OVEC语言实现;通过实验从时间和空间效率上证明了M OVEC语言的可行性. 展开更多
关键词 C语言 面向方面 clang 源代码
下载PDF
采用Clang/LLVM的C++源代码覆盖率分析插装方法 被引量:3
3
作者 李树芳 安金霞 +1 位作者 刘洋 陈良 《计算机科学》 CSCD 北大核心 2017年第11期191-194,共4页
近年来,越来越多的安全关键软件系统运行在国产Linux操作系统上,其中大多数采用C++开发,而C++正在扩展新版语言规范,已有的覆盖率统计插装工具不能满足要求。给出一种基于Clang/LLVM的C++源代码覆盖率统计插装方法,利用开源社区Clang/L... 近年来,越来越多的安全关键软件系统运行在国产Linux操作系统上,其中大多数采用C++开发,而C++正在扩展新版语言规范,已有的覆盖率统计插装工具不能满足要求。给出一种基于Clang/LLVM的C++源代码覆盖率统计插装方法,利用开源社区Clang/LLVM库提供的C++源代码解析和操作功能,构建面向C++源代码的语句、分支和MC/DC覆盖率统计框架,在运行时采集覆盖率信息并进行统计分析,输出覆盖率分析报告。实际案例表明,该方法简易实用,能够满足真实工程软件的覆盖率测试分析需求。 展开更多
关键词 C++ clang 代码插装 覆盖率分析
下载PDF
不同编译器下自增自减表达式输出不同值的研究
4
作者 陈贤敏 汤海晨 陈治帆 《电脑知识与技术》 2023年第31期59-60,70,共3页
同一个C语言的自增、自减表达式为什么在不同集成系统开发环境中产生不一样的结果。使用GCC和Clang两种不同的编译器来验证此实例表达式的值,并把两种编译好的C语言程序反编译成汇编语言,再来分析代码,目的是让大家真正从底层了解为什... 同一个C语言的自增、自减表达式为什么在不同集成系统开发环境中产生不一样的结果。使用GCC和Clang两种不同的编译器来验证此实例表达式的值,并把两种编译好的C语言程序反编译成汇编语言,再来分析代码,目的是让大家真正从底层了解为什么相同的表达式值会产生不同的结果。 展开更多
关键词 自增自减 GCC clang
下载PDF
基于Clang/LLVM构建编译实践全局观
5
作者 吴坎 王永康 +1 位作者 刘皓铧 张献伟 《计算机教育》 2023年第3期70-75,共6页
针对目前编译实验教学过程中内容安排不够合理、与实际应用契合不够紧密的问题,提出基于Clang/LLVM面向业界实际的实验教学模式,通过分析目前课程现状及目标,阐述实验方案具体实施方法,最后通过对实验结果的教学反馈,说明该实验设计更... 针对目前编译实验教学过程中内容安排不够合理、与实际应用契合不够紧密的问题,提出基于Clang/LLVM面向业界实际的实验教学模式,通过分析目前课程现状及目标,阐述实验方案具体实施方法,最后通过对实验结果的教学反馈,说明该实验设计更好地平衡了基础性、实践性和综合性,使得学生可以通过实际编译框架,更好地理解编译机制,掌握利用编译解决实际问题的能力,构建起编译实践的全局观。 展开更多
关键词 编译原理 系统实践 实验教学 clang LLVM
下载PDF
线程级猜测并行系统代码自动生成工具的设计与实现 被引量:1
6
作者 王家龙 刘艳红 沈立 《计算机科学》 CSCD 北大核心 2017年第11期114-119,共6页
虽然线程级猜测(Thread Level Speculation,TLS)执行机制可以简化多线程编程模型接口,并能获得较高的性能加速,但其并行程序的开发仍然比较困难。面向一个高效的软件TLS模型HEUSPEC,研究了代码自动生成工具C2H的设计与实现方法。具体包... 虽然线程级猜测(Thread Level Speculation,TLS)执行机制可以简化多线程编程模型接口,并能获得较高的性能加速,但其并行程序的开发仍然比较困难。面向一个高效的软件TLS模型HEUSPEC,研究了代码自动生成工具C2H的设计与实现方法。具体包括3部分内容:首先,为HEUSPEC设计简单的标注语句,标注出可并行段的一些特征;其次,提出将标注语句和可并行段转换为猜测线程函数的算法;最后,设计生成HEUSPEC并行代码的算法。该方法已在开源编译器Clang上实现。面向Rodinia,OmpScr等基准程序的测试结果表明,C2H能够将带有简单标注语句的串行C代码转换为HEUSPEC并行代码,且其性能与手工编写的HEUSPEC并行代码的性能十分接近。 展开更多
关键词 线程级猜测 HEUSPEC 源到源编译器 标注语句 clang
下载PDF
机器人足球仿真教练模型研究
7
作者 耿丽娜 舒文杰 郑志强 《计算机仿真》 CSCD 2005年第2期160-163,共4页
RoboCup仿真比赛已经在国际上开展几年了 ,近来在国内也得到了迅速的发展 ,它通过提供了一个标准问题来促进人工智能和智能机器人的研究。文中以RoboCup仿真比赛为背景 ,首先讨论了教练模型 ,包括教练的角色意义和相应的权限 ,而后针对... RoboCup仿真比赛已经在国际上开展几年了 ,近来在国内也得到了迅速的发展 ,它通过提供了一个标准问题来促进人工智能和智能机器人的研究。文中以RoboCup仿真比赛为背景 ,首先讨论了教练模型 ,包括教练的角色意义和相应的权限 ,而后针对教练设计中涵盖的几个问题 ,如对手建模、规划识别、离线训练 ,分别给出了较好的解决方案。最后从在线教练工作过程的角度总结了有关教练技术的具体应用 ,并对教练的设计前景提出了一些看法。对于建立和设计仿真教练 。 展开更多
关键词 机器人足球世界杯 训练模式 多智能体 异构球员 元事件 标准教练语言
下载PDF
DFTracker: detecting double-fetch bugs by multi-taint parallel tracking
8
作者 Pengfei WANG Kai LU +1 位作者 Gen LI Xu ZHOU 《Frontiers of Computer Science》 SCIE EI CSCD 2019年第2期247-263,共17页
A race condition is a common trigger for concurrency bugs. As a special case, a race condition can also occur across the kernel and user space causing a doublefetch bug, which is a field that has received little resea... A race condition is a common trigger for concurrency bugs. As a special case, a race condition can also occur across the kernel and user space causing a doublefetch bug, which is a field that has received little research attention. In our work, we first analyzed real-world doublefetch bug cases and extracted two specific patterns for doublefetch bugs. Based on these patter ns, we proposed an approach of multi-taint parallel tracking to detect double-fetch bugs. We also implemented a prototype called DFTracker (doublefetch bug tracker), and we evaluated it with our test suite. Our experiments demonstrated that it could effectively find all the double-fetch bugs in the test suite including eight realworld cases with no false negatives and minor false positives. In addition, we tested it on Linux kernel and found a new double-fetch bug. The execution overhead is approximately 2x for single-file cases and approximately 9x for the whole kernel test, which is acceptable. To the best of the authors1 knowledge, this work is the first to introduce multi-taint parallel tracking to double-fetch bug detection—an innovative method that is specific to double-fetch bug features—and has better path coverage as well as lower runtime overhead than the widely used dynamic approaches. 展开更多
关键词 multi-taint PARALLEL TRACKING DOUBLE FETCH race condition between kernel and user time of check to time of use real-world case analysis clang Static Analyzer
原文传递
二语心理词汇的发展路径——一项历时研究 被引量:25
9
作者 张淑静 《四川外语学院学报》 CSSCI 北大核心 2008年第6期120-124,共5页
33名英语专业的二年级本科生参加了这项历时9个月的研究。结果表明,随着受试词汇知识的增长,二语心理词汇中词与词之间的语义联系逐步增多、增强。然而对个体词的分析表明,并非所有的词汇习得都呈线性发展。了解二语心理词汇的发展规律... 33名英语专业的二年级本科生参加了这项历时9个月的研究。结果表明,随着受试词汇知识的增长,二语心理词汇中词与词之间的语义联系逐步增多、增强。然而对个体词的分析表明,并非所有的词汇习得都呈线性发展。了解二语心理词汇的发展规律能使我们在词汇教学中更有针对性,取得更好的教学效果。 展开更多
关键词 二语心理词汇 自由联想 语义反应 语音反应
下载PDF
九岭山南缘断裂带运动学研究 被引量:13
10
作者 舒良树 郭令智 +1 位作者 施央申 孙岩 《地质科学》 CAS CSCD 北大核心 1994年第3期209-219,共11页
江南晚元古代碰撞造山带中段九岭山南缘断裂带的运动学研究揭示出三个不同时期的强烈构造变形作用。第一期从北向南仰冲推覆作用,对应一个晚元古代洋盆关闭,板块碰撞造山过程;第二期从SW向NE的左旋走滑动性剪切作用,对应一个早... 江南晚元古代碰撞造山带中段九岭山南缘断裂带的运动学研究揭示出三个不同时期的强烈构造变形作用。第一期从北向南仰冲推覆作用,对应一个晚元古代洋盆关闭,板块碰撞造山过程;第二期从SW向NE的左旋走滑动性剪切作用,对应一个早古生代华南地体的斜向拼贴增生活动;第三期从北向南的逆冲-推覆作用,对应一个印支构造期的侧向挤压机制。现代地表上的九岭古岛弧南缘断裂带,是一个以走滑剪切力学作用占优势的片麻状糜棱岩带。宏观韧剪组构和显微构造标志为这个断裂带提供了重要的运动学证据。 展开更多
关键词 断裂带 运动学 九岭山
下载PDF
基于矩阵乘积态的有限纠缠量子傅里叶变换模拟
11
作者 刘晓楠 廉德萌 +1 位作者 杜帅岐 刘正煜 《计算机科学》 CSCD 北大核心 2024年第9期80-86,共7页
与经典计算不同,在量子计算中量子比特可以处于叠加态,多个量子比特之间还可以形成纠缠态。表示n个量子比特组成的量子态需要存储2^(n)个振幅,这种指数级的存储开销使得大规模的量子模拟难以进行。然而当量子态的纠缠程度有限时,使用矩... 与经典计算不同,在量子计算中量子比特可以处于叠加态,多个量子比特之间还可以形成纠缠态。表示n个量子比特组成的量子态需要存储2^(n)个振幅,这种指数级的存储开销使得大规模的量子模拟难以进行。然而当量子态的纠缠程度有限时,使用矩阵乘积态表示量子态仅需要线性的空间复杂度,可以扩大模拟的规模。使用HIP-Clang语言,基于CPU+DCU的异构编程模型,使用矩阵乘积态表示量子态,对量子傅里叶变换进行模拟。结合矩阵乘积态的特点,对量子傅里叶变换线路进行分析,减少模拟实现时不必要的张量缩并运算与正交化构建。对模拟过程中的张量缩并进行分析,使用TTGT算法完成张量缩并运算,同时利用DCU的并行处理能力来提高效率。对模拟结果进行分析,分别通过振幅误差与半经典Draper量子加法器的结果验证了模拟的正确性。对模拟规模进行分析,当量子态的纠缠熵最大时,使用16 GB的内存空间最多只能模拟24位的量子态,而当量子态内部纠缠程度较低时,可以对上百位的量子态进行量子傅里叶变换模拟。 展开更多
关键词 量子模拟 量子傅里叶变换 矩阵乘积态 异构计算 DCU HIP-clang
下载PDF
词汇联想测试的稳定性 被引量:5
12
作者 张淑静 陈晓扣 《解放军外国语学院学报》 CSSCI 北大核心 2009年第3期42-45,87,共5页
本研究通过比较不同实验方法所获得的数据来调查词汇联想测试的稳定性。所调查的3种方法包括:口头1个反应词、笔头1个反应词、笔头3个反应词。结果表明:1)口头与笔头1个反应词之间差别不大;2)笔头3个反应词之间差别较大,按第一、第二、... 本研究通过比较不同实验方法所获得的数据来调查词汇联想测试的稳定性。所调查的3种方法包括:口头1个反应词、笔头1个反应词、笔头3个反应词。结果表明:1)口头与笔头1个反应词之间差别不大;2)笔头3个反应词之间差别较大,按第一、第二、第三反应的顺序排列,聚合型反应呈下降趋势,而语音及其他反应呈上升趋势;3)笔头1个反应词与笔头3个反应词的平均数相比较,笔头1个反应词中,聚合型反应显著高于笔头3个反应词的平均数,而语音及其他反应显著低于笔头3个反应词的平均数;4)笔头1个反应词与笔头3个反应词中的第一反应之间无显著差异。该研究结果为词汇联想测试的运用提供了实证依据。 展开更多
关键词 词汇联想测试 聚合型反应 组合型反应 语音及其他反应
下载PDF
基于Clang编译器的程序结构分析器设计 被引量:1
13
作者 周睿 《计算机时代》 2016年第10期54-56,共3页
国内的软件测试研究目前还基本停留在比较基础的理论方法和管理方法上,没有在软件测试技术上取得突破。基于当前流行的Clang编译器前端,在抽象语法树生成的过程中运用不同的规则标识各语句结构,同时进行中间结构的改造和校正,得到一个... 国内的软件测试研究目前还基本停留在比较基础的理论方法和管理方法上,没有在软件测试技术上取得突破。基于当前流行的Clang编译器前端,在抽象语法树生成的过程中运用不同的规则标识各语句结构,同时进行中间结构的改造和校正,得到一个有效的、高正确性的程序结构分析器。程序结构分析器的设计为实现一个有理论基础的综合性白盒测试工具奠定了坚实的底层数据支持。 展开更多
关键词 clang编译器 抽象语法树 程序结构分析 软件测试
下载PDF
基于Clang的AST提取结构体数据库插件的实现 被引量:1
14
作者 张红 《电脑知识与技术》 2017年第2X期19-21,共3页
在嵌入式系统调试环境下,需将大量的结构体变量输出到诊断软件,进行解析与呈现,而结构体数量庞大,且容易变化。在软件快速迭代开发阶段,迫切需要使结构体解析过程自动化。最关键的一步,是实现结构体定义数据库的提取。此文主要研究基于C... 在嵌入式系统调试环境下,需将大量的结构体变量输出到诊断软件,进行解析与呈现,而结构体数量庞大,且容易变化。在软件快速迭代开发阶段,迫切需要使结构体解析过程自动化。最关键的一步,是实现结构体定义数据库的提取。此文主要研究基于Clang编译器,实现从前端编译结构体定义文件生成的抽象语法树中提取结构体定义信息。实验结果表明,该方法能准确的实现从结构体定义文件提取结构体定义XML数据库。 展开更多
关键词 clang编译器 抽象语法树 信息提取 结构体定义
下载PDF
基于Clang编译前端的Android源代码静态分析技术
15
作者 曹原野 丁丽萍 《计算机系统应用》 2017年第10期1-10,共10页
Android手机在全球占有很大的市场份额,基于Android衍生的第三方系统也为数不少.针对Android系统重大安全问题频发的现状,提出一种使用Clang编译前端对Android源码进行静态分析的方法.该方法从已公布的CVE漏洞中提取规则和模型,通过改进... Android手机在全球占有很大的市场份额,基于Android衍生的第三方系统也为数不少.针对Android系统重大安全问题频发的现状,提出一种使用Clang编译前端对Android源码进行静态分析的方法.该方法从已公布的CVE漏洞中提取规则和模型,通过改进的Clang编译前端,对Android源码进行静态分析,从而检测出有潜在安全风险的代码片段.在对Android源码进行污点分析时,调用新加入的stp约束求解器,通过符号执行,对敏感数据进行污点标记,并对敏感函数、敏感操作、敏感规则进行污点分析,如果存在潜在的安全隐患,则进行报告.经过实验分析,该方法可以找出Android源代码中存在的同类型有安全风险的代码片段,可以检出libstagefright模块5个高危CVE漏洞. 展开更多
关键词 clang编译器 安卓 静态分析 污点分析 符号执行
下载PDF
基于Clang+LLVM架构的编译原理课程教学探索 被引量:3
16
作者 刘兵 张辰 +1 位作者 谢红侠 刘明明 《计算机教育》 2020年第1期42-45,49,共5页
根据工程教育认证标准的要求,分析编译原理教学现状,提出一种基于开源编译器的课程教学模式,介绍面向工程教育认证的编译原理课程体系建设过程,并给出相应的面向工程教育认证的评价机制。
关键词 编译原理 工程教育认证 clang+LLVM架构 教学模式
下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部