Create datasets based on edit operations from the abstract method data. More specifically, the datasets contain CompoundOperation machine strings.

Helper functions

makeEditOpsFile[source]

makeEditOpsFile(abstractSourceFile:str, abstractTargetFile:str, editOpsFile:str, condenser:Callable[List[Union[InsertOperation, DeleteOperation, ReplaceOperation, CompoundOperation]], List[CompoundOperation]], form:str='general')

Determines the list of CompoundEditOperations between abstract methods given in abstractSourceFile and abstractTargetFile, then writes those operations in machine format to the given editOpsFile. The form of the written machine string is determined by form, and defaults to "general". The conversion process is done with the given condenser function, which should be a function provided in the CondenseEditOperations module.

Preparation

Define paths to existing and new data files.

Paths to abstract method data files

Variable name Value
DATA_SMALL_METHODS_TRAIN_BUGGY "../data/small/abstract_methods/train_buggy.txt"
DATA_SMALL_METHODS_TRAIN_FIXED "../data/small/abstract_methods/train_fixed.txt"
DATA_SMALL_METHODS_VALID_BUGGY "../data/small/abstract_methods/valid_buggy.txt"
DATA_SMALL_METHODS_VALID_FIXED "../data/small/abstract_methods/valid_fixed.txt"
DATA_SMALL_METHODS_TEST_BUGGY "../data/small/abstract_methods/test_buggy.txt"
DATA_SMALL_METHODS_TEST_FIXED "../data/small/abstract_methods/test_fixed.txt"

Paths to EditOperation data files

General form:

Variable name Value
DATA_SMALL_OPS_GENERAL_BASIC_TRAIN "../data/small/edit_ops/general/basic/train.txt"
DATA_SMALL_OPS_GENERAL_BASIC_VALID "../data/small/edit_ops/general/basic/valid.txt"
DATA_SMALL_OPS_GENERAL_STRICT_TRAIN "../data/small/edit_ops/general/strict/train.txt"
DATA_SMALL_OPS_GENERAL_STRICT_VALID "../data/small/edit_ops/general/strict/valid.txt"
DATA_SMALL_OPS_GENERAL_LOOSE_TRAIN "../data/small/edit_ops/general/loose/train.txt"
DATA_SMALL_OPS_GENERAL_LOOSE_VALID "../data/small/edit_ops/general/loose/valid.txt"

Typed form:

Variable name Value
DATA_SMALL_OPS_TYPED_BASIC_TRAIN "../data/small/edit_ops/typed/basic/train.txt"
DATA_SMALL_OPS_TYPED_BASIC_VALID "../data/small/edit_ops/typed/basic/valid.txt"
DATA_SMALL_OPS_TYPED_STRICT_TRAIN "../data/small/edit_ops/typed/strict/train.txt"
DATA_SMALL_OPS_TYPED_STRICT_VALID "../data/small/edit_ops/typed/strict/valid.txt"
DATA_SMALL_OPS_TYPED_LOOSE_TRAIN "../data/small/edit_ops/typed/loose/train.txt"
DATA_SMALL_OPS_TYPED_LOOSE_VALID "../data/small/edit_ops/typed/loose/valid.txt"

General Form

Basic condensed EditOperations

makeEditOpsFile(
    DATA_SMALL_METHODS_TRAIN_BUGGY,
    DATA_SMALL_METHODS_TRAIN_FIXED,
    DATA_SMALL_OPS_GENERAL_BASIC_TRAIN,
    getCondensedBasic,
    "general"
)
makeEditOpsFile(
    DATA_SMALL_METHODS_VALID_BUGGY,
    DATA_SMALL_METHODS_VALID_FIXED,
    DATA_SMALL_OPS_GENERAL_BASIC_VALID,
    getCondensedBasic,
    "general"
)

Strictly condensed EditOperations

makeEditOpsFile(
    DATA_SMALL_METHODS_TRAIN_BUGGY,
    DATA_SMALL_METHODS_TRAIN_FIXED,
    DATA_SMALL_OPS_GENERAL_STRICT_TRAIN,
    getCondensedStrict,
    "general"
)
makeEditOpsFile(
    DATA_SMALL_METHODS_VALID_BUGGY,
    DATA_SMALL_METHODS_VALID_FIXED,
    DATA_SMALL_OPS_GENERAL_STRICT_VALID,
    getCondensedStrict,
    "general"
)

Loosely condensed EditOperations

makeEditOpsFile(
    DATA_SMALL_METHODS_TRAIN_BUGGY,
    DATA_SMALL_METHODS_TRAIN_FIXED,
    DATA_SMALL_OPS_GENERAL_LOOSE_TRAIN,
    getCondensedLoose,
    "general"
)
makeEditOpsFile(
    DATA_SMALL_METHODS_VALID_BUGGY,
    DATA_SMALL_METHODS_VALID_FIXED,
    DATA_SMALL_OPS_GENERAL_LOOSE_VALID,
    getCondensedLoose,
    "general"
)

Typed form

Basic condensed EditOperations

makeEditOpsFile(
    DATA_SMALL_METHODS_TRAIN_BUGGY,
    DATA_SMALL_METHODS_TRAIN_FIXED,
    DATA_SMALL_OPS_TYPED_BASIC_TRAIN,
    getCondensedBasic,
    "typed"
)
makeEditOpsFile(
    DATA_SMALL_METHODS_VALID_BUGGY,
    DATA_SMALL_METHODS_VALID_FIXED,
    DATA_SMALL_OPS_TYPED_BASIC_VALID,
    getCondensedBasic,
    "typed"
)

Strictly condensed EditOperations

makeEditOpsFile(
    DATA_SMALL_METHODS_TRAIN_BUGGY,
    DATA_SMALL_METHODS_TRAIN_FIXED,
    DATA_SMALL_OPS_TYPED_STRICT_TRAIN,
    getCondensedStrict,
    "typed"
)
makeEditOpsFile(
    DATA_SMALL_METHODS_VALID_BUGGY,
    DATA_SMALL_METHODS_VALID_FIXED,
    DATA_SMALL_OPS_TYPED_STRICT_VALID,
    getCondensedStrict,
    "typed"
)

Loosely condensed EditOperations

makeEditOpsFile(
    DATA_SMALL_METHODS_TRAIN_BUGGY,
    DATA_SMALL_METHODS_TRAIN_FIXED,
    DATA_SMALL_OPS_TYPED_LOOSE_TRAIN,
    getCondensedLoose,
    "typed"
)
makeEditOpsFile(
    DATA_SMALL_METHODS_VALID_BUGGY,
    DATA_SMALL_METHODS_VALID_FIXED,
    DATA_SMALL_OPS_TYPED_LOOSE_VALID,
    getCondensedLoose,
    "typed"
)