Shoma Hamada, Haibo Yu, Vo Dai Trinh, Yuri Nishimura, Jianjun Zhao
{"title":"概率编程系统中的Bug模式","authors":"Shoma Hamada, Haibo Yu, Vo Dai Trinh, Yuri Nishimura, Jianjun Zhao","doi":"10.1109/QRS-C57518.2022.00063","DOIUrl":null,"url":null,"abstract":"Probabilistic programming systems allow developers to model random phenomena and perform reasoning about the model efficiently. As the number of probabilistic programming systems is growing significantly and are used more and more widely, the reliability of such systems is becoming very important. It is crucial to analyze real bugs of existing similar systems in order to develop efficient bug detection tools for probabilistic programming systems. This paper conducts an empirical study investigating bugs and their features on PyMC3, a real probabilistic programming system. Among 271 closed bugs, we identified 20 bugs that are unique to probabilistic programming languages and extracted eight bug patterns from these bugs. The result showed that many of the bugs were caused by types. We also propose some possible methods for automatically detecting these bug patterns. It is expected that this will contribute to the development of bug detection tools by capturing the characteristics of bugs in actual probabilistic programs in the future.","PeriodicalId":183728,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Bug Patterns in Probabilistic Programming Systems\",\"authors\":\"Shoma Hamada, Haibo Yu, Vo Dai Trinh, Yuri Nishimura, Jianjun Zhao\",\"doi\":\"10.1109/QRS-C57518.2022.00063\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Probabilistic programming systems allow developers to model random phenomena and perform reasoning about the model efficiently. As the number of probabilistic programming systems is growing significantly and are used more and more widely, the reliability of such systems is becoming very important. It is crucial to analyze real bugs of existing similar systems in order to develop efficient bug detection tools for probabilistic programming systems. This paper conducts an empirical study investigating bugs and their features on PyMC3, a real probabilistic programming system. Among 271 closed bugs, we identified 20 bugs that are unique to probabilistic programming languages and extracted eight bug patterns from these bugs. The result showed that many of the bugs were caused by types. We also propose some possible methods for automatically detecting these bug patterns. It is expected that this will contribute to the development of bug detection tools by capturing the characteristics of bugs in actual probabilistic programs in the future.\",\"PeriodicalId\":183728,\"journal\":{\"name\":\"2022 IEEE 22nd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)\",\"volume\":\"28 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2022 IEEE 22nd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/QRS-C57518.2022.00063\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE 22nd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QRS-C57518.2022.00063","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Probabilistic programming systems allow developers to model random phenomena and perform reasoning about the model efficiently. As the number of probabilistic programming systems is growing significantly and are used more and more widely, the reliability of such systems is becoming very important. It is crucial to analyze real bugs of existing similar systems in order to develop efficient bug detection tools for probabilistic programming systems. This paper conducts an empirical study investigating bugs and their features on PyMC3, a real probabilistic programming system. Among 271 closed bugs, we identified 20 bugs that are unique to probabilistic programming languages and extracted eight bug patterns from these bugs. The result showed that many of the bugs were caused by types. We also propose some possible methods for automatically detecting these bug patterns. It is expected that this will contribute to the development of bug detection tools by capturing the characteristics of bugs in actual probabilistic programs in the future.