Hailong Zhang, Dalin Zhang, Dahai Jin, Yunzhan Gong, Chengcheng Wang
{"title":"方法中软件故障高级模式的自动挖掘","authors":"Hailong Zhang, Dalin Zhang, Dahai Jin, Yunzhan Gong, Chengcheng Wang","doi":"10.1109/QSIC.2013.63","DOIUrl":null,"url":null,"abstract":"Software faults are usually correlated to each other in practice. However, pattern-based static analysis can only report independent atomic faults, such as null-pointer dereference and memory leak. It does not take the influences among different faults into account which will lead to omissions of faults and bring security risks. Also, massive independent faults are against the understanding of them that may result in incomplete modifications. In this paper, we propose a new approach to generalize high level patterns with static analysis. Our approach first extracts execution traces of faults and joins the related faults into single compound traces. Then it mines a set of frequent patterns with only compound traces supporting them. The underlying algorithms in our approach have been implemented and applied to our static analysis tool, DTSGCC. The experimental results show the capability of our approach to discover high level patterns of faults.","PeriodicalId":404921,"journal":{"name":"2013 13th International Conference on Quality Software","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-07-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Automatically Mining High Level Patterns of Software Faults within Methods\",\"authors\":\"Hailong Zhang, Dalin Zhang, Dahai Jin, Yunzhan Gong, Chengcheng Wang\",\"doi\":\"10.1109/QSIC.2013.63\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software faults are usually correlated to each other in practice. However, pattern-based static analysis can only report independent atomic faults, such as null-pointer dereference and memory leak. It does not take the influences among different faults into account which will lead to omissions of faults and bring security risks. Also, massive independent faults are against the understanding of them that may result in incomplete modifications. In this paper, we propose a new approach to generalize high level patterns with static analysis. Our approach first extracts execution traces of faults and joins the related faults into single compound traces. Then it mines a set of frequent patterns with only compound traces supporting them. The underlying algorithms in our approach have been implemented and applied to our static analysis tool, DTSGCC. The experimental results show the capability of our approach to discover high level patterns of faults.\",\"PeriodicalId\":404921,\"journal\":{\"name\":\"2013 13th International Conference on Quality Software\",\"volume\":\"30 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-07-29\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2013 13th International Conference on Quality Software\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/QSIC.2013.63\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 13th International Conference on Quality Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QSIC.2013.63","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Automatically Mining High Level Patterns of Software Faults within Methods
Software faults are usually correlated to each other in practice. However, pattern-based static analysis can only report independent atomic faults, such as null-pointer dereference and memory leak. It does not take the influences among different faults into account which will lead to omissions of faults and bring security risks. Also, massive independent faults are against the understanding of them that may result in incomplete modifications. In this paper, we propose a new approach to generalize high level patterns with static analysis. Our approach first extracts execution traces of faults and joins the related faults into single compound traces. Then it mines a set of frequent patterns with only compound traces supporting them. The underlying algorithms in our approach have been implemented and applied to our static analysis tool, DTSGCC. The experimental results show the capability of our approach to discover high level patterns of faults.