电子技术
電子技術
전자기술
ELECTRONIC TECHNOLOGY
2015年
8期
20-26
,共7页
函数层次%路径层次%静态分析%并行化分析%实用性%可伸缩性
函數層次%路徑層次%靜態分析%併行化分析%實用性%可伸縮性
함수층차%로경층차%정태분석%병행화분석%실용성%가신축성
Function Level%Path Level%Static Analysis%Parallel Analysis%Workability%Scalability
静态分析技术作为一种重要的提高程序安全性的手段,目前已被广泛地用于查找程序中的错误和漏洞。性能作为静态分析工具的一个重要指标,直接影响到工具的实用性和可伸缩性。在多核处理器时代,提升工具分析性能的一个有效的途径是充分利用多个处理器来增加分析的并行度。本文的目的是探究如何在静态分析工具中使用并行化分析技术来提升工具的分析性能。我们在实验室设计的一款专门分析C程序中单链表、双链表等数据结构的形状和内存相关错误的静态分析工具上,根据工具本身的分析层次和分析过程,在工具的函数层次和路径层次上使用并行化分析技术,然后在服务器平台上对并行化分析技术的效果进行实验测试。实验数据表明,在这两个层次上使用并行化分析技术能有效地提升工具的分析性能。
靜態分析技術作為一種重要的提高程序安全性的手段,目前已被廣汎地用于查找程序中的錯誤和漏洞。性能作為靜態分析工具的一箇重要指標,直接影響到工具的實用性和可伸縮性。在多覈處理器時代,提升工具分析性能的一箇有效的途徑是充分利用多箇處理器來增加分析的併行度。本文的目的是探究如何在靜態分析工具中使用併行化分析技術來提升工具的分析性能。我們在實驗室設計的一款專門分析C程序中單鏈錶、雙鏈錶等數據結構的形狀和內存相關錯誤的靜態分析工具上,根據工具本身的分析層次和分析過程,在工具的函數層次和路徑層次上使用併行化分析技術,然後在服務器平檯上對併行化分析技術的效果進行實驗測試。實驗數據錶明,在這兩箇層次上使用併行化分析技術能有效地提升工具的分析性能。
정태분석기술작위일충중요적제고정서안전성적수단,목전이피엄범지용우사조정서중적착오화루동。성능작위정태분석공구적일개중요지표,직접영향도공구적실용성화가신축성。재다핵처리기시대,제승공구분석성능적일개유효적도경시충분이용다개처리기래증가분석적병행도。본문적목적시탐구여하재정태분석공구중사용병행화분석기술래제승공구적분석성능。아문재실험실설계적일관전문분석C정서중단련표、쌍련표등수거결구적형상화내존상관착오적정태분석공구상,근거공구본신적분석층차화분석과정,재공구적함수층차화로경층차상사용병행화분석기술,연후재복무기평태상대병행화분석기술적효과진행실험측시。실험수거표명,재저량개층차상사용병행화분석기술능유효지제승공구적분석성능。
As an important way to improve software’s safety, static analysis technology has been widely used to find errors and bugs in program. Performance is a significant factor for static analysis tool and directly affects the usability and scalability of the tool. On the era of multi-core processors, one of effective methods to improve the analysis performance is to fully utilize multiple processors and add the degree of parallelism. This paper is to find out how to utilize parallel analysis technology to improve the analysis performance in static analysis tool. Our work is based on a static analysis tool that designed by our lab. It supports to analyze the shape of some data structures such as single linked list and double linked list and find out errors and bugs with memory in a C program. On the basis of the analysis levels and procedures of tool, we utilize parallel analysis technology on function level and path level and then test if our method is effective for the tool on a server platform. The experiment data indicates that utilizing parallel analysis technology on these two levels can effectively improve the tool’s performance.