UNPKG

@syntest/search

Version:

The common core of the SynTest Framework

33 lines 1.36 kB
import { Logger } from "@syntest/logging"; import { Encoding } from "../Encoding"; import { ExecutionResult } from "../ExecutionResult"; import { SearchSubject } from "../SearchSubject"; import { ControlFlowBasedObjectiveFunction } from "./ControlFlowBasedObjectiveFunction"; import { ApproachLevel } from "./heuristics/ApproachLevel"; import { BranchDistance } from "./heuristics/BranchDistance"; /** * Objective function for the branch criterion. * * @author Mitchell Olsthoorn * @author Annibale Panichella * @author Dimitri Stallenberg */ export declare class BranchObjectiveFunction<T extends Encoding> extends ControlFlowBasedObjectiveFunction<T> { protected static LOGGER: Logger; constructor(approachLevel: ApproachLevel, branchDistance: BranchDistance, subject: SearchSubject<T>, id: string); /** * Calculating the distance for a single encoding * * This returns a number structured as follows: XX.YYZZZZ * Where: * - XX is the approach level * - YY is the fraction of uncovered statements within the block * - ZZZZ is the branch distance from the objective * * @param encoding * @returns */ calculateDistance(encoding: T): number; protected _calculateControlFlowDistance(executionResult: ExecutionResult): number; } //# sourceMappingURL=BranchObjectiveFunction.d.ts.map