ciselab/rpc-json-testing

Implement first fitness functions

Closed this issue · 1 comments

lisv commented

Following the meeting on the 7th of December:

  • Suggestion from Annibale: fitness based on category partitions, input-output diversity, back-box heristics. Equivalent classes in testing.
  • Identify different properties. Check if property always changes, then not important (e.g. time or account). In most responses the same, some different.
  • For now, build fitness function based on error-messages, coming from the OpenRPC specification.
  • Eventually, parse entire JSON response and look at all properties.
lisv commented

Update

  • Added StatusCodeFitness: an individual (i.e. request) that results in a rare HTTP status code, will have a high fitness
  • Added ResponseStructureFitness: an individual (i.e. request) that results in a rare JSON structure (looking only at keys, values are not taken into consideration), will have a high fitness