153
edits
m (→Project Ideas) |
|||
| Line 61: | Line 61: | ||
{|border="1" cellpadding="5" cellspacing="0" | {|border="1" cellpadding="5" cellspacing="0" | ||
|'''Project''' || '''Status''' || '''Notes''' | |'''Project''' || '''Status''' || '''Notes''' | ||
|- | |||
|'''Infer unit-testcases from a functions code'''|| thought || Summary: Use the parse tree for a function as input to heuristically apply symbolic logic that aims to build information about the values of parameters required to invoke particular functionality with-in the function. | |||
So for example given a function "uint32_t f(uint32_t i, std::string s)", it starts with a range of possible inputs of (i in [0,2^32-1] x (s.size() in [0,2^32]) x [set-of-possible-values-of-actual-length]) , which is nearly infinite. | |||
Then from the parse tree, derive the possible effects of the code, and the sub-ranges of the inputs that are required to have these effects. | |||
|- | |- | ||
|'''prime number generator'''|| thought || Invert the sieve of Aristophanes, so the data structure holds primes and the next multiple of each prime. Keep the data-structure sorted by the next multiple. When a gap occurs between the current nearest multiple and the next nearest the gap contains prime number(s). | |'''prime number generator'''|| thought || Invert the sieve of Aristophanes, so the data structure holds primes and the next multiple of each prime. Keep the data-structure sorted by the next multiple. When a gap occurs between the current nearest multiple and the next nearest the gap contains prime number(s). | ||
edits