【技术实现步骤摘要】
用于基于Protobuf的项目的通用验证方法
本公开的实施例一般涉及软件开发。更具体地,本公开的实施例涉及在使用Protobuf的应用的验证中使用验证替换头文件。
技术介绍
由Google开发的协议缓冲器(Protobuf)是一种串行化结构化数据的语言和平台中立的方法。在开发程序中通过导线彼此通信或存储数据是有用的。越来越多的人工智能(AI)应用(例如,用于操作自主车辆的AI程序)正在使用Protobuf。由于由标准的Protobuf代码生成器,诸如Google提供的Protobuf代码生成器生成的Protobuf头文件的复杂性,使用自动化验证和确认工具对这种AI应用的验证和确认(例如,为了存储器安全)可能是缓慢且耗时的。
技术实现思路
在第一方面中,本公开实施例提供一种用于在使用协议缓冲器(Protobuf)用于数据通信的应用的验证中使用验证替换头文件的计算机实现的方法,包括:从根据Protobuf规范定义第一组一个或多个函数的Protobuf定义文件获取一个或多个Protobuf消息类 ...
【技术保护点】
1.一种用于在使用协议缓冲器(Protobuf)用于数据通信的应用的验证中使用验证替换头文件的计算机实现的方法,包括:/n从根据Protobuf规范定义第一组一个或多个函数的Protobuf定义文件获取一个或多个Protobuf消息类型,其中所述第一组的所述函数调用一组Protobuf库;/n基于所述Protobuf消息类型生成所述验证替换头文件,所述验证替换头文件根据标准C/C++编程语言定义第二组一个或多个函数,其中所述第二组的所述函数调用一组标准C/C++库;/n将一个或多个验证存根插入到所述验证替换头文件;以及/n基于所述一组标准C/C++库执行包括所述验证替换头文 ...
【技术特征摘要】
20190514 US 16/411,7551.一种用于在使用协议缓冲器(Protobuf)用于数据通信的应用的验证中使用验证替换头文件的计算机实现的方法,包括:
从根据Protobuf规范定义第一组一个或多个函数的Protobuf定义文件获取一个或多个Protobuf消息类型,其中所述第一组的所述函数调用一组Protobuf库;
基于所述Protobuf消息类型生成所述验证替换头文件,所述验证替换头文件根据标准C/C++编程语言定义第二组一个或多个函数,其中所述第二组的所述函数调用一组标准C/C++库;
将一个或多个验证存根插入到所述验证替换头文件;以及
基于所述一组标准C/C++库执行包括所述验证替换头文件的所述应用的所述验证,而不必验证所述一组Protobuf库。
2.如权利要求1所述的方法,其中从所述Protobuf定义文件获取所述一个或多个Protobuf消息类型包括基于所述Protobuf定义文件生成抽象语法树(AST)以及解析所述AST。
3.如权利要求1所述的方法,其中在所述验证替换头文件中为每个Protobuf消息类型创建C++类,以及在所述C++类中为对应的Protobuf消息类型的每个...
【专利技术属性】
技术研发人员:冯倩,张煜龙,王沛,丁羽,韦韬,
申请(专利权)人:百度美国有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。