Title :
Programming with assertions: a prospectus [software development]
Author :
Malloy, Brian A. ; Voas, Jeffrey M.
Author_Institution :
Dept. of Comput. Sci., Clemson Univ., USA
Abstract :
To address the quality problem for software, developers need a technology that specializes in producing robust software. One widely used process that supports the construction of quality software is testing, which executes the program with input data or test cases, and then compares the output data to expected results. However, the transfer of techniques from research to practice has been slow because many techniques do not scale to real programs. An alternative to testing that has increasing popularity and usage entails the use of assertions to monitor the data attributes of functions or classes. Assertions are formal constraints on the behavior of a software application. Assertions can help improve software quality. To use them effectively, it´s important to determine when they are valid.
Keywords :
constraint handling; program testing; software quality; formal constraints; software development; software quality; software testing; Application software; Computer industry; Contracts; Industrial economics; Programming profession; Robustness; Software quality; Software standards; Software testing; Unified modeling language;
Journal_Title :
IT Professional
DOI :
10.1109/MITP.2004.67