DikeBenchmarker.solveradaptors package
Submodules
DikeBenchmarker.solveradaptors.abstractexecutable module
Abstract Executable.
Defines the AbstractExecutable class, which serves as a base for managing executables such as solvers, execution wrappers, or proof checkers. It provides methods for registering executables, reading them from a registry file, formatting command lines, and parsing results.
- class DikeBenchmarker.solveradaptors.abstractexecutable.AbstractExecutable(serialized: dict = None)[source]
Bases:
ABCInterface for Executables such as Solvers or Execution Wrappers.
- format_command(xid: str, binaries: list[str], *args, **kwargs) str[source]
Return the command line to run the executable with parameters.
- classmethod from_dict(data: dict) AbstractExecutable[source]
Create an executable from a dictionary representation.
- read_registry(registry_path: str)[source]
Read a CSV registry file to populate executable configurations.
The CSV file format is: id;bin;fmt;checker
- Parameters:
id (-) – Executable identifier (e.g., solver name, wrapper name)
bin (-) – Path(s) to binary executable(s), comma-separated. Relative paths are resolved relative to the registry file’s directory.
fmt (-) – Command format string with placeholders: - $BIN0, $BIN1, … for binary paths (in order) - Custom placeholders (e.g., $INST, $CERT) replaced by _format_extra()
checker (-) – Optional checker command ID for validating executable output
- register(xid: str, sbin: list[str], sfmt: str, checker: str = None)[source]
Register an executable with its path and command format.
- registry = {}
DikeBenchmarker.solveradaptors.checkeradaptor module
This module provides an adaptor for executing checkers of sat or unsat certificates.
- class DikeBenchmarker.solveradaptors.checkeradaptor.CheckerAdaptor(serialized: dict = None)[source]
Bases:
AbstractExecutableA class for executing checkers of sat or unsat certificates.
DikeBenchmarker.solveradaptors.executionwrapper module
Provides access to execution wrappers like runexec, runlim, or benchexec.
Resolves the paths to the wrapper binaries and constructs command-line arguments using the specified resource limits.
- class DikeBenchmarker.solveradaptors.executionwrapper.ExecutionWrapper(mem=65536, cputime=3600, walltime=7200, serialized: dict = None)[source]
Bases:
AbstractExecutableA class to manage execution wrappers.
- format_command(xid: str, binaries: list[str], wrapped_cmd: str, wrapper_output: str, wrapped_output: str) str[source]
Return the command line to run the execution wrapper with parameters.
- classmethod from_dict(data: dict) ExecutionWrapper[source]
Create an execution wrapper from a dictionary representation.
- parse_result(outfile: str)[source]
Parse the runsolver log output to extract runtime statistics.
Parameters: - tool_output: Path to the runsolver log output file.
Returns: - dictionary with keys ‘walltime’, ‘cputime’, ‘memory’, ‘timeout’, ‘memout’, and ‘exitstatus’.
DikeBenchmarker.solveradaptors.solveradaptor module
SAT Solver Adaptor.
- class DikeBenchmarker.solveradaptors.solveradaptor.SolverAdaptor(serialized: dict = None)[source]
Bases:
AbstractExecutableMaintain paths to solvers and make them accessible by their IDs.