CN104615540A - 代码规范管理系统 - Google Patents
代码规范管理系统 Download PDFInfo
- Publication number
- CN104615540A CN104615540A CN201510070600.XA CN201510070600A CN104615540A CN 104615540 A CN104615540 A CN 104615540A CN 201510070600 A CN201510070600 A CN 201510070600A CN 104615540 A CN104615540 A CN 104615540A
- Authority
- CN
- China
- Prior art keywords
- static analysis
- coding rule
- programmer
- code
- management system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种代码规范管理系统,该系统包括:静态分析服务器,静态分析服务器,通过调用类似PC-Lint、Coverity Prevent、LDRA Testbed软件工具的静态分析功能完成指定代码的静态分析,然后根据配置好的编码规则集对静态分析的结果进行过滤,将最终的结果保存在数据库中供查询和统计;IDE静态分析结果查看插件,用于完成代码的编码规则检查,将代码提交给静态分析服务器,然后通过查询数据库能快速的看到结果;编码规则修改助手,根据编码规则违反情况给出可能的解决方案供程序员选择。本发明快速纠正程序员的编码规则问题,在不需要程序员学习静态分析工具的情况下,帮助程序员形成良好的编程习惯。
Description
技术领域
本发明涉及一种管理系统,具体地,涉及一种代码规范管理系统。
背景技术
C语言在提供给程序员简洁和灵活的同时,也带给我们诸多的容易造成漏洞的副作用。通过静态代码分析,我们可以在不执行代码的前提下检测到多种容易导致程序漏洞的代码。这样的静态分析工具上世纪八十年代就已经产生。目前,像PC-Lint、Coverity Prevent、LDRA Testbed等商业工具广泛地应用于软件开发过程中,还有像Splin这样的开源工具也在不断的演变和完善中。静态代码分析工具极大的提高了软件工程中代码检查的效率,降低了人工代码复查的工作量。当前市场上的这些分析工具,其中有的工具功能非常强大,能够对程序进行全局分析和对运行时的程序状态进行预判。例如,对空指针引用的预判,堆栈溢出的检查,运算操作中损失精度的检查等等。
为了提高代码质量,减少由于编码导致的错误发生率,每个项目组或者单位内部都有自己的编程规范,但是编程规则一般都是很复杂的,只是单纯的依靠程序员的个人自律是很难达到编程规范要求的,而上述的静态分析工具又有一定的复杂性,掌控起来比较麻烦,而某些商业软件有需要花费很大的经济成本,所以问题的解决就变得十分迫切了。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种代码规范管理系统,其快速纠正程序员的编码规则问题,在不需要程序员学习静态分析工具的情况下,帮助程序员形成良好的编程习惯。
根据本发明的一个方面,提供一种代码规范管理系统,其特征在于,包括:
静态分析服务器,通过调用类似PC-Lint、Coverity Prevent、LDRA Testbed软件工具的静态分析功能完成指定代码的静态分析,然后根据配置好的编码规则集对静态分析的结果进行过滤,将最终的结果保存在数据库中供查询和统计;
IDE静态分析结果查看插件,用于完成代码的编码规则检查,将代码提交给静态分析服务器,然后通过查询数据库能快速的看到结果;
编码规则修改助手,根据编码规则违反情况给出可能的解决方案供程序员选择。
优选地,所述编码规则修改助手将代码中违反编码规则的地方进行特殊的标记。
与现有技术相比,本发明具有如下的有益效果:一,本发明快速纠正程序员的编码规则问题,在不需要程序员学习静态分析工具的情况下,帮助程序员形成良好的编程习惯。二,本发明修正助手协助完成代码的修改,提高了工作效率和出错率。三,本发明完成的检查结果记录,方便问题的统计和回溯。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明代码规范管理系统的原理框图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,本发明代码规范管理系统包括:
静态分析服务器,通过调用类似PC-Lint、Coverity Prevent、LDRA Testbed软件工具的静态分析功能完成指定代码的静态分析,然后根据配置好的编码规则集对静态分析的结果进行过滤,将最终的结果保存在数据库中供查询和统计;
IDE静态分析结果查看插件,为常用的IDE开发一些插件,用于完成代码的编码规则检查,类似IDE中的编译功能,将代码提交给静态分析服务器,然后通过查询数据库能快速的看到结果。程序员只需要操作IDE中的这个插件就可以看到编码规则的违反情况,避免了PC-Lint、Coverity Prevent、LDRA Testbed等软件工具的学习;
编码规则修改助手,程序员看到编码规则违反情况之后,就需要去手动的解决这些问题,而手动的修改效率低并且易出错,所以一个编码规则修改助手就很有必要了,此助手会根据编码规则违反情况给出可能的解决方案供程序员选择,由于程序的严谨性要求很高,所以编码规则修改助手只会在程序员确认之后才会对代码进行修改。编码规则修改助手将代码中违反编码规则的地方进行特殊的标记。在使用者通过IDE编写代码时,根据使用者编码规则的违反情况,编码规则修改助手进行正确格式的格式,并帮助使用者自动生成某种符合规范的代码分支框架。
本发明建立一个静态分析服务器,然后将静态分析的结果和编程规范匹配之后的结果存放在数据库中,用于查看;这样就避免了程序员对静态分析工具的学习。本发明在IDE(Integrated Drive Electronics,集成驱动电子设备)中编写一个客户端插件,将客户编码的问题像编译代码一样及时的反映出来。本发明提供用户改变编码规则问题的助手,将可能更好的代码提供给用户选择,避免了手工改进的低效率和易出错问题。本发明提供用户改变编码规则问题的助手,将可能更好的代码提供给用户选择,避免了手工改进的低效率和易出错问题。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (2)
1.一种代码规范管理系统,其特征在于,包括:
静态分析服务器,通过调用类似PC-Lint、Coverity Prevent、LDRA Testbed软件工具的静态分析功能完成指定代码的静态分析,然后根据配置好的编码规则集对静态分析的结果进行过滤,将最终的结果保存在数据库中供查询和统计;
IDE静态分析结果查看插件,用于完成代码的编码规则检查,将代码提交给静态分析服务器,然后通过查询数据库能快速的看到结果;
编码规则修改助手,根据编码规则违反情况给出可能的解决方案供程序员选择。
2.根据权利要求1所述的代码规范管理系统,其特征在于,所述编码规则修改助手将代码中违反编码规则的地方进行特殊的标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510070600.XA CN104615540A (zh) | 2015-02-10 | 2015-02-10 | 代码规范管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510070600.XA CN104615540A (zh) | 2015-02-10 | 2015-02-10 | 代码规范管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104615540A true CN104615540A (zh) | 2015-05-13 |
Family
ID=53149997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510070600.XA Pending CN104615540A (zh) | 2015-02-10 | 2015-02-10 | 代码规范管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104615540A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776728A (zh) * | 2016-11-14 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 基于日志文件分析的代码检查方法、系统及开发平台 |
CN107943481A (zh) * | 2017-05-23 | 2018-04-20 | 清华大学 | 基于多模型的c语言程序代码规范构造方法 |
CN109614079A (zh) * | 2018-11-21 | 2019-04-12 | 中国航空无线电电子研究所 | 一种面向航电领域的编码规则检查系统 |
CN110990281A (zh) * | 2019-12-04 | 2020-04-10 | 中国直升机设计研究所 | 一种自动化静态分析方法 |
US11429360B1 (en) | 2021-05-17 | 2022-08-30 | International Business Machines Corporation | Computer assisted programming with targeted visual feedback |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008124038A1 (en) * | 2007-04-03 | 2008-10-16 | Ldra Technology, Inc. | Automated management of software requirements verification |
CN101847123A (zh) * | 2010-05-26 | 2010-09-29 | 北京航空航天大学 | 一种机载计算机软件测试通用体系的构建方法 |
CN102012991A (zh) * | 2010-11-09 | 2011-04-13 | 北京神舟航天软件技术有限公司 | 基于静态分析的c语言安全规则检查方法 |
-
2015
- 2015-02-10 CN CN201510070600.XA patent/CN104615540A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008124038A1 (en) * | 2007-04-03 | 2008-10-16 | Ldra Technology, Inc. | Automated management of software requirements verification |
CN101847123A (zh) * | 2010-05-26 | 2010-09-29 | 北京航空航天大学 | 一种机载计算机软件测试通用体系的构建方法 |
CN102012991A (zh) * | 2010-11-09 | 2011-04-13 | 北京神舟航天软件技术有限公司 | 基于静态分析的c语言安全规则检查方法 |
Non-Patent Citations (1)
Title |
---|
周炎淼: "SmartOSEK IDE3.0及其模型检查和协同工作", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776728A (zh) * | 2016-11-14 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 基于日志文件分析的代码检查方法、系统及开发平台 |
CN107943481A (zh) * | 2017-05-23 | 2018-04-20 | 清华大学 | 基于多模型的c语言程序代码规范构造方法 |
CN109614079A (zh) * | 2018-11-21 | 2019-04-12 | 中国航空无线电电子研究所 | 一种面向航电领域的编码规则检查系统 |
CN110990281A (zh) * | 2019-12-04 | 2020-04-10 | 中国直升机设计研究所 | 一种自动化静态分析方法 |
CN110990281B (zh) * | 2019-12-04 | 2023-11-07 | 中国直升机设计研究所 | 一种自动化静态分析方法 |
US11429360B1 (en) | 2021-05-17 | 2022-08-30 | International Business Machines Corporation | Computer assisted programming with targeted visual feedback |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105335412B (zh) | 用于数据转换、数据迁移的方法和装置 | |
US10769122B2 (en) | Specifying and applying logical validation rules to data | |
US7328428B2 (en) | System and method for generating data validation rules | |
CN104615540A (zh) | 代码规范管理系统 | |
US8839198B2 (en) | Automated analysis of composite applications | |
US11681685B1 (en) | System for uploading information into a metadata repository | |
US9928288B2 (en) | Automatic modeling of column and pivot table layout tabular data | |
CN101859303A (zh) | 元数据管理方法及管理系统 | |
US11023484B2 (en) | Model-driven profiling job generator for data sources | |
Leung et al. | Analyzing the quality of domain models developed by novice systems analysts | |
CN112181962A (zh) | 报表校验方法、装置、设备及存储介质 | |
CN103577388A (zh) | 一种基于Excel模板的数据处理方法及装置 | |
CN105653268A (zh) | 规则引擎调试方法及系统 | |
US20220391598A1 (en) | Text checking method based on knowledge graph, electronic device, and medium | |
Letsholo et al. | TRAM: A tool for transforming textual requirements into analysis models | |
US20170091082A1 (en) | Test db data generation apparatus | |
CN105574764A (zh) | 一种知识产权评估系统 | |
Zhong et al. | DOMICO: Checking conformance between domain models and implementations | |
Akdal et al. | Model-driven query generation for elasticsearch | |
Neubert et al. | LHCb analysis preservation roadmap | |
Oliveira et al. | On the conceptualization of ETL patterns: a Reo approach | |
Madachy et al. | Systems Acquisition Cost Modeling Initiative for AI Assistance | |
Grafberger | Instrumentation and Analysis of Native ML Pipelines via Logical Query Plans | |
JP2012118609A (ja) | Sql検証システムとその方法およびプログラム | |
CN107870857A (zh) | 一种针对查询计划生成器进行测试的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150513 |
|
RJ01 | Rejection of invention patent application after publication |