Yunshan Zhao, Yunzhan Gong, Li Liu, Qing Xiao, Zhaohong Yang
{"title":"基于统一符号过程摘要模型的上下文敏感过程间缺陷检测","authors":"Yunshan Zhao, Yunzhan Gong, Li Liu, Qing Xiao, Zhaohong Yang","doi":"10.1109/QSIC.2011.15","DOIUrl":null,"url":null,"abstract":"Precise interprocedural analysis is crucial for defect detection faced with the problem of procedure call. Procedure summary is an effective and classical technique to handle this problem. However, there is no general recipe to construct and instantiate procedure summaries with context-sensitivity. This paper addresses the above challenge by introducing a unified symbolic procedure summary model (PSM), which consists of three aspects: (1) the post-condition briefly records the invocation side effects to calling context, (2) the feature means some inner attributes that might cause both the dataflow and control-flow transformation and (3) the pre-condition implies some potential dataflow safety properties that should not be violated at the call site, or there would exist defects. We represent each aspect of PSM in a three-valued logic:. Moreover, by comparing the concrete call site context (CSC) with the conditional constraints (CC), we achieve context-sensitivity while instantiating the summary. Furthermore, we proposed a summary transfer function for capturing the nesting call effect of a procedure, which transfers the procedure summary in a bottom-up manner. Algorithms are proposed to construct and instantiate the summary model at concrete call sites with context-sensitivity. Experimental results on 10 open source GCC benchmarks attest to the effectiveness of our technique on detecting null pointer dereference and out of boundary defects.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"10 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":"{\"title\":\"Context-Sensitive Interprocedural Defect Detection Based on a Unified Symbolic Procedure Summary Model\",\"authors\":\"Yunshan Zhao, Yunzhan Gong, Li Liu, Qing Xiao, Zhaohong Yang\",\"doi\":\"10.1109/QSIC.2011.15\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Precise interprocedural analysis is crucial for defect detection faced with the problem of procedure call. Procedure summary is an effective and classical technique to handle this problem. However, there is no general recipe to construct and instantiate procedure summaries with context-sensitivity. This paper addresses the above challenge by introducing a unified symbolic procedure summary model (PSM), which consists of three aspects: (1) the post-condition briefly records the invocation side effects to calling context, (2) the feature means some inner attributes that might cause both the dataflow and control-flow transformation and (3) the pre-condition implies some potential dataflow safety properties that should not be violated at the call site, or there would exist defects. We represent each aspect of PSM in a three-valued logic:. Moreover, by comparing the concrete call site context (CSC) with the conditional constraints (CC), we achieve context-sensitivity while instantiating the summary. Furthermore, we proposed a summary transfer function for capturing the nesting call effect of a procedure, which transfers the procedure summary in a bottom-up manner. Algorithms are proposed to construct and instantiate the summary model at concrete call sites with context-sensitivity. Experimental results on 10 open source GCC benchmarks attest to the effectiveness of our technique on detecting null pointer dereference and out of boundary defects.\",\"PeriodicalId\":309774,\"journal\":{\"name\":\"2011 11th International Conference on Quality Software\",\"volume\":\"10 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2011-07-13\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"14\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2011 11th International Conference on Quality Software\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/QSIC.2011.15\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 11th International Conference on Quality Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QSIC.2011.15","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Context-Sensitive Interprocedural Defect Detection Based on a Unified Symbolic Procedure Summary Model
Precise interprocedural analysis is crucial for defect detection faced with the problem of procedure call. Procedure summary is an effective and classical technique to handle this problem. However, there is no general recipe to construct and instantiate procedure summaries with context-sensitivity. This paper addresses the above challenge by introducing a unified symbolic procedure summary model (PSM), which consists of three aspects: (1) the post-condition briefly records the invocation side effects to calling context, (2) the feature means some inner attributes that might cause both the dataflow and control-flow transformation and (3) the pre-condition implies some potential dataflow safety properties that should not be violated at the call site, or there would exist defects. We represent each aspect of PSM in a three-valued logic:. Moreover, by comparing the concrete call site context (CSC) with the conditional constraints (CC), we achieve context-sensitivity while instantiating the summary. Furthermore, we proposed a summary transfer function for capturing the nesting call effect of a procedure, which transfers the procedure summary in a bottom-up manner. Algorithms are proposed to construct and instantiate the summary model at concrete call sites with context-sensitivity. Experimental results on 10 open source GCC benchmarks attest to the effectiveness of our technique on detecting null pointer dereference and out of boundary defects.