Smart bound selection for the verification of UML/OCL class diagrams

Correctness of UML class diagrams annotated with OCL constraints can be checked using bounded verification techniques, e.g., SAT or constraint programming (CP) solvers. Bounded verification detects faults efficiently but, on the other hand, the absence of faults does not guarantee a correct behavior...

Descripción completa

Detalles Bibliográficos
Autores: Clarisó, Robert, González Pérez, Carlos Alberto, Cabot, Jordi
Tipo de recurso: artículo
Estado:Versión enviada para evaluación y publicación
Fecha de publicación:2017
País:España
Institución:Universitat Oberta de Catalunya (UOC)
Repositorio:O2, repositorio institucional de la UOC
OAI Identifier:oai:openaccess.uoc.edu:10609/77126
Acceso en línea:https://hdl.handle.net/10609/77126
Access Level:acceso abierto
Palabra clave:formal verification
UML
class diagram
OCL
constraint propagation
SAT
verificación formal
diagrama de clases
propagación de restricción
verificació formal
diagrama de classes
propagació de restricció
Software engineering
Enginyeria de programari
Ingeniería de software
Descripción
Sumario:Correctness of UML class diagrams annotated with OCL constraints can be checked using bounded verification techniques, e.g., SAT or constraint programming (CP) solvers. Bounded verification detects faults efficiently but, on the other hand, the absence of faults does not guarantee a correct behavior outside the bounded domain. Hence, choosing suitable bounds is a non-trivial process as there is a trade-off between the verification time (faster for smaller domains) and the confidence in the result (better for larger domains). Unfortunately, bounded verification tools provide little support in the bound selection process. In this paper, we present a technique that can be used to (i) automatically infer verification bounds whenever possible, (ii) tighten a set of bounds proposed by the user and (iii) guide the user in the bound selection process. This approach may increase the usability of UML/OCL bounded verification tools and improve the efficiency of the verification process.