Experiment: SZZ

We support experiments for two different SZZ tools: SZZUnleashed and a PyDriller based SZZ implementation.

Module: SZZUnleashed

Implements the SZZUnleashed experiment.

class varats.experiments.szz.szz_unleashed_experiment.PrepareSZZUnleashedData(project)[source]

Bases: ProjectStep

Prepare data about bug fixing commits.

This information is needed by the SZZUnleashed tool.

NAME = 'PrepareSZZUnleashedData'
DESCRIPTION = 'Prepares data needed for running SZZUnleashed.'
project: VProject
prepare_szz_data()[source]

Prepare data needed for running SZZUnleashed.

Return type:

StepResult

class varats.experiments.szz.szz_unleashed_experiment.RunSZZUnleashed(project, experiment_handle)[source]

Bases: ProjectStep

Run the SZZUnleashed tool.

NAME = 'RunSZZUnleashed'
DESCRIPTION = 'Run SZZUnleashed on a project'
project: VProject
run_szz()[source]

Prepare data needed for running SZZUnleashed.

Return type:

StepResult

class varats.experiments.szz.szz_unleashed_experiment.CreateSZZUnleashedReport(project)[source]

Bases: ProjectStep

Create a SZZReport from the data generated by SZZUnleashed.

NAME = 'CreateSZZUnleashedReport'
DESCRIPTION = 'Create a report from SZZUnleashed data'
project: VProject
create_report()[source]

Create a report from SZZUnleashed data.

Return type:

StepResult

class varats.experiments.szz.szz_unleashed_experiment.SZZUnleashedExperiment(name=NOTHING, projects=NOTHING, id=NOTHING, schema=NOTHING, container=NOTHING)[source]

Bases: VersionExperiment

Generates a SZZUnleashed report.

This experiment should be run only on one (preferably the newest) revision of a project.

NAME: ClassVar[str] = 'SZZUnleashed'
REPORT_SPEC: ReportSpecification = <varats.report.report.ReportSpecification object>
classmethod sample(prj_cls)[source]

Adapt version sampling process if needed, otherwise fallback to default implementation.

Parameters:

prj_cls (Type[Project]) – project class

Return type:

List[Revision]

Returns:

list of sampled versions

actions_for_project(project)[source]

Returns the specified steps to run the project(s) specified in the call in a fixed order.

Return type:

List[Step]

SHORTHAND: str = 'SZZUnleashed'

Module: PyDrillerSZZ

Implements the SZZUnleashed experiment.

class varats.experiments.szz.pydriller_szz_experiment.CreatePyDrillerSZZReport(project)[source]

Bases: ProjectStep

Create a SZZReport from the data collected by the.

BugProvider.

NAME = 'CreatePyDrillerSZZReport'
DESCRIPTION = 'Create a report from SZZ data'
project: VProject
create_report()[source]

Create a report from SZZ data.

Return type:

StepResult

class varats.experiments.szz.pydriller_szz_experiment.PyDrillerSZZExperiment(name=NOTHING, projects=NOTHING, id=NOTHING, schema=NOTHING, container=NOTHING)[source]

Bases: VersionExperiment

Generates a PyDrillerSZZ report.

This experiment should be run only on one (preferably the newest) revision of a project.

NAME: ClassVar[str] = 'PyDrillerSZZ'
REPORT_SPEC: ReportSpecification = <varats.report.report.ReportSpecification object>
classmethod sample(prj_cls)[source]

Adapt version sampling process if needed, otherwise fallback to default implementation.

Parameters:

prj_cls (Type[Project]) – project class

Return type:

List[Revision]

Returns:

list of sampled versions

actions_for_project(project)[source]

Returns the specified steps to run the project(s) specified in the call in a fixed order.

Return type:

List[Step]

SHORTHAND: str = 'PyDrillerSZZ'