API

Debugging Algorithms

class Debugger(max_iter=1000, origin=None, separator='|', send='5557', receive='5558')

Creates pipeline instances to be run based on execution history and finds root causes of failure.

This is the base interface for all debugging algorithms in BugDoc library. It takes an entry point of a pipeline and a description of the parameter space to generate new instances and return root causes.

Build a new debugging algorithm object.

max_iter: int

Maximum number of instances to be created.

origin: None or str

Additional provenance information to be added to the history of pipeline instances.

separator: str

Character to be used as separator between data fields that are sent as string to debugger worker.

send: str

Socket port used to send messages to worker.

receive: str

Socket port used to receive messages from worker.

class StackedShortcut(created_instances=False, k=4, max_iter=1000, origin=None, separator='|', send='5557', receive='5558')

Build a new debugging algorithm object.

max_iter: int

Maximum number of instances to be created.

origin: None or str

Additional provenance information to be added to the history of pipeline instances.

separator: str

Character to be used as separator between data fields that are sent as string to debugger worker.

send: str

Socket port used to send messages to worker.

receive: str

Socket port used to receive messages from worker.

class Shortcut(max_iter=1000, origin=None, separator='|', send='5557', receive='5558')

Build a new debugging algorithm object.

max_iter: int

Maximum number of instances to be created.

origin: None or str

Additional provenance information to be added to the history of pipeline instances.

separator: str

Character to be used as separator between data fields that are sent as string to debugger worker.

send: str

Socket port used to send messages to worker.

receive: str

Socket port used to receive messages from worker.

class DebuggingDecisionTrees(return_num_instances=False, first_solution=False, num_tests=10000, use_score=False, max_iter=10000, origin=None, separator='|', send='5557', receive='5558')

Creates pipeline instances to be run based on a decision tree fitted on execution history and finds root causes of failure.

This algorithm fits a decision tree using parameters as features and results of pipelines as target. The results are boolean evaluations of success (True) or fail (False). It takes an entry point of a pipeline and a description of the parameter space to generate new instances and return root causes of failure.

Build a new debugging debugging decision trees algorithm object.

return_num_instances: bool

Whether return the number of new instances were created or not.

num_tests: int

Maximum number of instances to run in each iteration of the algorithm.

use_score: bool

Whether using a goodness score to order the instances to be run. The goodness score, for each parameter-value, is defined by the ratio of successful and failing instances in which a given parameter-values appears.

Utils

record_pipeline_run(filename, values, parameters, result, origin=None)
Parameters
  • filename

  • values

  • parameters

  • result

  • origin

Returns