{"title":"系统的面向对象的检验——一个实证研究","authors":"A. Dunsmore, M. Roper, M. Wood","doi":"10.1109/ICSE.2001.919088","DOIUrl":null,"url":null,"abstract":"Software inspection is recognised as an effective defect detection technique, but research has suggested that its performance on object-oriented code may suffer as a result of the delocalised nature of the software. This leads to problems of how to segment a system into chunks, what reading strategy should be adopted to read those chunks, and how to make available necessary non-local information. This paper presents the results of an empirical investigation that compared a systematic, abstraction-driven inspection reading technique with an ad-hoc approach in an attempt to investigate these issues.\nThe analysis shows that using the systematic technique does not significantly improve an inspector's overall defect detection performance. The systematic technique does, however, seem to have potential to help address delocalisation through the creation of abstract specifications, encourage a deeper understanding of the code being inspected, and may also help discover different defects from an ad-hoc approach. There was also positive feedback from inspectors for the rigour imposed by the systematic technique.\nThis research suggests that a systematic, abstraction-driven reading strategy offers some potential but there are issues that need to be addressed in terms of supporting the efficient construction of abstractions and dealing with the differences between the static and dynamic views of object-oriented code.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"50","resultStr":"{\"title\":\"Systematic object-oriented inspection - an empirical study\",\"authors\":\"A. Dunsmore, M. Roper, M. Wood\",\"doi\":\"10.1109/ICSE.2001.919088\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software inspection is recognised as an effective defect detection technique, but research has suggested that its performance on object-oriented code may suffer as a result of the delocalised nature of the software. This leads to problems of how to segment a system into chunks, what reading strategy should be adopted to read those chunks, and how to make available necessary non-local information. This paper presents the results of an empirical investigation that compared a systematic, abstraction-driven inspection reading technique with an ad-hoc approach in an attempt to investigate these issues.\\nThe analysis shows that using the systematic technique does not significantly improve an inspector's overall defect detection performance. The systematic technique does, however, seem to have potential to help address delocalisation through the creation of abstract specifications, encourage a deeper understanding of the code being inspected, and may also help discover different defects from an ad-hoc approach. There was also positive feedback from inspectors for the rigour imposed by the systematic technique.\\nThis research suggests that a systematic, abstraction-driven reading strategy offers some potential but there are issues that need to be addressed in terms of supporting the efficient construction of abstractions and dealing with the differences between the static and dynamic views of object-oriented code.\",\"PeriodicalId\":374824,\"journal\":{\"name\":\"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001\",\"volume\":\"12 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2001-07-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"50\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSE.2001.919088\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSE.2001.919088","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Systematic object-oriented inspection - an empirical study
Software inspection is recognised as an effective defect detection technique, but research has suggested that its performance on object-oriented code may suffer as a result of the delocalised nature of the software. This leads to problems of how to segment a system into chunks, what reading strategy should be adopted to read those chunks, and how to make available necessary non-local information. This paper presents the results of an empirical investigation that compared a systematic, abstraction-driven inspection reading technique with an ad-hoc approach in an attempt to investigate these issues.
The analysis shows that using the systematic technique does not significantly improve an inspector's overall defect detection performance. The systematic technique does, however, seem to have potential to help address delocalisation through the creation of abstract specifications, encourage a deeper understanding of the code being inspected, and may also help discover different defects from an ad-hoc approach. There was also positive feedback from inspectors for the rigour imposed by the systematic technique.
This research suggests that a systematic, abstraction-driven reading strategy offers some potential but there are issues that need to be addressed in terms of supporting the efficient construction of abstractions and dealing with the differences between the static and dynamic views of object-oriented code.