{"title":"我们应该注意例外吗?Eclipse项目的实证研究","authors":"C. Marinescu","doi":"10.1109/SYNASC.2013.40","DOIUrl":null,"url":null,"abstract":"Exception handling is a mechanism that highlights exceptional functionality of software systems. Currently there are empirical studies pointing out that design entities (classes) that use exceptions are more defect prone than the other classes and sometimes developers neglect exceptional functionality, minimizing its importance. In this paper we investigate if classes that use exceptions are the most complex classes from software systems and, consequently, have an increased likelihood to exhibit defects. We also detect two types of improper usages of exceptions in three releases of Eclipse and investigate the relations between classes that handle/do not handle properly exceptions and the defects those classes exhibit. The results show that (i) classes that use exceptions are more complex than the other classes and (ii) classes that handle improperly the exceptions in the source code exhibit an increased likelihood of exhibiting defects than classes which handle them properly. Based on the provided evidence, practitioners get knowledge about the correlations between exceptions and complexity and are advised once again about the negative impact deviations from best programming practices have at a source code level.","PeriodicalId":293085,"journal":{"name":"2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","volume":"68 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":"{\"title\":\"Should We Beware the Exceptions? An Empirical Study on the Eclipse Project\",\"authors\":\"C. Marinescu\",\"doi\":\"10.1109/SYNASC.2013.40\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Exception handling is a mechanism that highlights exceptional functionality of software systems. Currently there are empirical studies pointing out that design entities (classes) that use exceptions are more defect prone than the other classes and sometimes developers neglect exceptional functionality, minimizing its importance. In this paper we investigate if classes that use exceptions are the most complex classes from software systems and, consequently, have an increased likelihood to exhibit defects. We also detect two types of improper usages of exceptions in three releases of Eclipse and investigate the relations between classes that handle/do not handle properly exceptions and the defects those classes exhibit. The results show that (i) classes that use exceptions are more complex than the other classes and (ii) classes that handle improperly the exceptions in the source code exhibit an increased likelihood of exhibiting defects than classes which handle them properly. Based on the provided evidence, practitioners get knowledge about the correlations between exceptions and complexity and are advised once again about the negative impact deviations from best programming practices have at a source code level.\",\"PeriodicalId\":293085,\"journal\":{\"name\":\"2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing\",\"volume\":\"68 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-09-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"14\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SYNASC.2013.40\",\"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 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SYNASC.2013.40","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Should We Beware the Exceptions? An Empirical Study on the Eclipse Project
Exception handling is a mechanism that highlights exceptional functionality of software systems. Currently there are empirical studies pointing out that design entities (classes) that use exceptions are more defect prone than the other classes and sometimes developers neglect exceptional functionality, minimizing its importance. In this paper we investigate if classes that use exceptions are the most complex classes from software systems and, consequently, have an increased likelihood to exhibit defects. We also detect two types of improper usages of exceptions in three releases of Eclipse and investigate the relations between classes that handle/do not handle properly exceptions and the defects those classes exhibit. The results show that (i) classes that use exceptions are more complex than the other classes and (ii) classes that handle improperly the exceptions in the source code exhibit an increased likelihood of exhibiting defects than classes which handle them properly. Based on the provided evidence, practitioners get knowledge about the correlations between exceptions and complexity and are advised once again about the negative impact deviations from best programming practices have at a source code level.