{"title":"Inferring Faults in Business Specifications Extracted from Source Code","authors":"Kazuya Yasuda, Shinji Itoh, Ryota Mibe, Yoshinori Jodai, Fumie Nakaya","doi":"10.1109/APSEC48747.2019.00040","DOIUrl":null,"url":null,"abstract":"Since many enterprise systems contain complex business rules, it is important that developers find logical faults during code review. Techniques for extracting specifications help developers understand business rules implemented in source code. The developers can then find logical faults by reviewing the extracted specification. However, when the implemented business rules are complex, it is a problem that the size of the extracted specification is too large for developers to review. To overcome that problem, in the present study, an approach to reduce the size of the extracted specification that has to be reviewed is proposed. This approach focuses on logical faults that can be inferred without having the correct business specification and identifies the part of the specification including those faults as the specification that has to be reviewed. Three patterns that infer such faults in a business specification are defined, and a technique for detecting those patterns in an extracted specification is proposed. To evaluate the proposed technique, it was applied to seven sets of business specifications extracted from an enterprise information system. The results of the evaluation show that the technique successfully reduces the size of the specification that has to be reviewed (by 83% on average), although the reduced specification contains some misdetections. They also show that the technique makes it easier to understand and review a business specification implemented in source code.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/APSEC48747.2019.00040","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Since many enterprise systems contain complex business rules, it is important that developers find logical faults during code review. Techniques for extracting specifications help developers understand business rules implemented in source code. The developers can then find logical faults by reviewing the extracted specification. However, when the implemented business rules are complex, it is a problem that the size of the extracted specification is too large for developers to review. To overcome that problem, in the present study, an approach to reduce the size of the extracted specification that has to be reviewed is proposed. This approach focuses on logical faults that can be inferred without having the correct business specification and identifies the part of the specification including those faults as the specification that has to be reviewed. Three patterns that infer such faults in a business specification are defined, and a technique for detecting those patterns in an extracted specification is proposed. To evaluate the proposed technique, it was applied to seven sets of business specifications extracted from an enterprise information system. The results of the evaluation show that the technique successfully reduces the size of the specification that has to be reviewed (by 83% on average), although the reduced specification contains some misdetections. They also show that the technique makes it easier to understand and review a business specification implemented in source code.