类型转换类规则问题浅析

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:xiaolan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:论文阐述了类型转换所要遵守的规则,介绍此类问题的表现形式、种类,规则检查时的分析要点,并列举了一则航天型号软件中所发生的案例来说明类型转换可能产生数值误差,以及引发的代码质量问题。论文可用于指导航天型号软件代码规则检查。
  关键词:编码规范;规则检查;类型转换
  1.背景
  软件编码规范是程序在编写过程中必须遵守的规则标准,实施什么样的编码规程取决于很多因素,航天型号项目所采用的编码规程最重要的就是软件的可靠性和安全性,编码规程使得开发人员在编程时和测试人员在测试时有章可循,减少因编程语言的因素而导致的错误,降低存在隐患的语言特征可能导致的风险,提高软件质量。
  2.代码规则检查方法
  软件静态测试包括代码审查、静态结构分析、代码质量度量和代码规则检查等,是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、控制流、数据流、接口和表达式等来测试程序代码的正确性。其中代码规则检查根据各项标准,从代码的安全性、可移植性、可维护性、可测试性等方面,分析查找出程序的欠缺和不足以及错误之处,发现违背程序编写标准的问题,找出程序中不安全、不明确和有歧义的模块,例如语言使用规则变量命名检查、类型检查、函数的声明和定义中使用的标识符不匹配,在函数体内使用外部变量声明,不允许的递归、未使用过变量的变量、数组的初始化不完整等。
  代码规则一般分为强制项规则和建议项规则,可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。根据测试方面的经验可以得出,在测试过程中,静态测试比动态测试更有效率,以最小的代价更多更快速地找到问题,通常能够发现不少于70%的编码设计缺陷和程序逻辑问题。代码检查非常的耗费时间,很大程度上依赖于测试人员的知识储备、经验积累以及细心程度,而代码规则检查则依据相关标准和规范,一般由测试工具执行生成检查报告,常用工具包括QAC/QA C 、Testbed、logiscope等,这些工具可以很好地和软件开发工具以及测试工具集成在一起,程序员在编程过程可以同时完成编程规则的检查,测试人员在测试过程中能更全面检查出违反编程规则的代码。航天型号软件通常采用的标准有GJB2725A、航天型号软件c语言安全子集、探月工程探测器系统C语言编程规范等,可以极大的提高测试效率,减少错误的出现概率,确保软件研制质量和可靠性,提高软件研制工程化水平。
  3.类型转换规则
  代码规则检查中一项重要的规则就是关于类型转换方面的要求,类型转换包括隐式类型转换、强制转换、用戶定义的转换和使用帮助程序类的转换。隐式转换是一种安全类型的转换,不会导致数据丢失,如果要存储的值无需截断或四舍五人即可适应变量,则可进行隐式转换,不需要任何特殊的语法。强制转换是显示地通知编译器需要类型转换,要使用强制转换运算符,必须使用强制转换的情况是在转换中可能丢失信息或者其他原因转换可能不成功。另外,编程人员可以自定义一些特殊的方法来执行用户定义的转换,从而使不具有基类一派生类关系的定义类型之间可以显式和隐式转换。
  程序员在软件编写时经常会使用类型转换,类型转换一方面提高了编程的灵活性,另一方面,也带来了一定的安全隐患,使用不恰当会导致软件异常。因此类型转换一般遵守以下几条原则:禁止将类型长度较小的指针强制转换为类型长度较大的指针、禁止对指针变量使用强制类型转换赋值、有符号和无符号之间不得隐式转换、宽类型不得向窄类型隐式转换、整型和浮点类型之间不得隐式转换、函数参数不得隐式转换、函数的返回表达式不得隐式转换、复杂表达式不得隐式转换等。
其他文献
现代CBD是城市现代服务业发展的一种高效的空间组织形式。由于现代CBD开发建设的长周期性和空间的高度外部性,其空间开发与运营的政府管理模式需要应对不同阶段市场经济环境
在兵团农四师七十八团团部以南80多公里、海拔3700米以上的深山老林里,居住着一位年轻的哈萨克族看点人,他的家被过往牧民亲切地称为高山上的"兵站",他本人被牧民称为转场安
不久前,农八师一四七团加工厂工会会同来自该厂9个车间的15名职工代表,对在年初职代会向职工承诺的6件好事的完成情况及劳动保护、提案落实等工作的进展情况,进行了巡视检查,
1907年秋瑾被杀后,萧山湘灵子韩茂棠(天啸)所撰的剧作《轩亭冤传奇》传诵一时。除此之外,在二十多年的笔墨生涯中,韩氏还撰有多种传奇、弹词作品和小说,然长期以来因资料湮没而
在农九师一六八团乌什水的一户小二楼院里,三代同堂的大家庭,整洁有序的院落,一派其乐融融的景象。这就是一六八团兵团级"和谐小康家庭"何国建的家庭。何国建在团畜牧工作站
农一师十三团中学数学教研组自2006年参加"巾帼文明岗"创建活动以来,以科学管理为手段,以倡导岗位文明、提高岗位技能为目标,以"求实创新、教学相长、以人为本"为活动宗旨,"
随着全球经济一体化进程的加快和改革开放的深化发展,并购已成为中国企业发展中不可避免的一个主题,公司并购也已成为高科技企业实现外部扩张、技术获取和核心竞争力提升的重
设IFnq是有限域IFq上的n维向量空间,Gn是IFq上的n级典型群,IFnq和Gn在它上的作用一起称为典型空间.本文给出了有限典型空间中子空间包含的条件及正交空间中的矩阵表示.
布基纳法索与台湾“断交”,台当局恼羞成怒,一股脑把责任推到了中国大陆身上。陆委会日前表示,将严格审查大陆各级政府官员及相关人士来台。凡事总得师出有名,这倒是难不倒台当局
报纸
惩罚一方面是维持群体合作秩序的必要手段,另一方面也可能破坏合作,因而,怎样最大限度发挥惩罚的正面作用、降低其负面影响是个值得深思的问题。由于不同惩罚方式有不同的特