环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電氣產品 > 高低壓電器 > 塑殼斷路器

類型分類:
科普知識
數據分類:
塑殼斷路器

嵌入式軟件三大潛在問題及其測試技術

發布日期:2022-04-17 點擊率:112

  本文將介紹如何避免那些隱蔽然而常見的錯誤,并介紹的幾個技巧幫助工程師發現軟件中隱藏的錯誤。大部分軟件開發項目依靠結合代碼檢查、結構測試和功能測試來識別軟件缺陷。盡管這些傳統技術非常重要,而且能發現大多數軟件問題,但它們無法檢查出當今復雜系統中的許多共性錯誤。

  結構測試或白盒測試能有效地發現代碼中的邏輯、控制流、計算和數據錯誤。這項測試要求對軟件的內部工作能夠一覽無遺(因此稱為"白盒"或"玻璃盒"),以便了解軟件結構的詳細情況。它檢查每個條件表達式、數學操作、輸入和輸出。由于需要測試的細節眾多,結構測試每次檢查一個軟件單元,通常為一個函數或類。

  代碼審查也使用與實現缺陷和潛在問題查找同樣復雜的技術。與白盒測試一樣,審查通常針對軟件的各個單元進行,因為一個有效的審查過程要求的是集中而詳盡的檢查。

  與審查和白盒測試不同,功能測試或黑盒測試假設對軟件的實現一無所知,它測試由受控輸入所驅動的輸出。功能測試由測試人員或開發人員所編寫的測試過程組成,它們規定了一組特定程序輸入對應的預期程序輸出。測試運行之后,測試人員將實際輸出與預期輸出進行比較,查找問題。黑盒測試可以有效地找出未能實現的需求、接口問題、性能問題和程序最常用功能中的錯誤。

  雖然將這些技術結合起來可以找出隱藏在一個特定軟件程序中的大部分錯誤,但它們也有局限。代碼審查和白盒測試每次只針對一小部分代碼,忽視了系統的其它部分。黑盒測試通常將系統作為一個整體來處理,忽視了實現的細節。一些重要的問題只有在集中考察它們在整個系統內相互作用時的細節才能被發現;傳統的方法無法可靠地找出這些問題。必須整體地檢查軟件系統,查找具體問題的特定原因。由于詳盡徹底地分析程序中的每個細節和它與代碼中所有其它部分之間的相互作用通常是不大可能的,因此分析應該針對程序中已經知道可能導致問題的特定方面。本文將探討其中三個潛在的問題領域:* 堆棧溢出

  * 競爭條件

  * 死鎖讀者可在網上閱讀本文的第二部分,它將探討下列問題:* 時序問題

  * 可重入條件在采用多任務實時設計技術的系統中,以上所有問題都相當普遍。

  堆棧溢出處理器使用堆棧來存儲臨時變量、向被調函數傳遞參數、保存線程“狀態”,等等。如果系統不使用虛擬內存(換句話說,它不能將內存頁面轉移到磁盤上以釋放內存空間供其它用途),堆棧將固定為產品出廠時的大小。如果由于某種原因堆棧越出了編程人員所分配的數量范圍,程序將變得不確定。這種不穩定可能導致系統發生嚴重故障。因此,確保系統在最壞情況下能夠分配到足夠的堆棧至關重要。

  確保永不發生堆棧溢出的唯一途徑就是分析代碼,確定程序在各種可能情況下的最大堆棧用量,然后檢查是否分配了足夠的堆棧。測試不大可能觸發特定的瞬時輸入組合進而導致系統出現最壞情況。

  堆棧深度分析的概念比較簡單:1. 為每個獨立的線程建立一棵調用樹。

  2. 確定調用樹中每個函數的堆棧用量。

  3. 檢查每棵調用樹,確定從樹根到外部“樹葉”的哪條調用路徑需要使用的堆棧最多。

  4. 將每個獨立線程調用樹的最大堆棧用量相加。

  5. 確定每個中斷優先級內各中斷服務程序(ISR)的最大堆棧用量并計算其總和。但是,如果ISR本身沒有堆棧而使用被中斷線程的堆棧,則應將ISR使用的最大堆棧數加到各線程堆棧之上。

  6. 對于每個優先級,加上中斷發生時用來保存處理器狀態的堆棧數。

  7.如果使用RTOS,則加上RTOS自身內部用途需要的最大堆棧數(與應用代碼引發的系統調用不同,后者已包含在步驟2中)。

  除此之外,還有兩個重要事項需要考慮。首先,僅僅從高級語言源代碼建立的調用樹很可能并不完善。大部分編譯器采用運行時庫(run-time library)來優化常用計算任務,如大值整數的乘除、浮點運算等,這些調用只在編譯器產生的匯編語言中才可見。運行時庫函數本身可能使用大量的堆棧空間,在分析時必須將它們包括進去。如果使用的是C++語言,則以下所有類型的函數(方法)也都必須包含到調用樹內:結構器、析構器、重載運算符、復制結構器和轉換函數。所有的函數指針也都必須進行解析,并且將它們調用的函數包含進分析之中。

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

主站蜘蛛池模板: 筒瓦厂家-仿古瓦-寺庙-古建琉璃瓦-宜兴市古典园林建筑陶瓷厂有限公司 | 废气处理_废气处理设备_工业废气处理_江苏龙泰环保设备制造有限公司 | 滑板场地施工_极限运动场地设计_滑板公园建造_盐城天人极限运动场地建设有限公司 | 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 庭院灯_太阳能景观灯_草坪灯厂家_仿古壁灯-重庆恒投科技 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 德州万泰装饰 - 万泰装饰装修设计软装家居馆| 双段式高压鼓风机-雕刻机用真空泵-绍兴天晨机械有限公司 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 厦门网站建设_厦门网站设计_小程序开发_网站制作公司【麦格科技】 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 网站建设-网站制作-网站设计-网站开发定制公司-网站SEO优化推广-咏熠软件 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 | 北京中创汇安科贸有限公司| 氢氧化钙设备_厂家-淄博工贸有限公司 | 一礼通 (www.yilitong.com)-企业礼品解决方案一站式服务平台 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 智能门锁电机_智能门锁离合器_智能门锁电机厂家-温州劲力智能科技有限公司 | 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 辽宁资质代办_辽宁建筑资质办理_辽宁建筑资质延期升级_辽宁中杭资质代办 | 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | 硬齿面减速机[型号全],ZQ减速机-淄博久增机械 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 上海三信|ph计|酸度计|电导率仪-艾科仪器| 机房监控|动环监控|动力环境监控系统方案产品定制厂家 - 迈世OMARA |