Class DynamoDbHeuristicsCalculator

java.lang.Object
org.evomaster.client.java.controller.internal.db.dynamodb.DynamoDbHeuristicsCalculator

public class DynamoDbHeuristicsCalculator extends Object
Computes DynamoDB predicate heuristics directly as Truthness values.

Evaluating one item returns predicate Truthness, while evaluating multiple source items keeps the best non-matching ofTrue value when no item satisfies the query.

  • Constructor Details

    • DynamoDbHeuristicsCalculator

      public DynamoDbHeuristicsCalculator()
      Creates a calculator without taint tracking callbacks.
    • DynamoDbHeuristicsCalculator

      public DynamoDbHeuristicsCalculator(org.evomaster.client.java.sql.internal.TaintHandler taintHandler)
      Creates a calculator with an optional taint callback used during string comparisons.
      Parameters:
      taintHandler - optional callback used when strings are compared
  • Method Details

    • computeDistance

      public double computeDistance(QueryOperation keyCondition, QueryOperation filterExpression, Collection<Map<String,Object>> items)
      Computes the distance to satisfying a DynamoDB query.
      Parameters:
      keyCondition - parsed key condition, or null
      filterExpression - parsed filter expression, or null
      items - source items to evaluate
      Returns:
      distance to the query's true branch
    • computeQuery

      public org.evomaster.client.java.distance.heuristics.Truthness computeQuery(QueryOperation keyCondition, QueryOperation filterExpression, Collection<Map<String,Object>> items)
      Computes query truthness while preserving DynamoDB's key-before-filter evaluation order.
      Parameters:
      keyCondition - parsed key condition, or null
      filterExpression - parsed filter expression, or null
      items - source items to evaluate
      Returns:
      query-level truthness
    • computeCondition

      public org.evomaster.client.java.distance.heuristics.Truthness computeCondition(QueryOperation operation, Collection<Map<String,Object>> items)
      Computes query-level truthness over all available source items.
      Parameters:
      operation - parsed predicate
      items - source items to evaluate
      Returns:
      query-level truthness
    • computeExpression

      public org.evomaster.client.java.distance.heuristics.Truthness computeExpression(QueryOperation operation, Map<String,Object> item)
      Computes the truthness of one parsed DynamoDB predicate over one concrete item.
      Parameters:
      operation - parsed predicate
      item - concrete item represented as plain Java values
      Returns:
      truthness for the predicate on the item