计算机科学与探索
計算機科學與探索
계산궤과학여탐색
JOURNAL OF FRONTIERS OF COMPUTER SCIENCE & TECHNOLOGY
2014年
6期
704-711
,共8页
李树芳%陈霞%安金霞%陈东升
李樹芳%陳霞%安金霞%陳東升
리수방%진하%안금하%진동승
实时软件%内存错误%内存泄漏%代码插装
實時軟件%內存錯誤%內存洩漏%代碼插裝
실시연건%내존착오%내존설루%대마삽장
real-time software%memory error%memory leak%code instrumentation
在航天领域中,安全关键的大型实时软件系统往往直接影响到任务成败,一般难以全面检测、分析或避免内存泄漏等常见内存错误。定义了实时软件的12种典型内存故障模式,提出了一种基于C++代码插装的实时软件内存错误快速分析方法。该方法通过对C++源代码进行静态分析,获取指针变量相关信息;通过C++代码插装和运行不同测试用例,实时收集统计C++指针对象的分配、释放、赋值、c-use和p-use使用情况,结合实时软件的典型内存故障模式进行分析,并自动生成详情报告。应用案例表明,该方法能够高效快捷地发现实时软件潜在的典型内存错误,从而有效提高软件质量。
在航天領域中,安全關鍵的大型實時軟件繫統往往直接影響到任務成敗,一般難以全麵檢測、分析或避免內存洩漏等常見內存錯誤。定義瞭實時軟件的12種典型內存故障模式,提齣瞭一種基于C++代碼插裝的實時軟件內存錯誤快速分析方法。該方法通過對C++源代碼進行靜態分析,穫取指針變量相關信息;通過C++代碼插裝和運行不同測試用例,實時收集統計C++指針對象的分配、釋放、賦值、c-use和p-use使用情況,結閤實時軟件的典型內存故障模式進行分析,併自動生成詳情報告。應用案例錶明,該方法能夠高效快捷地髮現實時軟件潛在的典型內存錯誤,從而有效提高軟件質量。
재항천영역중,안전관건적대형실시연건계통왕왕직접영향도임무성패,일반난이전면검측、분석혹피면내존설루등상견내존착오。정의료실시연건적12충전형내존고장모식,제출료일충기우C++대마삽장적실시연건내존착오쾌속분석방법。해방법통과대C++원대마진행정태분석,획취지침변량상관신식;통과C++대마삽장화운행불동측시용례,실시수집통계C++지침대상적분배、석방、부치、c-use화p-use사용정황,결합실시연건적전형내존고장모식진행분석,병자동생성상정보고。응용안례표명,해방법능구고효쾌첩지발현실시연건잠재적전형내존착오,종이유효제고연건질량。
In aerospace industry, safety-critical large-scale real-time software system has a direct impact on space launch missions. It is hard to keep a comprehensive track, analyze or avoid common memory errors such as memory leaks. This paper defines 12 types of memory fault patterns for real-time softwares, and proposes a novel approach to rapid analysis of memory errors for real-time softwares, based on C++code instrumentation. Information of pointer variables are obtained by C++ code static analysis. With running under various test cases, information including pointer allocation, release, assignment, c-use and p-use codes is collected in real-time. After memory fault analysis, a detailed report can be generated automatically. A case study shows that the proposed approach can find potential memory errors effectively, and make efficient improvements to software quality.