├── .gitignore
├── LICENSE
├── README.md
├── bin
├── com
│ └── beust
│ │ └── jcommander
│ │ ├── DynamicParameter.class
│ │ ├── FuzzyMap$IKey.class
│ │ ├── FuzzyMap.class
│ │ ├── IDefaultProvider.class
│ │ ├── IParameterValidator.class
│ │ ├── IParameterValidator2.class
│ │ ├── IStringConverter.class
│ │ ├── IStringConverterFactory.class
│ │ ├── IValueValidator.class
│ │ ├── IVariableArity.class
│ │ ├── JCommander$1.class
│ │ ├── JCommander$DefaultVariableArity.class
│ │ ├── JCommander$ProgramName.class
│ │ ├── JCommander.class
│ │ ├── MissingCommandException.class
│ │ ├── Parameter.class
│ │ ├── ParameterDescription.class
│ │ ├── ParameterException.class
│ │ ├── Parameterized.class
│ │ ├── Parameters.class
│ │ ├── ParametersDelegate.class
│ │ ├── ResourceBundle.class
│ │ ├── StringKey.class
│ │ ├── Strings.class
│ │ ├── WrappedParameter.class
│ │ ├── converters
│ │ ├── BaseConverter.class
│ │ ├── BigDecimalConverter.class
│ │ ├── BooleanConverter.class
│ │ ├── CommaParameterSplitter.class
│ │ ├── DoubleConverter.class
│ │ ├── FileConverter.class
│ │ ├── FloatConverter.class
│ │ ├── IParameterSplitter.class
│ │ ├── ISO8601DateConverter.class
│ │ ├── IntegerConverter.class
│ │ ├── LongConverter.class
│ │ ├── NoConverter.class
│ │ └── StringConverter.class
│ │ ├── defaultprovider
│ │ └── PropertyFileDefaultProvider.class
│ │ ├── internal
│ │ ├── Console.class
│ │ ├── DefaultConsole.class
│ │ ├── DefaultConverterFactory.class
│ │ ├── JDK6Console.class
│ │ ├── Lists.class
│ │ ├── Maps.class
│ │ ├── Nullable.class
│ │ └── Sets.class
│ │ └── validators
│ │ ├── NoValidator.class
│ │ ├── NoValueValidator.class
│ │ └── PositiveInteger.class
└── mujava
│ ├── AllMutantsGenerator.class
│ ├── ClassMutantsGenerator.class
│ ├── ExceptionMutantsGenerator.class
│ ├── MutantsGenerator.class
│ ├── MutationSystem.class
│ ├── OpenJavaException.class
│ ├── TestExecuter$1.class
│ ├── TestExecuter.class
│ ├── TestExecuterCLI$1.class
│ ├── TestExecuterCLI$2.class
│ ├── TestExecuterCLI$3.class
│ ├── TestExecuterCLI.class
│ ├── TestExecuterCLISingleThread.class
│ ├── TraditionalMutantsGenerator.class
│ ├── TraditionalMutantsGeneratorCLI.class
│ ├── cli
│ ├── Pair.class
│ ├── Util.class
│ ├── doRandomGivenMutationOperator.class
│ ├── doRandomGivenPercentMutants.class
│ ├── genmutes.class
│ ├── genmutesCom.class
│ ├── markequiv.class
│ ├── markequivCom.class
│ ├── runmutes.class
│ ├── runmutesCom.class
│ ├── script.class
│ ├── testnew.class
│ └── testnewCom.class
│ ├── cmd
│ ├── MutantsGenerator.class
│ └── TestRunner.class
│ ├── compileTestcase.class
│ ├── gui
│ ├── CMOTableModel.class
│ ├── ClassMutantsViewerPanel$1.class
│ ├── ClassMutantsViewerPanel$2.class
│ ├── ClassMutantsViewerPanel.class
│ ├── FileTableModel.class
│ ├── GenMutantsMain$1.class
│ ├── GenMutantsMain.class
│ ├── MOTableModel.class
│ ├── MutantsGenPanel$1.class
│ ├── MutantsGenPanel$2.class
│ ├── MutantsGenPanel$3.class
│ ├── MutantsGenPanel$4.class
│ ├── MutantsGenPanel$5.class
│ ├── MutantsGenPanel$6.class
│ ├── MutantsGenPanel$7.class
│ ├── MutantsGenPanel$8.class
│ ├── MutantsGenPanel.class
│ ├── MutantsViewerPanel$1.class
│ ├── MutantsViewerPanel$2.class
│ ├── MutantsViewerPanel.class
│ ├── ResultTableModel.class
│ ├── RunTestMain$1.class
│ ├── RunTestMain.class
│ ├── RunTestPanel$1.class
│ ├── RunTestPanel$2.class
│ ├── RunTestPanel$3.class
│ ├── RunTestPanel$4.class
│ ├── RunTestPanel$5.class
│ ├── RunTestPanel.class
│ ├── TMOTableModel.class
│ ├── TraditionalMutantsViewerPanel$1.class
│ ├── TraditionalMutantsViewerPanel$2.class
│ ├── TraditionalMutantsViewerPanel$3.class
│ ├── TraditionalMutantsViewerPanel.class
│ └── util
│ │ ├── CMSummaryTableModel.class
│ │ ├── EMSummaryTableModel.class
│ │ ├── SummaryTableModel.class
│ │ └── TMSummaryTableModel.class
│ ├── makeMuJavaStructure.class
│ ├── op
│ ├── ABS.class
│ ├── ABS_AOR_LCR_ROR_UOI.class
│ ├── ABS_Writer.class
│ ├── AMC.class
│ ├── AMC_Writer.class
│ ├── AOR_Writer.class
│ ├── BindInfo.class
│ ├── EAM.class
│ ├── EAM_Writer.class
│ ├── EMM.class
│ ├── EMM_Writer.class
│ ├── EOA.class
│ ├── EOA_Writer.class
│ ├── EOC.class
│ ├── EOC_Writer.class
│ ├── IHD.class
│ ├── IHD_IHI_EqAnalyzer.class
│ ├── IHD_Writer.class
│ ├── IHI.class
│ ├── IHI.java2
│ ├── IHI_Writer.class
│ ├── IOD.class
│ ├── IOD_Writer.class
│ ├── IOP.class
│ ├── IOP_Helper.class
│ ├── IOP_Writer.class
│ ├── IOR.class
│ ├── IOR_Equivalent.class
│ ├── IOR_Writer.class
│ ├── IPC.class
│ ├── IPC_Writer.class
│ ├── ISD.class
│ ├── ISI_Writer.class
│ ├── ISK_JTD_Writer.class
│ ├── JDC.class
│ ├── JDC_Writer.class
│ ├── JDC_Writer.jbx
│ ├── JID.class
│ ├── JID_Writer.class
│ ├── JSD.class
│ ├── JSD_Writer.class
│ ├── JSI.class
│ ├── JSI_Writer.class
│ ├── JTD.class
│ ├── JTI.class
│ ├── JTI_Writer.class
│ ├── LCR.class
│ ├── LCR_Writer.class
│ ├── OAN.class
│ ├── OAN_Writer.class
│ ├── OMD.class
│ ├── OMD_Writer.class
│ ├── OMR.class
│ ├── OMR_Writer.class
│ ├── OverloadingHelper.class
│ ├── PCC.class
│ ├── PCC_Writer.class
│ ├── PCD.class
│ ├── PCD_Writer.class
│ ├── PCI.class
│ ├── PCI_Writer.class
│ ├── PMD.class
│ ├── PMD_Writer.class
│ ├── PNC.class
│ ├── PNC_Writer.class
│ ├── PNC_Writer.jbx
│ ├── PPD.class
│ ├── PPD_Writer.class
│ ├── PRV.class
│ ├── PRV_Writer.class
│ ├── ParameterTypeInfo.class
│ ├── ROR_Writer.class
│ ├── UOI.class
│ ├── UOI_Writer.class
│ ├── basic
│ │ ├── AODS.class
│ │ ├── AODS_Writer.class
│ │ ├── AODU.class
│ │ ├── AODU_Writer.class
│ │ ├── AOIS.class
│ │ ├── AOIS_Writer.class
│ │ ├── AOIU.class
│ │ ├── AOIU_Writer.class
│ │ ├── AORB.class
│ │ ├── AORB_Writer.class
│ │ ├── AORS.class
│ │ ├── AORS_Writer.class
│ │ ├── AORU.class
│ │ ├── AORU_Writer.class
│ │ ├── ASRS.class
│ │ ├── ASRS_Writer.class
│ │ ├── Arithmetic_OP.class
│ │ ├── CDL.class
│ │ ├── CDL_Writer.class
│ │ ├── COD.class
│ │ ├── COD_Writer.class
│ │ ├── COI.class
│ │ ├── COI_Writer.class
│ │ ├── COR.class
│ │ ├── COR_Writer.class
│ │ ├── CreateDirForEachMethod.class
│ │ ├── LOD.class
│ │ ├── LOD_Writer.class
│ │ ├── LOI.class
│ │ ├── LOI_Writer.class
│ │ ├── LOR.class
│ │ ├── LOR_Writer.class
│ │ ├── MethodLevelMutator.class
│ │ ├── ODL.class
│ │ ├── ODL_Writer.class
│ │ ├── ROR.class
│ │ ├── ROR_Writer.class
│ │ ├── SDL.class
│ │ ├── SDL_Writer.class
│ │ ├── SOR.class
│ │ ├── SOR_Writer.class
│ │ ├── VDL.class
│ │ └── VDL_Writer.class
│ ├── exception
│ │ ├── EFD.class
│ │ ├── EFD_Writer.class
│ │ ├── EHC.class
│ │ ├── EHC_Writer.class
│ │ ├── EHD.class
│ │ ├── EHD_Writer.class
│ │ ├── EHI.class
│ │ ├── EHI_Writer.class
│ │ ├── ETC.class
│ │ ├── ETC_Writer.class
│ │ ├── ETD.class
│ │ ├── ETD_Writer.class
│ │ └── ExceptionAnalyzer.class
│ └── util
│ │ ├── CodeChangeLog.class
│ │ ├── DeclAnalyzer.class
│ │ ├── LineNumerAnalyzer.class
│ │ ├── MutantCodeWriter.class
│ │ ├── Mutator.class
│ │ ├── PolymorphicMutator.class
│ │ ├── ScopeHandlingMutantCodeWriter.class
│ │ ├── StatementParser.class
│ │ ├── TraditionalMutantCodeWriter.class
│ │ └── TypeCastMutator.class
│ ├── openjava
│ └── extension
│ │ ├── EvaluationShuttle.class
│ │ ├── ExtendedClosedEnvironment.class
│ │ ├── ScopeHandler.class
│ │ └── VariableBinder.class
│ ├── test
│ ├── JMutationLoader.class
│ ├── NoMutantDirException.class
│ ├── NoMutantException.class
│ ├── OriginalLoader.class
│ ├── TestResult.class
│ └── TestResultCLI.class
│ └── util
│ ├── Debug.class
│ ├── DirFileFilter.class
│ ├── ExtensionFilter.class
│ ├── InheritanceINFO.class
│ └── MutantDirFilter.class
├── commons-io-2.4.jar
├── mujava.config
├── mujavaCLI.config
├── openjava.jar
└── src
├── com
└── beust
│ └── jcommander
│ ├── DynamicParameter.java
│ ├── FuzzyMap.java
│ ├── IDefaultProvider.java
│ ├── IParameterValidator.java
│ ├── IParameterValidator2.java
│ ├── IStringConverter.java
│ ├── IStringConverterFactory.java
│ ├── IValueValidator.java
│ ├── IVariableArity.java
│ ├── JCommander.java
│ ├── MissingCommandException.java
│ ├── Parameter.java
│ ├── ParameterDescription.java
│ ├── ParameterException.java
│ ├── Parameterized.java
│ ├── Parameters.java
│ ├── ParametersDelegate.java
│ ├── ResourceBundle.java
│ ├── StringKey.java
│ ├── Strings.java
│ ├── WrappedParameter.java
│ ├── converters
│ ├── BaseConverter.java
│ ├── BigDecimalConverter.java
│ ├── BooleanConverter.java
│ ├── CommaParameterSplitter.java
│ ├── DoubleConverter.java
│ ├── FileConverter.java
│ ├── FloatConverter.java
│ ├── IParameterSplitter.java
│ ├── ISO8601DateConverter.java
│ ├── IntegerConverter.java
│ ├── LongConverter.java
│ ├── NoConverter.java
│ └── StringConverter.java
│ ├── defaultprovider
│ └── PropertyFileDefaultProvider.java
│ ├── internal
│ ├── Console.java
│ ├── DefaultConsole.java
│ ├── DefaultConverterFactory.java
│ ├── JDK6Console.java
│ ├── Lists.java
│ ├── Maps.java
│ ├── Nullable.java
│ └── Sets.java
│ └── validators
│ ├── NoValidator.java
│ ├── NoValueValidator.java
│ └── PositiveInteger.java
└── mujava
├── AllMutantsGenerator.java
├── ClassMutantsGenerator.java
├── ExceptionMutantsGenerator.java
├── MutantsGenerator.java
├── MutationSystem.java
├── OpenJavaException.java
├── TestExecuter.java
├── TestExecuterCLI.java
├── TestExecuterCLISingleThread.java
├── TraditionalMutantsGenerator.java
├── TraditionalMutantsGeneratorCLI.java
├── cli
├── Pair.java
├── Util.java
├── doRandomGivenMutationOperator.java
├── doRandomGivenPercentMutants.java
├── genmutes.java
├── genmutesCom.java
├── markequiv.java
├── markequivCom.java
├── runmutes.java
├── runmutesCom.java
├── script.java
├── testnew.java
└── testnewCom.java
├── cmd
├── MutantsGenerator.java
└── TestRunner.java
├── compileTestcase.java
├── gui
├── ClassMutantsViewerPanel.java
├── GenMutantsMain.java
├── MutantsGenPanel.java
├── MutantsViewerPanel.java
├── RunTestMain.java
├── RunTestPanel.java
├── TraditionalMutantsViewerPanel.java
└── util
│ ├── CMSummaryTableModel.java
│ ├── EMSummaryTableModel.java
│ ├── SummaryTableModel.java
│ └── TMSummaryTableModel.java
├── makeMuJavaStructure.java
├── op
├── ABS.java
├── ABS_AOR_LCR_ROR_UOI.java
├── ABS_Writer.java
├── AMC.java
├── AMC_Writer.java
├── AOR_Writer.java
├── EAM.java
├── EAM_Writer.java
├── EMM.java
├── EMM_Writer.java
├── EOA.java
├── EOA_Writer.java
├── EOC.java
├── EOC_Writer.java
├── IHD.java
├── IHD_IHI_EqAnalyzer.java
├── IHD_Writer.java
├── IHI.java
├── IHI.java2
├── IHI_Writer.java
├── IOD.java
├── IOD_Writer.java
├── IOP.java
├── IOP_Helper.java
├── IOP_Writer.java
├── IOR.java
├── IOR_Equivalent.java
├── IOR_Writer.java
├── IPC.java
├── IPC_Writer.java
├── ISD.java
├── ISI_Writer.java
├── ISK_JTD_Writer.java
├── JDC.java
├── JDC_Writer.java
├── JDC_Writer.jbx
├── JID.java
├── JID_Writer.java
├── JSD.java
├── JSD_Writer.java
├── JSI.java
├── JSI_Writer.java
├── JTD.java
├── JTI.java
├── JTI_Writer.java
├── LCR.java
├── LCR_Writer.java
├── OAN.java
├── OAN_Writer.java
├── OMD.java
├── OMD_Writer.java
├── OMR.java
├── OMR_Writer.java
├── OverloadingHelper.java
├── PCC.java
├── PCC_Writer.java
├── PCD.java
├── PCD_Writer.java
├── PCI.java
├── PCI_Writer.java
├── PMD.java
├── PMD_Writer.java
├── PNC.java
├── PNC_Writer.java
├── PNC_Writer.jbx
├── PPD.java
├── PPD_Writer.java
├── PRV.java
├── PRV_Writer.java
├── ROR_Writer.java
├── UOI.java
├── UOI_Writer.java
├── basic
│ ├── AODS.java
│ ├── AODS_Writer.java
│ ├── AODU.java
│ ├── AODU_Writer.java
│ ├── AOIS.java
│ ├── AOIS_Writer.java
│ ├── AOIU.java
│ ├── AOIU_Writer.java
│ ├── AORB.java
│ ├── AORB_Writer.java
│ ├── AORS.java
│ ├── AORS_Writer.java
│ ├── AORU.java
│ ├── AORU_Writer.java
│ ├── ASRS.java
│ ├── ASRS_Writer.java
│ ├── Arithmetic_OP.java
│ ├── CDL.java
│ ├── CDL_Writer.java
│ ├── COD.java
│ ├── COD_Writer.java
│ ├── COI.java
│ ├── COI_Writer.java
│ ├── COR.java
│ ├── COR_Writer.java
│ ├── CreateDirForEachMethod.java
│ ├── LOD.java
│ ├── LOD_Writer.java
│ ├── LOI.java
│ ├── LOI_Writer.java
│ ├── LOR.java
│ ├── LOR_Writer.java
│ ├── MethodLevelMutator.java
│ ├── ODL.java
│ ├── ODL_Writer.java
│ ├── ROR.java
│ ├── ROR_Writer.java
│ ├── SDL.java
│ ├── SDL_Writer.java
│ ├── SOR.java
│ ├── SOR_Writer.java
│ ├── VDL.java
│ └── VDL_Writer.java
├── exception
│ ├── EFD.java
│ ├── EFD_Writer.java
│ ├── EHC.java
│ ├── EHC_Writer.java
│ ├── EHD.java
│ ├── EHD_Writer.java
│ ├── EHI.java
│ ├── EHI_Writer.java
│ ├── ETC.java
│ ├── ETC_Writer.java
│ ├── ETD.java
│ ├── ETD_Writer.java
│ └── ExceptionAnalyzer.java
└── util
│ ├── CodeChangeLog.java
│ ├── DeclAnalyzer.java
│ ├── LineNumerAnalyzer.java
│ ├── MutantCodeWriter.java
│ ├── Mutator.java
│ ├── PolymorphicMutator.java
│ ├── ScopeHandlingMutantCodeWriter.java
│ ├── StatementParser.java
│ ├── TraditionalMutantCodeWriter.java
│ └── TypeCastMutator.java
├── openjava
└── extension
│ ├── EvaluationShuttle.java
│ ├── ExtendedClosedEnvironment.java
│ ├── ScopeHandler.java
│ └── VariableBinder.java
├── test
├── JMutationLoader.java
├── NoMutantDirException.java
├── NoMutantException.java
├── OriginalLoader.java
├── TestResult.java
└── TestResultCLI.java
└── util
├── Debug.java
├── DirFileFilter.java
├── ExtensionFilter.java
├── InheritanceINFO.java
└── MutantDirFilter.java
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | README.md
3 |
4 | LICENSE
5 |
6 | LICENSE
7 |
8 | README.md
9 |
10 | LICENSE
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | muJava
2 | ======
3 |
4 | Mutation system for Java programs, including OO mutation operators.
5 |
6 | Please see muJava's homepage for detail: http://cs.gmu.edu/~offutt/mujava
7 |
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/DynamicParameter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/DynamicParameter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/FuzzyMap$IKey.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/FuzzyMap$IKey.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/FuzzyMap.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/FuzzyMap.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/IDefaultProvider.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/IDefaultProvider.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/IParameterValidator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/IParameterValidator.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/IParameterValidator2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/IParameterValidator2.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/IStringConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/IStringConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/IStringConverterFactory.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/IStringConverterFactory.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/IValueValidator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/IValueValidator.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/IVariableArity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/IVariableArity.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/JCommander$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/JCommander$1.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/JCommander$DefaultVariableArity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/JCommander$DefaultVariableArity.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/JCommander$ProgramName.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/JCommander$ProgramName.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/JCommander.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/JCommander.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/MissingCommandException.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/MissingCommandException.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/Parameter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/Parameter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/ParameterDescription.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/ParameterDescription.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/ParameterException.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/ParameterException.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/Parameterized.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/Parameterized.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/Parameters.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/Parameters.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/ParametersDelegate.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/ParametersDelegate.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/ResourceBundle.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/ResourceBundle.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/StringKey.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/StringKey.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/Strings.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/Strings.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/WrappedParameter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/WrappedParameter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/BaseConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/BaseConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/BigDecimalConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/BigDecimalConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/BooleanConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/BooleanConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/CommaParameterSplitter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/CommaParameterSplitter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/DoubleConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/DoubleConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/FileConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/FileConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/FloatConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/FloatConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/IParameterSplitter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/IParameterSplitter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/ISO8601DateConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/ISO8601DateConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/IntegerConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/IntegerConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/LongConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/LongConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/NoConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/NoConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/converters/StringConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/converters/StringConverter.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/defaultprovider/PropertyFileDefaultProvider.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/defaultprovider/PropertyFileDefaultProvider.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/internal/Console.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/internal/Console.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/internal/DefaultConsole.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/internal/DefaultConsole.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/internal/DefaultConverterFactory.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/internal/DefaultConverterFactory.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/internal/JDK6Console.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/internal/JDK6Console.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/internal/Lists.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/internal/Lists.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/internal/Maps.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/internal/Maps.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/internal/Nullable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/internal/Nullable.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/internal/Sets.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/internal/Sets.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/validators/NoValidator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/validators/NoValidator.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/validators/NoValueValidator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/validators/NoValueValidator.class
--------------------------------------------------------------------------------
/bin/com/beust/jcommander/validators/PositiveInteger.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/com/beust/jcommander/validators/PositiveInteger.class
--------------------------------------------------------------------------------
/bin/mujava/AllMutantsGenerator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/AllMutantsGenerator.class
--------------------------------------------------------------------------------
/bin/mujava/ClassMutantsGenerator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/ClassMutantsGenerator.class
--------------------------------------------------------------------------------
/bin/mujava/ExceptionMutantsGenerator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/ExceptionMutantsGenerator.class
--------------------------------------------------------------------------------
/bin/mujava/MutantsGenerator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/MutantsGenerator.class
--------------------------------------------------------------------------------
/bin/mujava/MutationSystem.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/MutationSystem.class
--------------------------------------------------------------------------------
/bin/mujava/OpenJavaException.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/OpenJavaException.class
--------------------------------------------------------------------------------
/bin/mujava/TestExecuter$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/TestExecuter$1.class
--------------------------------------------------------------------------------
/bin/mujava/TestExecuter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/TestExecuter.class
--------------------------------------------------------------------------------
/bin/mujava/TestExecuterCLI$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/TestExecuterCLI$1.class
--------------------------------------------------------------------------------
/bin/mujava/TestExecuterCLI$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/TestExecuterCLI$2.class
--------------------------------------------------------------------------------
/bin/mujava/TestExecuterCLI$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/TestExecuterCLI$3.class
--------------------------------------------------------------------------------
/bin/mujava/TestExecuterCLI.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/TestExecuterCLI.class
--------------------------------------------------------------------------------
/bin/mujava/TestExecuterCLISingleThread.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/TestExecuterCLISingleThread.class
--------------------------------------------------------------------------------
/bin/mujava/TraditionalMutantsGenerator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/TraditionalMutantsGenerator.class
--------------------------------------------------------------------------------
/bin/mujava/TraditionalMutantsGeneratorCLI.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/TraditionalMutantsGeneratorCLI.class
--------------------------------------------------------------------------------
/bin/mujava/cli/Pair.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/Pair.class
--------------------------------------------------------------------------------
/bin/mujava/cli/Util.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/Util.class
--------------------------------------------------------------------------------
/bin/mujava/cli/doRandomGivenMutationOperator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/doRandomGivenMutationOperator.class
--------------------------------------------------------------------------------
/bin/mujava/cli/doRandomGivenPercentMutants.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/doRandomGivenPercentMutants.class
--------------------------------------------------------------------------------
/bin/mujava/cli/genmutes.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/genmutes.class
--------------------------------------------------------------------------------
/bin/mujava/cli/genmutesCom.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/genmutesCom.class
--------------------------------------------------------------------------------
/bin/mujava/cli/markequiv.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/markequiv.class
--------------------------------------------------------------------------------
/bin/mujava/cli/markequivCom.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/markequivCom.class
--------------------------------------------------------------------------------
/bin/mujava/cli/runmutes.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/runmutes.class
--------------------------------------------------------------------------------
/bin/mujava/cli/runmutesCom.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/runmutesCom.class
--------------------------------------------------------------------------------
/bin/mujava/cli/script.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/script.class
--------------------------------------------------------------------------------
/bin/mujava/cli/testnew.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/testnew.class
--------------------------------------------------------------------------------
/bin/mujava/cli/testnewCom.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cli/testnewCom.class
--------------------------------------------------------------------------------
/bin/mujava/cmd/MutantsGenerator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cmd/MutantsGenerator.class
--------------------------------------------------------------------------------
/bin/mujava/cmd/TestRunner.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/cmd/TestRunner.class
--------------------------------------------------------------------------------
/bin/mujava/compileTestcase.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/compileTestcase.class
--------------------------------------------------------------------------------
/bin/mujava/gui/CMOTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/CMOTableModel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/ClassMutantsViewerPanel$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/ClassMutantsViewerPanel$1.class
--------------------------------------------------------------------------------
/bin/mujava/gui/ClassMutantsViewerPanel$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/ClassMutantsViewerPanel$2.class
--------------------------------------------------------------------------------
/bin/mujava/gui/ClassMutantsViewerPanel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/ClassMutantsViewerPanel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/FileTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/FileTableModel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/GenMutantsMain$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/GenMutantsMain$1.class
--------------------------------------------------------------------------------
/bin/mujava/gui/GenMutantsMain.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/GenMutantsMain.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MOTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MOTableModel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsGenPanel$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsGenPanel$1.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsGenPanel$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsGenPanel$2.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsGenPanel$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsGenPanel$3.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsGenPanel$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsGenPanel$4.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsGenPanel$5.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsGenPanel$5.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsGenPanel$6.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsGenPanel$6.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsGenPanel$7.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsGenPanel$7.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsGenPanel$8.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsGenPanel$8.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsGenPanel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsGenPanel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsViewerPanel$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsViewerPanel$1.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsViewerPanel$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsViewerPanel$2.class
--------------------------------------------------------------------------------
/bin/mujava/gui/MutantsViewerPanel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/MutantsViewerPanel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/ResultTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/ResultTableModel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/RunTestMain$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/RunTestMain$1.class
--------------------------------------------------------------------------------
/bin/mujava/gui/RunTestMain.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/RunTestMain.class
--------------------------------------------------------------------------------
/bin/mujava/gui/RunTestPanel$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/RunTestPanel$1.class
--------------------------------------------------------------------------------
/bin/mujava/gui/RunTestPanel$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/RunTestPanel$2.class
--------------------------------------------------------------------------------
/bin/mujava/gui/RunTestPanel$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/RunTestPanel$3.class
--------------------------------------------------------------------------------
/bin/mujava/gui/RunTestPanel$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/RunTestPanel$4.class
--------------------------------------------------------------------------------
/bin/mujava/gui/RunTestPanel$5.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/RunTestPanel$5.class
--------------------------------------------------------------------------------
/bin/mujava/gui/RunTestPanel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/RunTestPanel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/TMOTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/TMOTableModel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/TraditionalMutantsViewerPanel$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/TraditionalMutantsViewerPanel$1.class
--------------------------------------------------------------------------------
/bin/mujava/gui/TraditionalMutantsViewerPanel$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/TraditionalMutantsViewerPanel$2.class
--------------------------------------------------------------------------------
/bin/mujava/gui/TraditionalMutantsViewerPanel$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/TraditionalMutantsViewerPanel$3.class
--------------------------------------------------------------------------------
/bin/mujava/gui/TraditionalMutantsViewerPanel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/TraditionalMutantsViewerPanel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/util/CMSummaryTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/util/CMSummaryTableModel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/util/EMSummaryTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/util/EMSummaryTableModel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/util/SummaryTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/util/SummaryTableModel.class
--------------------------------------------------------------------------------
/bin/mujava/gui/util/TMSummaryTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/gui/util/TMSummaryTableModel.class
--------------------------------------------------------------------------------
/bin/mujava/makeMuJavaStructure.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/makeMuJavaStructure.class
--------------------------------------------------------------------------------
/bin/mujava/op/ABS.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/ABS.class
--------------------------------------------------------------------------------
/bin/mujava/op/ABS_AOR_LCR_ROR_UOI.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/ABS_AOR_LCR_ROR_UOI.class
--------------------------------------------------------------------------------
/bin/mujava/op/ABS_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/ABS_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/AMC.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/AMC.class
--------------------------------------------------------------------------------
/bin/mujava/op/AMC_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/AMC_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/AOR_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/AOR_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/BindInfo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/BindInfo.class
--------------------------------------------------------------------------------
/bin/mujava/op/EAM.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/EAM.class
--------------------------------------------------------------------------------
/bin/mujava/op/EAM_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/EAM_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/EMM.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/EMM.class
--------------------------------------------------------------------------------
/bin/mujava/op/EMM_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/EMM_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/EOA.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/EOA.class
--------------------------------------------------------------------------------
/bin/mujava/op/EOA_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/EOA_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/EOC.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/EOC.class
--------------------------------------------------------------------------------
/bin/mujava/op/EOC_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/EOC_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/IHD.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IHD.class
--------------------------------------------------------------------------------
/bin/mujava/op/IHD_IHI_EqAnalyzer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IHD_IHI_EqAnalyzer.class
--------------------------------------------------------------------------------
/bin/mujava/op/IHD_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IHD_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/IHI.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IHI.class
--------------------------------------------------------------------------------
/bin/mujava/op/IHI_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IHI_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/IOD.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IOD.class
--------------------------------------------------------------------------------
/bin/mujava/op/IOD_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IOD_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/IOP.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IOP.class
--------------------------------------------------------------------------------
/bin/mujava/op/IOP_Helper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IOP_Helper.class
--------------------------------------------------------------------------------
/bin/mujava/op/IOP_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IOP_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/IOR.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IOR.class
--------------------------------------------------------------------------------
/bin/mujava/op/IOR_Equivalent.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IOR_Equivalent.class
--------------------------------------------------------------------------------
/bin/mujava/op/IOR_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IOR_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/IPC.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IPC.class
--------------------------------------------------------------------------------
/bin/mujava/op/IPC_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/IPC_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/ISD.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/ISD.class
--------------------------------------------------------------------------------
/bin/mujava/op/ISI_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/ISI_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/ISK_JTD_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/ISK_JTD_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/JDC.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JDC.class
--------------------------------------------------------------------------------
/bin/mujava/op/JDC_Writer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JDC_Writer.class
--------------------------------------------------------------------------------
/bin/mujava/op/JDC_Writer.jbx:
--------------------------------------------------------------------------------
1 | [PropertyInfo]
2 | mutant,ConstructorDeclaration,false,false, , ,true, When applied to a field all of its child fields annotated
28 | * with {@link Parameter} will be included during arguments
29 | * parsing. Mainly useful when creating complex command based CLI interfaces,
32 | * where several commands can share a set of arguments, but using
33 | * object inheritance is not enough, due to no-multiple-inheritance
34 | * restriction. Using {@link ParametersDelegate} any number of
35 | * command sets can be shared by using composition pattern. Delegations can be chained (nested). Description:
24 | * Description: Pair class used for storing results of mutation scores
25 | *
28 | * Description: Pre-defined arguments options for markequiv command
29 | * Description:
Template containing summary of exception-related mutants generated
22 | * @author Yu-Seung Ma 23 | * @version 1.0 24 | */ 25 | 26 | public class EMSummaryTableModel extends SummaryTableModel 27 | { 28 | private static final long serialVersionUID = 202L; 29 | 30 | int getOperatorType() { return EMO; } 31 | } 32 | -------------------------------------------------------------------------------- /src/mujava/gui/util/TMSummaryTableModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | package mujava.gui.util; 19 | 20 | /** 21 | *Template containing summary of traditional mutants generated
22 | * @author Yu-Seung Ma 23 | * @version 1.0 24 | */ 25 | 26 | public class TMSummaryTableModel extends SummaryTableModel 27 | { 28 | private static final long serialVersionUID = 203L; 29 | 30 | int getOperatorType() { return TMO; } 31 | } 32 | -------------------------------------------------------------------------------- /src/mujava/makeMuJavaStructure.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | package mujava; 19 | 20 | import java.io.*; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class makeMuJavaStructure { 29 | 30 | public static void main(String[] args) { 31 | MutationSystem.setJMutationStructure(); 32 | makeDir(new File(MutationSystem.SYSTEM_HOME)); 33 | makeDir(new File(MutationSystem.SRC_PATH)); 34 | makeDir(new File(MutationSystem.CLASS_PATH)); 35 | makeDir(new File(MutationSystem.MUTANT_HOME)); 36 | makeDir(new File(MutationSystem.TESTSET_PATH)); 37 | } 38 | 39 | static void makeDir(File dir){ 40 | System.out.println("\nMake " + dir.getAbsolutePath() + " directory..."); 41 | boolean newly_made = dir.mkdir(); 42 | if(!newly_made){ 43 | System.out.println(dir.getAbsolutePath() + " directory exists already."); 44 | }else{ 45 | System.out.println("Making " + dir.getAbsolutePath() + " directory " + " ...done."); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/mujava/op/ABS.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | package mujava.op; 19 | 20 | import openjava.mop.*; 21 | import openjava.ptree.*; 22 | 23 | /** 24 | *Generate ABS (Absolute Value Insertion) mutants -- 25 | * modify each arthmetic expression (and subexpression) by the function 26 | * abs(), negAbs(), and faileOnZero(). 27 | *
28 | *-- abs() returns the absolute value of the expression
29 | * -- negAbs() returns the negative of the absolute value
30 | * -- failOnZero() tests whether the expression is zero
31 | *
Output and log AMC mutants to files
27 | * @author Yu-Seung Ma 28 | * @version 1.0 29 | */ 30 | 31 | public class AMC_Writer extends MutantCodeWriter 32 | { 33 | ModifierList original; 34 | ModifierList mutant; 35 | 36 | public AMC_Writer( String file_name, PrintWriter out ) 37 | { 38 | super(file_name, out); 39 | } 40 | 41 | /** 42 | * Set original source code and mutated code 43 | * @param original 44 | * @param mutant 45 | */ 46 | public void setMutant(ModifierList original, ModifierList mutant) 47 | { 48 | this.original = original; 49 | this.mutant = mutant; 50 | } 51 | 52 | /** 53 | * Log mutated line 54 | */ 55 | public void visit( ModifierList p )throws ParseTreeException 56 | { 57 | if (isSameObject(p, original)) 58 | { 59 | super.visit(mutant); 60 | // ----------------------------------------------------------- 61 | mutated_line = line_num; 62 | String log_str = p.toFlattenString()+ " => " + mutant.toFlattenString(); 63 | writeLog(removeNewline(log_str)); 64 | // ------------------------------------------------------------- 65 | } 66 | else 67 | { 68 | super.visit(p); 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/mujava/op/IOP_Helper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op; 17 | 18 | /** 19 | *Interface for generating IOP mutants
20 | * @author Yu-Seung Ma 21 | * @version 1.0 22 | */ 23 | 24 | public interface IOP_Helper 25 | { 26 | // 4 mod exists. 27 | // ------------------------------------------------------------------- 28 | // 1: first_line // 2: last_line 29 | // 3: just one line up // 4: just one line down 30 | // ------------------------------------------------------------------- 31 | public static int FIRST = 1; 32 | public static int LAST = 2; 33 | public static int UP = 3; 34 | public static int DOWN = 4; 35 | } 36 | -------------------------------------------------------------------------------- /src/mujava/op/JDC_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op; 17 | 18 | import java.io.*; 19 | import openjava.ptree.*; 20 | import mujava.op.util.MutantCodeWriter; 21 | 22 | /** 23 | *Output and log JDC mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class JDC_Writer extends MutantCodeWriter 29 | { 30 | ConstructorDeclaration mutant = null; 31 | 32 | /** 33 | * Set mutated code 34 | * @param mutant 35 | */ 36 | public void setMutant(ConstructorDeclaration mutant) 37 | { 38 | this.mutant = mutant; 39 | } 40 | 41 | public JDC_Writer( String file_name, PrintWriter out ) 42 | { 43 | super(file_name, out); 44 | } 45 | 46 | public void visit( ConstructorDeclaration p ) throws ParseTreeException 47 | { 48 | if (!(isSameObject(p, mutant))) 49 | { 50 | super.visit(p); 51 | } 52 | else 53 | { 54 | mutated_line = line_num; 55 | //call JDC.class_name instread of super.class_name 56 | String log_str = p.getModifiers().toString() + " " 57 | + JDC.class_name + "(" + p.getParameters().toString() + ")"; 58 | 59 | writeLog(removeNewline(log_str) + " is deleted"); 60 | 61 | writeTab(); 62 | out.println("// " + log_str + " { ... } "); 63 | line_num++; 64 | } 65 | } 66 | } -------------------------------------------------------------------------------- /src/mujava/op/JDC_Writer.jbx: -------------------------------------------------------------------------------- 1 | [PropertyInfo] 2 | mutant,ConstructorDeclaration,false,false, , ,true,Output and log JTI mutants to files
25 | * @author Yu-Seung Ma 26 | * @version 1.0 27 | */ 28 | 29 | public class JTI_Writer extends MutantCodeWriter 30 | { 31 | Variable target = null; 32 | 33 | /** 34 | * Set mutated code 35 | * @param f 36 | */ 37 | public void setMutant(Variable f) 38 | { 39 | target = f; 40 | } 41 | 42 | public JTI_Writer( String file_name, PrintWriter out ) 43 | { 44 | super(file_name, out); 45 | } 46 | 47 | public void visit( Variable p ) throws ParseTreeException 48 | { 49 | if (isSameObject(p, target)) 50 | { 51 | out.print("this."+p.toString()); 52 | // ------------------------------------------------------------- 53 | mutated_line = line_num; 54 | writeLog(removeNewline(p.toString()+" --> this." + p.toString())); 55 | // ------------------------------------------------------------- 56 | } 57 | else 58 | { 59 | super.visit(p); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/mujava/op/LCR.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op; 17 | 18 | import openjava.mop.*; 19 | import openjava.ptree.*; 20 | 21 | /** 22 | *Generate LCR (Logical Operator Replacement) mutants -- 23 | * replaces each occurrence of each bitwise logical operator 24 | * (bitwise and - &, bitwise or - |, exclusive or - ^) by each of 25 | * the other operators 26 | *
27 | * @author Yu-Seung Ma 28 | * @version 1.0 29 | */ 30 | 31 | public class LCR extends mujava.op.util.Mutator 32 | { 33 | public LCR(FileEnvironment file_env, ClassDeclaration cdecl, CompilationUnit comp_unit) 34 | { 35 | super( file_env, comp_unit ); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/mujava/op/PCI_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op; 17 | 18 | import java.io.*; 19 | import openjava.ptree.*; 20 | import mujava.op.util.MutantCodeWriter; 21 | 22 | /** 23 | *Output and log PCI mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class PCI_Writer extends MutantCodeWriter 29 | { 30 | Variable original = null; 31 | String type_name = null; 32 | 33 | /** 34 | * Set original source code and mutated code 35 | * @param original 36 | * @param name 37 | */ 38 | public void setMutant(Variable original, String name) 39 | { 40 | this.original = original; 41 | this.type_name = name; 42 | } 43 | 44 | public PCI_Writer( String file_name, PrintWriter out ) 45 | { 46 | super(file_name,out); 47 | } 48 | 49 | public void visit( Variable p ) throws ParseTreeException 50 | { 51 | if (isSameObject(p, original)) 52 | { 53 | String str = "((" + type_name + ")" + p.toString() + ")"; 54 | out.print(str); 55 | // ------------------------------------------------------------- 56 | mutated_line = line_num; 57 | writeLog(removeNewline(p.toString() + " => " + str)); 58 | // ------------------------------------------------------------- 59 | } 60 | else 61 | { 62 | super.visit(p); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/mujava/op/PNC_Writer.jbx: -------------------------------------------------------------------------------- 1 | [PropertyInfo] 2 | mutant,AllocationExpression,false,false, , ,false,Output and log ROR mutants to files
25 | * @author Yu-Seung Ma 26 | * @version 1.0 27 | */ 28 | 29 | public class ROR_Writer extends MutantCodeWriter 30 | { 31 | BinaryExpression original; 32 | int mutant_op; 33 | 34 | public ROR_Writer( String file_name, PrintWriter out ) 35 | { 36 | super(file_name, out); 37 | } 38 | 39 | /** 40 | * Set original source code and mutated code 41 | * @param exp 42 | * @param op 43 | */ 44 | public void setMutant(BinaryExpression exp, int op) 45 | { 46 | original = exp; 47 | mutant_op = op; 48 | } 49 | 50 | /** 51 | * Log mutated line 52 | */ 53 | public void visit( BinaryExpression p ) throws ParseTreeException 54 | { 55 | if (isSameObject(p, original)) 56 | { 57 | BinaryExpression mutant_exp; 58 | mutant_exp = (BinaryExpression)original.makeRecursiveCopy(); 59 | mutant_exp.setOperator(mutant_op); 60 | super.visit(mutant_exp); 61 | 62 | String operator = mutant_exp.operatorString(); 63 | out.print( " " + operator + " " ); 64 | // ----------------------------------------------------------- 65 | mutated_line = line_num; 66 | String log_str = p.operatorString()+ " => " + operator; 67 | writeLog(removeNewline(log_str)); 68 | // ------------------------------------------------------------- 69 | 70 | mutant_exp = null; 71 | } 72 | else 73 | { 74 | super.visit(p); 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /src/mujava/op/UOI.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op; 17 | 18 | import openjava.mop.*; 19 | import openjava.ptree.*; 20 | 21 | /** 22 | *Generate UOI (Unary operator insertion) mutants -- 23 | * inserts each unary operator (arithmetic +, arithmetic -, conditional !, 24 | * logical ~) before each expression of the correct type 25 | *
26 | * @author Yu-Seung Ma 27 | * @version 1.0 28 | */ 29 | 30 | public class UOI extends mujava.op.util.Mutator 31 | { 32 | public UOI(FileEnvironment file_env, ClassDeclaration cdecl, CompilationUnit comp_unit) 33 | { 34 | super( file_env, comp_unit ); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/mujava/op/basic/AODS_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log AODS mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class AODS_Writer extends TraditionalMutantCodeWriter 29 | { 30 | UnaryExpression original; 31 | 32 | public AODS_Writer( String file_name, PrintWriter out ) 33 | { 34 | super(file_name, out); 35 | } 36 | 37 | /** 38 | * Set original source code 39 | * @param exp1 40 | */ 41 | public void setMutant(UnaryExpression exp1) 42 | { 43 | original = exp1; 44 | } 45 | 46 | /** 47 | * Log mutated line 48 | */ 49 | public void visit( UnaryExpression p ) throws ParseTreeException 50 | { 51 | if (isSameObject(p, original)) 52 | { 53 | super.visit(p.getExpression()); 54 | // ----------------------------------------------------------- 55 | mutated_line = line_num; 56 | String log_str = p.toString() + " => " + p.getExpression().toString(); 57 | writeLog(removeNewline(log_str)); 58 | // ------------------------------------------------------------- 59 | } 60 | else 61 | { 62 | super.visit(p); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/mujava/op/basic/AODU_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log AODU mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class AODU_Writer extends TraditionalMutantCodeWriter 29 | { 30 | UnaryExpression original; 31 | 32 | public AODU_Writer( String file_name, PrintWriter out ) 33 | { 34 | super(file_name, out); 35 | } 36 | 37 | /** 38 | * Set original source code 39 | * @param exp1 40 | */ 41 | public void setMutant(UnaryExpression exp1) 42 | { 43 | original = exp1; 44 | } 45 | 46 | /** 47 | * Log mutated line 48 | */ 49 | public void visit( UnaryExpression p ) throws ParseTreeException 50 | { 51 | if (isSameObject(p, original)) 52 | { 53 | super.visit(p.getExpression()); 54 | // ----------------------------------------------------------- 55 | mutated_line = line_num; 56 | String log_str = p.toString() + " => " + p.getExpression().toString(); 57 | writeLog(removeNewline(log_str)); 58 | // ------------------------------------------------------------- 59 | } 60 | else 61 | { 62 | super.visit(p); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/mujava/op/basic/AORB_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log AORB mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class AORB_Writer extends TraditionalMutantCodeWriter 29 | { 30 | BinaryExpression original; 31 | BinaryExpression mutant; 32 | 33 | public AORB_Writer( String file_name, PrintWriter out ) 34 | { 35 | super(file_name, out); 36 | } 37 | 38 | /** 39 | * Set original source code and mutated code 40 | * @param exp1 - original 41 | * @param exp2 - mutant 42 | */ 43 | public void setMutant(BinaryExpression exp1, BinaryExpression exp2) 44 | { 45 | original = exp1; 46 | mutant = exp2; 47 | } 48 | 49 | /** 50 | * Log mutated line 51 | */ 52 | public void visit( BinaryExpression p ) throws ParseTreeException 53 | { 54 | if (isSameObject(p, original)) 55 | { 56 | super.visit(mutant); 57 | // ----------------------------------------------------------- 58 | mutated_line = line_num; 59 | String log_str = p.toString() + " => " + mutant.toString(); 60 | writeLog(removeNewline(log_str)); 61 | // ------------------------------------------------------------- 62 | } 63 | else 64 | { 65 | super.visit(p); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/mujava/op/basic/AORS_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log AORS mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class AORS_Writer extends TraditionalMutantCodeWriter 29 | { 30 | UnaryExpression unary_original; 31 | UnaryExpression unary_mutant; 32 | 33 | public AORS_Writer( String file_name, PrintWriter out ) 34 | { 35 | super(file_name,out); 36 | } 37 | 38 | /** 39 | * Set original source code and mutated code 40 | * @param exp1 41 | * @param exp2 42 | */ 43 | public void setMutant(UnaryExpression exp1, UnaryExpression exp2) 44 | { 45 | unary_original = exp1; 46 | unary_mutant = exp2; 47 | } 48 | 49 | /** 50 | * Log mutated line 51 | */ 52 | public void visit( UnaryExpression p ) throws ParseTreeException 53 | { 54 | if (isSameObject(p, unary_original)) 55 | { 56 | super.visit(unary_mutant); 57 | // ----------------------------------------------------------- 58 | mutated_line = line_num; 59 | String log_str = p.toString() + " => " + unary_mutant.toString(); 60 | writeLog(removeNewline(log_str)); 61 | // ------------------------------------------------------------- 62 | } 63 | else 64 | { 65 | super.visit(p); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/mujava/op/basic/AORU_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log AORU mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class AORU_Writer extends TraditionalMutantCodeWriter 29 | { 30 | UnaryExpression unary_original; 31 | UnaryExpression unary_mutant; 32 | 33 | public AORU_Writer( String file_name, PrintWriter out ) 34 | { 35 | super(file_name, out); 36 | } 37 | 38 | /** 39 | * Set original source code and mutated code 40 | * @param exp1 41 | * @param exp2 42 | */ 43 | public void setMutant(UnaryExpression exp1, UnaryExpression exp2) 44 | { 45 | unary_original = exp1; 46 | unary_mutant = exp2; 47 | } 48 | 49 | /** 50 | * Log mutated code 51 | */ 52 | public void visit( UnaryExpression p ) throws ParseTreeException 53 | { 54 | if (isSameObject(p, unary_original)) 55 | { 56 | super.visit(unary_mutant); 57 | // ----------------------------------------------------------- 58 | mutated_line = line_num; 59 | String log_str = p.toString() + " => " + unary_mutant.toString(); 60 | writeLog(removeNewline(log_str)); 61 | // ------------------------------------------------------------- 62 | } 63 | else 64 | { 65 | super.visit(p); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/mujava/op/basic/ASRS_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log ASRS mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class ASRS_Writer extends TraditionalMutantCodeWriter 29 | { 30 | AssignmentExpression assign_original; 31 | AssignmentExpression assign_mutant; 32 | 33 | public ASRS_Writer( String file_name, PrintWriter out ) 34 | { 35 | super(file_name,out); 36 | } 37 | 38 | /** 39 | * Set original source code and mutated code 40 | * @param exp1 41 | * @param exp2 42 | */ 43 | public void setMutant(AssignmentExpression exp1, AssignmentExpression exp2) 44 | { 45 | assign_original = exp1; 46 | assign_mutant = exp2; 47 | } 48 | 49 | /** 50 | * Log mutated line 51 | */ 52 | public void visit( AssignmentExpression p ) throws ParseTreeException 53 | { 54 | if (isSameObject(p, assign_original)) 55 | { 56 | super.visit(assign_mutant); 57 | // ----------------------------------------------------------- 58 | mutated_line = line_num; 59 | String log_str = p.toString() + " => " + assign_mutant.toString(); 60 | writeLog(removeNewline(log_str)); 61 | // ------------------------------------------------------------- 62 | } 63 | else 64 | { 65 | super.visit(p); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/mujava/op/basic/Arithmetic_OP.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import openjava.mop.*; 19 | import openjava.ptree.*; 20 | 21 | /** 22 | *23 | * @author Yu-Seung Ma 24 | * @version 1.0 25 | */ 26 | 27 | public class Arithmetic_OP extends MethodLevelMutator 28 | { 29 | public Arithmetic_OP(FileEnvironment file_env, CompilationUnit comp_unit) 30 | { 31 | super( file_env, comp_unit ); 32 | } 33 | 34 | /** 35 | * Determine whether a given expression is of arithmetic type 36 | * @param p 37 | * @return 38 | * @throws ParseTreeException 39 | */ 40 | public boolean isArithmeticType(Expression p) throws ParseTreeException 41 | { 42 | OJClass type = getType(p); 43 | if ( type == OJSystem.INT || type == OJSystem.DOUBLE || type == OJSystem.FLOAT 44 | || type == OJSystem.LONG || type == OJSystem.SHORT 45 | || type == OJSystem.CHAR || type == OJSystem.BYTE ) 46 | { 47 | return true; 48 | } 49 | return false; 50 | } 51 | 52 | /** 53 | * Determine whether a given expression has a binary arithmetic operator 54 | * @param p 55 | * @return 56 | * @throws ParseTreeException 57 | */ 58 | public boolean hasBinaryArithmeticOp( BinaryExpression p ) throws ParseTreeException 59 | { 60 | int op_type = p.getOperator(); 61 | if ( (op_type == BinaryExpression.TIMES) || (op_type == BinaryExpression.DIVIDE) 62 | || (op_type == BinaryExpression.MOD) || (op_type == BinaryExpression.PLUS) 63 | || (op_type == BinaryExpression.MINUS)) 64 | return true; 65 | else 66 | return false; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/mujava/op/basic/COD_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *
Output and log COD mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class COD_Writer extends TraditionalMutantCodeWriter 29 | { 30 | UnaryExpression original; 31 | 32 | public COD_Writer( String file_name, PrintWriter out ) 33 | { 34 | super(file_name, out); 35 | } 36 | 37 | /** 38 | * Set original source code 39 | * @param exp1 40 | */ 41 | public void setMutant(UnaryExpression exp1) 42 | { 43 | original = exp1; 44 | } 45 | 46 | /** 47 | * Log mutated line 48 | */ 49 | public void visit( UnaryExpression p ) throws ParseTreeException 50 | { 51 | if (isSameObject(p, original)) 52 | { 53 | super.visit(p.getExpression()); 54 | // ----------------------------------------------------------- 55 | mutated_line = line_num; 56 | String log_str = p.toString() + " => " + p.getExpression().toString(); 57 | writeLog(removeNewline(log_str)); 58 | // ------------------------------------------------------------- 59 | } 60 | else 61 | { 62 | super.visit(p); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/mujava/op/basic/COR_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log COR mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class COR_Writer extends TraditionalMutantCodeWriter 29 | { 30 | BinaryExpression original; 31 | BinaryExpression mutant; 32 | 33 | public COR_Writer( String file_name, PrintWriter out ) 34 | { 35 | super(file_name, out); 36 | } 37 | 38 | /** 39 | * Set original source code and mutated code 40 | * @param exp1 41 | * @param exp2 42 | */ 43 | public void setMutant(BinaryExpression exp1, BinaryExpression exp2) 44 | { 45 | original = exp1; 46 | mutant = exp2; 47 | } 48 | 49 | /** 50 | * Log mutated line 51 | */ 52 | public void visit( BinaryExpression p ) throws ParseTreeException 53 | { 54 | if (isSameObject(p, original)) 55 | { 56 | super.visit(mutant); 57 | // ----------------------------------------------------------- 58 | mutated_line = line_num; 59 | String log_str = p.toFlattenString()+ " => " +mutant.toFlattenString(); 60 | writeLog(removeNewline(log_str)); 61 | // ------------------------------------------------------------- 62 | } 63 | else 64 | { 65 | super.visit(p); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/mujava/op/basic/CreateDirForEachMethod.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package mujava.op.basic; 18 | 19 | import openjava.mop.*; 20 | import openjava.ptree.*; 21 | import java.io.*; 22 | import mujava.MutationSystem; 23 | /** 24 | *25 | *
26 | * @author Jeff Offutt and Yu-Seung Ma 27 | * @version 1.0 28 | */ 29 | public class CreateDirForEachMethod extends MethodLevelMutator 30 | { 31 | PrintWriter out = null; 32 | public CreateDirForEachMethod(FileEnvironment file_env, ClassDeclaration cdecl, 33 | CompilationUnit comp_unit, PrintWriter out) 34 | { 35 | super( file_env, comp_unit ); 36 | this.out = out; 37 | } 38 | 39 | void createDirectory(String dir_name) 40 | { 41 | out.println(dir_name); 42 | String absolute_dir_path = MutationSystem.MUTANT_PATH + "/" + dir_name; 43 | File dirF = new File(absolute_dir_path); 44 | dirF.mkdir(); 45 | } 46 | 47 | public void visit(ConstructorDeclaration p) throws ParseTreeException 48 | { 49 | createDirectory(getConstructorSignature(p)); 50 | } 51 | 52 | public void visit(MethodDeclaration p) throws ParseTreeException 53 | { 54 | createDirectory(getMethodSignature(p)); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/mujava/op/basic/LOD_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log LOD mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class LOD_Writer extends TraditionalMutantCodeWriter 29 | { 30 | UnaryExpression original; 31 | 32 | public LOD_Writer( String file_name, PrintWriter out ) 33 | { 34 | super(file_name, out); 35 | } 36 | 37 | /** 38 | * Set original source code 39 | * @param exp1 40 | */ 41 | public void setMutant(UnaryExpression exp1) 42 | { 43 | original = exp1; 44 | } 45 | 46 | /** 47 | * Log mutated line 48 | */ 49 | public void visit( UnaryExpression p ) throws ParseTreeException 50 | { 51 | if (isSameObject(p, original)) 52 | { 53 | super.visit(p.getExpression()); 54 | // ----------------------------------------------------------- 55 | mutated_line = line_num; 56 | String log_str = p.toString() + " => " + p.getExpression().toString(); 57 | writeLog(removeNewline(log_str)); 58 | // ------------------------------------------------------------- 59 | } 60 | else 61 | { 62 | super.visit(p); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/mujava/op/basic/LOR_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log LOR mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class LOR_Writer extends TraditionalMutantCodeWriter 29 | { 30 | BinaryExpression original; 31 | BinaryExpression mutant; 32 | 33 | public LOR_Writer( String file_name, PrintWriter out ) 34 | { 35 | super(file_name, out); 36 | } 37 | 38 | /** 39 | * Set original source code and mutated code 40 | * @param exp1 41 | * @param exp2 42 | */ 43 | public void setMutant(BinaryExpression exp1, BinaryExpression exp2) 44 | { 45 | original = exp1; 46 | mutant = exp2; 47 | } 48 | 49 | /** 50 | * Log mutated line 51 | */ 52 | public void visit( BinaryExpression p ) throws ParseTreeException 53 | { 54 | if (isSameObject(p, original)) 55 | { 56 | super.visit(mutant); 57 | // ----------------------------------------------------------- 58 | mutated_line = line_num; 59 | String log_str = p.toFlattenString()+ " => " +mutant.toFlattenString(); 60 | writeLog(removeNewline(log_str)); 61 | // ------------------------------------------------------------- 62 | } 63 | else 64 | { 65 | super.visit(p); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/mujava/op/basic/SOR_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.basic; 17 | 18 | import mujava.op.util.TraditionalMutantCodeWriter; 19 | import openjava.ptree.*; 20 | import java.io.*; 21 | 22 | /** 23 | *Output and log SOR mutants to files
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class SOR_Writer extends TraditionalMutantCodeWriter 29 | { 30 | BinaryExpression original; 31 | BinaryExpression mutant; 32 | 33 | public SOR_Writer( String file_name, PrintWriter out ) 34 | { 35 | super(file_name, out); 36 | } 37 | 38 | /** 39 | * Set original source code and mutated code 40 | * @param exp1 41 | * @param exp2 42 | */ 43 | public void setMutant(BinaryExpression exp1, BinaryExpression exp2) 44 | { 45 | original = exp1; 46 | mutant = exp2; 47 | } 48 | 49 | /** 50 | * Log mutated line 51 | */ 52 | public void visit( BinaryExpression p ) throws ParseTreeException 53 | { 54 | if (isSameObject(p, original)) 55 | { 56 | super.visit(mutant); 57 | // ----------------------------------------------------------- 58 | mutated_line = line_num; 59 | String log_str = p.toFlattenString()+ " => " +mutant.toFlattenString(); 60 | writeLog(removeNewline(log_str)); 61 | // ------------------------------------------------------------- 62 | } 63 | else 64 | { 65 | super.visit(p); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/mujava/op/exception/EFD.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import java.io.*; 19 | import openjava.mop.*; 20 | import openjava.ptree.*; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class EFD extends mujava.op.util.Mutator 29 | { 30 | public EFD(FileEnvironment file_env,ClassDeclaration cdecl, 31 | CompilationUnit comp_unit) 32 | { 33 | super( file_env, comp_unit ); 34 | } 35 | 36 | public void visit( TryStatement p ) 37 | throws ParseTreeException 38 | { 39 | CatchList catch_list = p.getCatchList(); 40 | StatementList finstmts = p.getFinallyBody(); 41 | if((!catch_list.isEmpty())&&(!finstmts.isEmpty())){ 42 | outputToFile(p); 43 | } 44 | } 45 | 46 | public void outputToFile(TryStatement original){ 47 | if (comp_unit==null) return; 48 | 49 | String f_name; 50 | num++; 51 | f_name = getSourceName(this); 52 | String mutant_dir = getMuantID(); 53 | 54 | try { 55 | PrintWriter out = getPrintWriter(f_name); 56 | EFD_Writer writer = new EFD_Writer( mutant_dir,out ); 57 | writer.setMutant(original); 58 | comp_unit.accept( writer ); 59 | out.flush(); out.close(); 60 | } catch ( IOException e ) { 61 | System.err.println( "fails to create " + f_name ); 62 | } catch ( ParseTreeException e ) { 63 | System.err.println( "errors during printing " + f_name ); 64 | e.printStackTrace(); 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/mujava/op/exception/EFD_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import java.io.*; 19 | import openjava.ptree.*; 20 | import mujava.op.util.MutantCodeWriter; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class EFD_Writer extends MutantCodeWriter 29 | { 30 | TryStatement mutant = null; 31 | 32 | public EFD_Writer( String file_name,PrintWriter out ) { 33 | super(file_name,out); 34 | } 35 | 36 | public void setMutant(TryStatement p){ 37 | mutant = p; 38 | } 39 | 40 | public void visit( TryStatement p ) 41 | throws ParseTreeException 42 | { 43 | if(!(isSameObject(p,mutant))){ 44 | super.visit(p); 45 | }else{ 46 | writeTab(); 47 | out.print( "try " ); 48 | StatementList stmts = p.getBody(); 49 | writeStatementsBlock( stmts ); 50 | CatchList catchlist = p.getCatchList(); 51 | if (! catchlist.isEmpty()) { 52 | catchlist.accept( this ); 53 | } 54 | // ------------------------- 55 | mutated_line = line_num; 56 | writeLog(" finally block is deleted."); 57 | // ------------------------- 58 | out.println(); line_num++; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/mujava/op/exception/EHC_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import java.io.*; 19 | import openjava.ptree.*; 20 | import mujava.op.util.MutantCodeWriter; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class EHC_Writer extends MutantCodeWriter 29 | { 30 | CatchBlock mutant = null; 31 | String exception_name = ""; 32 | 33 | public EHC_Writer( String file_name,PrintWriter out ) { 34 | super(file_name,out); 35 | } 36 | 37 | public void setMutant(CatchBlock p,String mutated_name){ 38 | mutant = p; 39 | exception_name = mutated_name; 40 | } 41 | 42 | 43 | public void visit( CatchBlock p ) throws ParseTreeException 44 | { 45 | if(isSameObject(p,mutant)){ 46 | // ------------------------- 47 | mutated_line = line_num; 48 | writeLog(" catch block for " + p.getParameter().getTypeSpecifier().getName()+ " is deleted."); 49 | // ------------------------- 50 | out.print( " catch " ); 51 | out.print( "( " ); 52 | Parameter param = p.getParameter(); 53 | out.print(exception_name + " " + param.getVariable()); 54 | out.print( " ) " ); 55 | StatementList stmts = p.getBody(); 56 | writeStatementsBlock( stmts ); 57 | }else{ 58 | super.visit(p); 59 | } 60 | } 61 | } 62 | 63 | -------------------------------------------------------------------------------- /src/mujava/op/exception/EHD_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import java.io.*; 19 | import openjava.ptree.*; 20 | import mujava.op.util.MutantCodeWriter; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class EHD_Writer extends MutantCodeWriter 29 | { 30 | CatchBlock mutant = null; 31 | 32 | public EHD_Writer( String file_name,PrintWriter out ) { 33 | super(file_name,out); 34 | } 35 | 36 | public void setMutant(CatchBlock p){ 37 | mutant = p; 38 | } 39 | 40 | 41 | public void visit( CatchBlock p ) throws ParseTreeException 42 | { 43 | if(isSameObject(p,mutant)){ 44 | // ------------------------- 45 | mutated_line = line_num; 46 | writeLog(" catch block for " + p.getParameter().getTypeSpecifier().getName()+ " is deleted."); 47 | // ------------------------- }else{ 48 | }else{ 49 | super.visit(p); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/mujava/op/exception/EHI.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import openjava.mop.*; 19 | import openjava.ptree.*; 20 | 21 | /** 22 | *Description:
23 | * @author Yu-Seung Ma 24 | * @version 1.0 25 | */ 26 | 27 | public class EHI extends mujava.op.util.Mutator 28 | { 29 | public EHI(FileEnvironment file_env,ClassDeclaration cdecl, 30 | CompilationUnit comp_unit) 31 | { 32 | super( file_env, comp_unit ); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/mujava/op/exception/EHI_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import java.io.*; 19 | import mujava.op.util.MutantCodeWriter; 20 | 21 | /** 22 | *Description:
23 | * @author Yu-Seung Ma 24 | * @version 1.0 25 | */ 26 | 27 | public class EHI_Writer extends MutantCodeWriter 28 | { 29 | public EHI_Writer( String file_name,PrintWriter out ) { 30 | super(file_name,out); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/mujava/op/exception/ETC_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import java.io.*; 19 | import openjava.ptree.*; 20 | import mujava.op.util.MutantCodeWriter; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class ETC_Writer extends MutantCodeWriter 29 | { 30 | AllocationExpression original = null; 31 | AllocationExpression mutant = null; 32 | 33 | public ETC_Writer( String file_name,PrintWriter out ) { 34 | super(file_name,out); 35 | } 36 | 37 | public void setMutant(AllocationExpression a,AllocationExpression b){ 38 | original = a; 39 | mutant = b; 40 | } 41 | 42 | 43 | public void visit( AllocationExpression p ) throws ParseTreeException 44 | { 45 | if(isSameObject(p,original)){ 46 | super.visit(mutant); 47 | // ------------------------- 48 | mutated_line = line_num; 49 | writeLog(p.toString() + " --> " + mutant.toString()); 50 | // ------------------------- 51 | }else{ 52 | super.visit(p); 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/mujava/op/exception/ETD.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import java.io.*; 19 | import openjava.mop.*; 20 | import openjava.ptree.*; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class ETD extends mujava.op.util.Mutator 29 | { 30 | public ETD(FileEnvironment file_env,ClassDeclaration cdecl, 31 | CompilationUnit comp_unit) 32 | { 33 | super( file_env, comp_unit ); 34 | } 35 | 36 | public void visit( ThrowStatement p ) throws ParseTreeException 37 | { 38 | outputToFile(p); 39 | } 40 | 41 | public void outputToFile(ThrowStatement original){ 42 | if (comp_unit==null) return; 43 | 44 | String f_name; 45 | num++; 46 | f_name = getSourceName(this); 47 | String mutant_dir = getMuantID(); 48 | 49 | try { 50 | PrintWriter out = getPrintWriter(f_name); 51 | ETD_Writer writer = new ETD_Writer( mutant_dir,out ); 52 | writer.setMutant(original); 53 | comp_unit.accept( writer ); 54 | out.flush(); out.close(); 55 | } catch ( IOException e ) { 56 | System.err.println( "fails to create " + f_name ); 57 | } catch ( ParseTreeException e ) { 58 | System.err.println( "errors during printing " + f_name ); 59 | e.printStackTrace(); 60 | } 61 | } 62 | 63 | 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/mujava/op/exception/ETD_Writer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import java.io.*; 19 | import openjava.ptree.*; 20 | import mujava.op.util.MutantCodeWriter; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class ETD_Writer extends MutantCodeWriter 29 | { 30 | ThrowStatement mutant = null; 31 | 32 | public ETD_Writer( String file_name,PrintWriter out ) { 33 | super(file_name,out); 34 | } 35 | 36 | public void setMutant(ThrowStatement p){ 37 | mutant = p; 38 | } 39 | 40 | public void visit( ThrowStatement p ) throws ParseTreeException 41 | { 42 | if(isSameObject(p,mutant)){ 43 | // ------------------------- 44 | mutated_line = line_num; 45 | writeLog(p.getExpression().toString()+ " is deleted."); 46 | // ------------------------- 47 | // NO Writing 48 | }else{ 49 | super.visit(p); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/mujava/op/exception/ExceptionAnalyzer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.exception; 17 | 18 | import openjava.mop.*; 19 | import openjava.ptree.*; 20 | 21 | /** 22 | *Description:
23 | * @author Yu-Seung Ma 24 | * @version 1.0 25 | */ 26 | 27 | public class ExceptionAnalyzer extends mujava.op.util.Mutator{ 28 | 29 | public ExceptionAnalyzer(FileEnvironment file_env,ClassDeclaration cdecl, 30 | CompilationUnit comp_unit) 31 | { 32 | super( file_env, comp_unit ); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/mujava/op/util/CodeChangeLog.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package mujava.op.util; 17 | 18 | import java.io.*; 19 | import mujava.MutationSystem; 20 | 21 | /** 22 | *Description:
23 | * @author Yu-Seung Ma 24 | * @version 1.0 25 | */ 26 | 27 | public class CodeChangeLog { 28 | 29 | static final String logFile_name = "mutation_log"; 30 | static PrintWriter log_writer; 31 | 32 | public static void openLogFile(){ 33 | try{ 34 | File f = new File(MutationSystem.MUTANT_PATH,logFile_name); 35 | FileWriter fout = new FileWriter(f); 36 | log_writer = new PrintWriter(fout); 37 | }catch(IOException e){ 38 | System.err.println("[IOException] Can't make mutant log file." + e); 39 | } 40 | } 41 | 42 | public static void writeLog(String str){ 43 | log_writer.println(str); 44 | } 45 | 46 | public static void closeLogFile(){ 47 | log_writer.flush(); 48 | log_writer.close(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/mujava/op/util/TraditionalMutantCodeWriter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | /** 19 | *Description:
20 | * @author Jeff Offutt and Yu-Seung Ma 21 | * @version 1.0 22 | */ 23 | 24 | package mujava.op.util; 25 | 26 | import java.io.*; 27 | import mujava.MutationSystem; 28 | 29 | 30 | public class TraditionalMutantCodeWriter extends MutantCodeWriter{ 31 | 32 | String method_signature = null; 33 | 34 | public TraditionalMutantCodeWriter( PrintWriter out ) { 35 | super(out); 36 | } 37 | 38 | public TraditionalMutantCodeWriter( String mutant_dir, PrintWriter out ) { 39 | super(mutant_dir,out); 40 | } 41 | 42 | public void setMethodSignature(String str){ 43 | method_signature = str; 44 | } 45 | 46 | protected void writeLog(String changed_content) 47 | { 48 | CodeChangeLog.writeLog(class_name+ MutationSystem.LOG_IDENTIFIER 49 | + mutated_line+MutationSystem.LOG_IDENTIFIER 50 | + method_signature + MutationSystem.LOG_IDENTIFIER 51 | +changed_content); 52 | } 53 | 54 | } -------------------------------------------------------------------------------- /src/mujava/openjava/extension/ExtendedClosedEnvironment.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | /** 19 | *Description:
20 | * @author Jeff Offutt and Yu-Seung Ma 21 | * @version 1.0 22 | */ 23 | 24 | 25 | package mujava.openjava.extension; 26 | 27 | import java.util.Enumeration; 28 | import java.util.Vector; 29 | 30 | import openjava.mop.ClosedEnvironment; 31 | import openjava.mop.Environment; 32 | 33 | public class ExtendedClosedEnvironment extends ClosedEnvironment{ 34 | 35 | /* public ExtendedClosedEnvironment() { 36 | parent = null;//no op 37 | }*/ 38 | 39 | public ExtendedClosedEnvironment( Environment env ) { 40 | super(env); 41 | } 42 | 43 | public String[] getAccessibleVariables(){ 44 | Enumeration e = symbol_table.keys(); 45 | Vector v = new Vector(); 46 | while(e.hasMoreElements()){ 47 | v.add((String)(e.nextElement( 48 | ))); 49 | } 50 | int num = v.size(); 51 | String[] results; 52 | if(num>0){ 53 | results = new String[num]; 54 | for(int i=0;iDescription:
22 | * @author Yu-Seung Ma 23 | * @version 1.0 24 | */ 25 | 26 | public class NoMutantException extends Exception { 27 | private static final long serialVersionUID = 302L; 28 | public NoMutantException() { super(); } 29 | public NoMutantException(String s) { super(s); } 30 | } 31 | -------------------------------------------------------------------------------- /src/mujava/test/TestResult.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | package mujava.test; 19 | 20 | import java.util.Vector; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @update by Nan Li May 2012 26 | * @version 1.0 27 | */ 28 | 29 | public class TestResult 30 | { 31 | //all mutants in a class 32 | public Vector mutants = new Vector(); 33 | //killed mutants in a class 34 | public Vector killed_mutants = new Vector(); 35 | //live mutants in a class 36 | public Vector live_mutants = new Vector(); 37 | //mutation score 38 | public int mutant_score = 0; 39 | 40 | public void setMutants(){ 41 | mutants = new Vector(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/mujava/util/DirFileFilter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | package mujava.util; 19 | 20 | 21 | import java.io.File; 22 | import java.io.FilenameFilter; 23 | 24 | /** 25 | *Description:
26 | * @author Yu-Seung Ma 27 | * @version 1.0 28 | */ 29 | 30 | public class DirFileFilter implements FilenameFilter{ 31 | 32 | public DirFileFilter() { 33 | } 34 | 35 | public boolean accept(File f) 36 | { 37 | if(f.isDirectory()){ return true;} 38 | else { return false; } 39 | } 40 | 41 | public boolean accept(File dir, String name) 42 | { 43 | File f = new File(dir,name); 44 | if(f.isDirectory()) return true; 45 | else return false; 46 | } 47 | 48 | public String getDescription() 49 | { 50 | return "Directory"; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/mujava/util/ExtensionFilter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | package mujava.util; 19 | 20 | import java.io.FilenameFilter; 21 | import java.io.File; 22 | 23 | /** 24 | *Description:
25 | * @author Yu-Seung Ma 26 | * @version 1.0 27 | */ 28 | 29 | public class ExtensionFilter implements FilenameFilter 30 | { 31 | String mask = null; 32 | 33 | public ExtensionFilter() 34 | { 35 | } 36 | 37 | public ExtensionFilter(String str){ 38 | mask = str; 39 | } 40 | 41 | public boolean accept(File dir, String name) 42 | { 43 | if(mask!=null){ 44 | if( name.indexOf("$")>=0) return false; 45 | int index = name.lastIndexOf("."); 46 | String ext_name = name.substring(index+1,name.length()); 47 | if(ext_name.equals(mask)){ 48 | return true; 49 | }else{ 50 | return false; 51 | } 52 | }else{ 53 | return true; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/mujava/util/InheritanceINFO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | package mujava.util; 19 | 20 | import java.util.Vector; 21 | 22 | /** 23 | *Description:
24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | 28 | public class InheritanceINFO { 29 | 30 | InheritanceINFO direct_parent = null; 31 | Vector direct_child = new Vector(); 32 | String class_name = null; 33 | String parent_class_name = null; 34 | 35 | public InheritanceINFO(String my_name,String parent_name) { 36 | class_name = my_name; 37 | parent_class_name = parent_name; 38 | } 39 | 40 | public void addChild(InheritanceINFO child){ 41 | direct_child.add(child); 42 | } 43 | 44 | public void setParent(InheritanceINFO parent){ 45 | direct_parent = parent; 46 | } 47 | 48 | public String getParentName(){ 49 | return parent_class_name; 50 | } 51 | 52 | public InheritanceINFO getParent(){ 53 | return direct_parent; 54 | } 55 | public Vector getChilds(){ 56 | return direct_child; 57 | } 58 | 59 | public String getClassName(){ 60 | return class_name; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/mujava/util/MutantDirFilter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | package mujava.util; 19 | 20 | import java.io.FilenameFilter; 21 | import java.io.File; 22 | 23 | /** 24 | *Description:
25 | * @author Yu-Seung Ma 26 | * @version 1.0 27 | */ 28 | 29 | public class MutantDirFilter implements FilenameFilter 30 | { 31 | 32 | public MutantDirFilter() 33 | { 34 | } 35 | 36 | public boolean accept(File dir, String name) 37 | { 38 | if( (name.indexOf("_")==3) || (name.indexOf("_")==4) ) 39 | { 40 | return true; 41 | } 42 | else return false; 43 | } 44 | } 45 | --------------------------------------------------------------------------------