CodoMo: Python Model Checking to Integrate Agile Verification Process of Computer Vision Systems
Journal:
arXiv
Published Date:
Dec 11, 2024
Abstract
Model checking is a fundamental technique for verifying finite state
concurrent systems. Traditionally, model designs were initially created to
facilitate the application of model checking. This process, representative of
Model Driven Development (MDD), involves generating an equivalent code from a
given model which is verified before implementation begins. However, this
approach is considerably slower compared to agile development methods and lacks
flexibility in terms of expandability and refactoring. We have proposed
"CodoMo: Python Code to Model Generator for pyModelChecking." This tool
automates the transformation of a Python code by an AST static analyzer and a
concolic testing tool into intermediate models suitable for verification with
pyModelChecking, bridging the gap between traditional model checking and agile
methodologies. Additionally, we have implemented a multiprocess approach that
integrates the execution of PyExZ3 with the generation of Kripke structures
achieving greater work efficiency. By employing CodoMo, we successfully
verified a Tello Drone programming with gesture-based image processing
interfaces, showcasing the tool's powerful capability to enhance verification
processes while maintaining the agility required for today's fast-paced
development cycles.