A constraint-based approach to verification of programs with floating-point numbers

Carlos Eduardo Acosta Zapien, University of Texas at El Paso


Software plays an important role in our daily lives. There is software in our cell phones, in our workplaces and in our homes just to mention a few examples. There is also software that is even more important; for example, software included in our cars such as the antilock brake systems, software applications controlling airport traffic and software in the airplane itself, applications used in hospitals to deliver radioactive treatment to patients, programs used in nuclear stations. These kinds of applications are critical: human-lives depend on their functionalities. Ideally, we want programs to always work right and as specified. Programmers and users want specially the latter kind of software to work right. That is, we want reliable software. ^ We can achieve a higher degree of software reliability by verifying it and by validating it. Validation and Verification (V&V) are two terms that are similar. They have been used to refer to all the activities we perform to check that software does what it is supposed to do. We adopt the following meaning for validation and verification. Validation refers to checking that the design specification satisfies the user's requirements whereas verification refers to proving that the code satisfies the design specifications) [25, 32, 35]. ^ There exist different V&V techniques, one of which includes the use of constraint programming techniques. Constraint programming is an emerging field and has been successfully used in solving scheduling problems and circuit design, among others. Its use in verification of software is still being researched and it is being applied to automatically generate test cases and to show the conformity of software to its specification. ^ In this work, we survey constrained-based verification techniques and we propose a different approach to translate code construct where existing approaches made use of guarded constraints. In addition, we also describe a process to solve Constraint Satisfaction Problems (CSP) of the form ¬ A Λ B. ^

Subject Area

Computer Science

Recommended Citation

Acosta Zapien, Carlos Eduardo, "A constraint-based approach to verification of programs with floating-point numbers" (2007). ETD Collection for University of Texas, El Paso. AAI1449737.