Yoonsik Cheon, R. Lozano, Rajasoundarya Senthil Prabhu
{"title":"A Library-Based Approach for Writing Design Assertions","authors":"Yoonsik Cheon, R. Lozano, Rajasoundarya Senthil Prabhu","doi":"10.1109/SERA57763.2023.10197770","DOIUrl":null,"url":null,"abstract":"Assertions are a crucial aspect of software development, serving as a way to validate conditions during code execution. They are expressed as Boolean expressions that must hold true for the code to run correctly and enforce design decisions and constraints. This paper introduces a new approach for creating assertions called design assertions. These assertions are generated from formally written design constraints and help to enforce important design decisions during code execution. The approach utilizes immutable library classes, specifically designed for writing design assertions, and converts design constraints written in the Object Constraint Language (OCL) into assert statements in the Dart language. The result is a more readable, maintainable, and reliable set of Dart assertions, providing a powerful tool for ensuring software design quality and integrity.","PeriodicalId":211080,"journal":{"name":"2023 IEEE/ACIS 21st International Conference on Software Engineering Research, Management and Applications (SERA)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE/ACIS 21st International Conference on Software Engineering Research, Management and Applications (SERA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SERA57763.2023.10197770","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Assertions are a crucial aspect of software development, serving as a way to validate conditions during code execution. They are expressed as Boolean expressions that must hold true for the code to run correctly and enforce design decisions and constraints. This paper introduces a new approach for creating assertions called design assertions. These assertions are generated from formally written design constraints and help to enforce important design decisions during code execution. The approach utilizes immutable library classes, specifically designed for writing design assertions, and converts design constraints written in the Object Constraint Language (OCL) into assert statements in the Dart language. The result is a more readable, maintainable, and reliable set of Dart assertions, providing a powerful tool for ensuring software design quality and integrity.