{"title":"Algebraic software testing in vector spaces of functions","authors":"Thomas R. Cain, E. Park","doi":"10.1109/CMPSAC.1996.544171","DOIUrl":null,"url":null,"abstract":"The problem of determining whether two programs compute the same function is undecidable. We restrict the class of functions that a program can compute to be a finite dimensional vector space, enabling the problem to become tractable. We prove a theorem showing that the number of test points needed to distinguish any such programs is equal to the dimension of the vector space of functions which they compute, thus generalizing previous results of Howden. Our result unifies certain existing software testing theory and explains the successes and failures of one existing method for selecting test data called perturbation testing. We apply the theorem to obtain three results on the number of test points required to test in vector spaces of Boolean functions and polynomials. First, the Vandermonde matrix used together with our theorem yields the classical result that a polynomial of degree at most n is determined by n+1 points. Second, in vector spaces of Boolean functions we obtain useful results when the degree of the Boolean function is less than the number of inputs to the function. Third, we apply our theorem to describe a technique for testing nonpolynomial, real valued functions.","PeriodicalId":306601,"journal":{"name":"Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96","volume":"116 ","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1996-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CMPSAC.1996.544171","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
The problem of determining whether two programs compute the same function is undecidable. We restrict the class of functions that a program can compute to be a finite dimensional vector space, enabling the problem to become tractable. We prove a theorem showing that the number of test points needed to distinguish any such programs is equal to the dimension of the vector space of functions which they compute, thus generalizing previous results of Howden. Our result unifies certain existing software testing theory and explains the successes and failures of one existing method for selecting test data called perturbation testing. We apply the theorem to obtain three results on the number of test points required to test in vector spaces of Boolean functions and polynomials. First, the Vandermonde matrix used together with our theorem yields the classical result that a polynomial of degree at most n is determined by n+1 points. Second, in vector spaces of Boolean functions we obtain useful results when the degree of the Boolean function is less than the number of inputs to the function. Third, we apply our theorem to describe a technique for testing nonpolynomial, real valued functions.