{"title":"MedicationChecker: Development of a Formally Verified Android Application with EventB2SQL","authors":"Tim Wahls","doi":"10.1109/QRS.2016.42","DOIUrl":null,"url":null,"abstract":"In this work, we present a case study on the development of a formally verified Android application for checking medication interactions and contraindications. Combining formal methods and Model-View-Controller development methodologies, we created an Event-B model for the application, verified that no patient could be prescribed a medication that had an interaction or contraindication for them, generated code for the model and part of the user interface with the EventB2SQL tool, and then implemented the controller and the rest of the view by hand. We describe our experience in employing this methodology, enhancements to the EventB2SQL tool, and some notes on the performance and usability of the resulting application.","PeriodicalId":412973,"journal":{"name":"2016 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 IEEE International Conference on Software Quality, Reliability and Security (QRS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QRS.2016.42","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
In this work, we present a case study on the development of a formally verified Android application for checking medication interactions and contraindications. Combining formal methods and Model-View-Controller development methodologies, we created an Event-B model for the application, verified that no patient could be prescribed a medication that had an interaction or contraindication for them, generated code for the model and part of the user interface with the EventB2SQL tool, and then implemented the controller and the rest of the view by hand. We describe our experience in employing this methodology, enhancements to the EventB2SQL tool, and some notes on the performance and usability of the resulting application.