├── .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, 3 | [IconNames] 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /bin/mujava/op/JID.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JID.class -------------------------------------------------------------------------------- /bin/mujava/op/JID_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JID_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/JSD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JSD.class -------------------------------------------------------------------------------- /bin/mujava/op/JSD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JSD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/JSI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JSI.class -------------------------------------------------------------------------------- /bin/mujava/op/JSI_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JSI_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/JTD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JTD.class -------------------------------------------------------------------------------- /bin/mujava/op/JTI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JTI.class -------------------------------------------------------------------------------- /bin/mujava/op/JTI_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/JTI_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/LCR.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/LCR.class -------------------------------------------------------------------------------- /bin/mujava/op/LCR_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/LCR_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/OAN.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/OAN.class -------------------------------------------------------------------------------- /bin/mujava/op/OAN_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/OAN_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/OMD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/OMD.class -------------------------------------------------------------------------------- /bin/mujava/op/OMD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/OMD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/OMR.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/OMR.class -------------------------------------------------------------------------------- /bin/mujava/op/OMR_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/OMR_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/OverloadingHelper.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/OverloadingHelper.class -------------------------------------------------------------------------------- /bin/mujava/op/PCC.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PCC.class -------------------------------------------------------------------------------- /bin/mujava/op/PCC_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PCC_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/PCD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PCD.class -------------------------------------------------------------------------------- /bin/mujava/op/PCD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PCD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/PCI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PCI.class -------------------------------------------------------------------------------- /bin/mujava/op/PCI_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PCI_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/PMD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PMD.class -------------------------------------------------------------------------------- /bin/mujava/op/PMD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PMD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/PNC.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PNC.class -------------------------------------------------------------------------------- /bin/mujava/op/PNC_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PNC_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/PNC_Writer.jbx: -------------------------------------------------------------------------------- 1 | [PropertyInfo] 2 | mutant,AllocationExpression,false,false, , ,false, 3 | original,AllocationExpression,false,false, , ,false, 4 | [IconNames] 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /bin/mujava/op/PPD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PPD.class -------------------------------------------------------------------------------- /bin/mujava/op/PPD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PPD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/PRV.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PRV.class -------------------------------------------------------------------------------- /bin/mujava/op/PRV_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/PRV_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/ParameterTypeInfo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/ParameterTypeInfo.class -------------------------------------------------------------------------------- /bin/mujava/op/ROR_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/ROR_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/UOI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/UOI.class -------------------------------------------------------------------------------- /bin/mujava/op/UOI_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/UOI_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AODS.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AODS.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AODS_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AODS_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AODU.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AODU.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AODU_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AODU_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AOIS.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AOIS.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AOIS_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AOIS_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AOIU.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AOIU.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AOIU_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AOIU_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AORB.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AORB.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AORB_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AORB_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AORS.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AORS.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AORS_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AORS_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AORU.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AORU.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/AORU_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/AORU_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/ASRS.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/ASRS.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/ASRS_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/ASRS_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/Arithmetic_OP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/Arithmetic_OP.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/CDL.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/CDL.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/CDL_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/CDL_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/COD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/COD.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/COD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/COD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/COI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/COI.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/COI_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/COI_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/COR.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/COR.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/COR_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/COR_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/CreateDirForEachMethod.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/CreateDirForEachMethod.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/LOD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/LOD.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/LOD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/LOD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/LOI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/LOI.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/LOI_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/LOI_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/LOR.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/LOR.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/LOR_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/LOR_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/MethodLevelMutator.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/MethodLevelMutator.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/ODL.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/ODL.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/ODL_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/ODL_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/ROR.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/ROR.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/ROR_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/ROR_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/SDL.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/SDL.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/SDL_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/SDL_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/SOR.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/SOR.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/SOR_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/SOR_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/VDL.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/VDL.class -------------------------------------------------------------------------------- /bin/mujava/op/basic/VDL_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/basic/VDL_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/EFD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/EFD.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/EFD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/EFD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/EHC.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/EHC.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/EHC_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/EHC_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/EHD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/EHD.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/EHD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/EHD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/EHI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/EHI.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/EHI_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/EHI_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/ETC.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/ETC.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/ETC_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/ETC_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/ETD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/ETD.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/ETD_Writer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/ETD_Writer.class -------------------------------------------------------------------------------- /bin/mujava/op/exception/ExceptionAnalyzer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/exception/ExceptionAnalyzer.class -------------------------------------------------------------------------------- /bin/mujava/op/util/CodeChangeLog.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/CodeChangeLog.class -------------------------------------------------------------------------------- /bin/mujava/op/util/DeclAnalyzer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/DeclAnalyzer.class -------------------------------------------------------------------------------- /bin/mujava/op/util/LineNumerAnalyzer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/LineNumerAnalyzer.class -------------------------------------------------------------------------------- /bin/mujava/op/util/MutantCodeWriter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/MutantCodeWriter.class -------------------------------------------------------------------------------- /bin/mujava/op/util/Mutator.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/Mutator.class -------------------------------------------------------------------------------- /bin/mujava/op/util/PolymorphicMutator.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/PolymorphicMutator.class -------------------------------------------------------------------------------- /bin/mujava/op/util/ScopeHandlingMutantCodeWriter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/ScopeHandlingMutantCodeWriter.class -------------------------------------------------------------------------------- /bin/mujava/op/util/StatementParser.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/StatementParser.class -------------------------------------------------------------------------------- /bin/mujava/op/util/TraditionalMutantCodeWriter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/TraditionalMutantCodeWriter.class -------------------------------------------------------------------------------- /bin/mujava/op/util/TypeCastMutator.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/op/util/TypeCastMutator.class -------------------------------------------------------------------------------- /bin/mujava/openjava/extension/EvaluationShuttle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/openjava/extension/EvaluationShuttle.class -------------------------------------------------------------------------------- /bin/mujava/openjava/extension/ExtendedClosedEnvironment.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/openjava/extension/ExtendedClosedEnvironment.class -------------------------------------------------------------------------------- /bin/mujava/openjava/extension/ScopeHandler.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/openjava/extension/ScopeHandler.class -------------------------------------------------------------------------------- /bin/mujava/openjava/extension/VariableBinder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/openjava/extension/VariableBinder.class -------------------------------------------------------------------------------- /bin/mujava/test/JMutationLoader.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/test/JMutationLoader.class -------------------------------------------------------------------------------- /bin/mujava/test/NoMutantDirException.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/test/NoMutantDirException.class -------------------------------------------------------------------------------- /bin/mujava/test/NoMutantException.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/test/NoMutantException.class -------------------------------------------------------------------------------- /bin/mujava/test/OriginalLoader.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/test/OriginalLoader.class -------------------------------------------------------------------------------- /bin/mujava/test/TestResult.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/test/TestResult.class -------------------------------------------------------------------------------- /bin/mujava/test/TestResultCLI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/test/TestResultCLI.class -------------------------------------------------------------------------------- /bin/mujava/util/Debug.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/util/Debug.class -------------------------------------------------------------------------------- /bin/mujava/util/DirFileFilter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/util/DirFileFilter.class -------------------------------------------------------------------------------- /bin/mujava/util/ExtensionFilter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/util/ExtensionFilter.class -------------------------------------------------------------------------------- /bin/mujava/util/InheritanceINFO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/util/InheritanceINFO.class -------------------------------------------------------------------------------- /bin/mujava/util/MutantDirFilter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/bin/mujava/util/MutantDirFilter.class -------------------------------------------------------------------------------- /commons-io-2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/commons-io-2.4.jar -------------------------------------------------------------------------------- /mujava.config: -------------------------------------------------------------------------------- 1 | MuJava_HOME=/Users/dmark/mujava 2 | config_mode=true -------------------------------------------------------------------------------- /mujavaCLI.config: -------------------------------------------------------------------------------- 1 | MuJava_HOME=c:\mujava 2 | Debug_mode=true -------------------------------------------------------------------------------- /openjava.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffoffutt/muJava/dd0e7db532097530e0cc44026ac3ad1e8df7b496/openjava.jar -------------------------------------------------------------------------------- /src/com/beust/jcommander/DynamicParameter.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander; 2 | 3 | import static java.lang.annotation.ElementType.FIELD; 4 | 5 | import com.beust.jcommander.validators.NoValidator; 6 | import com.beust.jcommander.validators.NoValueValidator; 7 | 8 | import java.lang.annotation.Retention; 9 | import java.lang.annotation.Target; 10 | 11 | @Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 12 | @Target({ FIELD }) 13 | public @interface DynamicParameter { 14 | /** 15 | * An array of allowed command line parameters (e.g. "-D", "--define", etc...). 16 | */ 17 | String[] names() default {}; 18 | 19 | /** 20 | * Whether this option is required. 21 | */ 22 | boolean required() default false; 23 | 24 | /** 25 | * A description of this option. 26 | */ 27 | String description() default ""; 28 | 29 | /** 30 | * The key used to find the string in the message bundle. 31 | */ 32 | String descriptionKey() default ""; 33 | 34 | /** 35 | * If true, this parameter won't appear in the usage(). 36 | */ 37 | boolean hidden() default false; 38 | 39 | /** 40 | * The validation class to use. 41 | */ 42 | Class validateWith() default NoValidator.class; 43 | 44 | /** 45 | * The character(s) used to assign the values. 46 | */ 47 | String assignment() default "="; 48 | 49 | Class validateValueWith() default NoValueValidator.class; 50 | } 51 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/FuzzyMap.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander; 2 | 3 | import com.beust.jcommander.internal.Maps; 4 | 5 | import java.util.Map; 6 | 7 | /** 8 | * Helper class to perform fuzzy key look ups: looking up case insensitive or 9 | * abbreviated keys. 10 | */ 11 | public class FuzzyMap { 12 | interface IKey { 13 | String getName(); 14 | } 15 | 16 | public static V findInMap(Map map, IKey name, 17 | boolean caseSensitive, boolean allowAbbreviations) { 18 | if (allowAbbreviations) { 19 | return findAbbreviatedValue(map, name, caseSensitive); 20 | } else { 21 | if (caseSensitive) { 22 | return map.get(name); 23 | } else { 24 | for (IKey c : map.keySet()) { 25 | if (c.getName().equalsIgnoreCase(name.getName())) { 26 | return map.get(c); 27 | } 28 | } 29 | } 30 | } 31 | return null; 32 | } 33 | 34 | private static V findAbbreviatedValue(Map map, IKey name, 35 | boolean caseSensitive) { 36 | String string = name.getName(); 37 | Map results = Maps.newHashMap(); 38 | for (IKey c : map.keySet()) { 39 | String n = c.getName(); 40 | boolean match = (caseSensitive && n.startsWith(string)) 41 | || ((! caseSensitive) && n.toLowerCase().startsWith(string.toLowerCase())); 42 | if (match) { 43 | results.put(n, map.get(c)); 44 | } 45 | } 46 | 47 | V result; 48 | if (results.size() > 1) { 49 | throw new ParameterException("Ambiguous option: " + name 50 | + " matches " + results.keySet()); 51 | } else if (results.size() == 1) { 52 | result = results.values().iterator().next(); 53 | } else { 54 | result = null; 55 | } 56 | 57 | return result; 58 | } 59 | 60 | 61 | } 62 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/IDefaultProvider.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | /** 22 | * Allows the specification of default values. 23 | * 24 | * @author cbeust 25 | */ 26 | public interface IDefaultProvider { 27 | 28 | /** 29 | * @param optionName The name of the option as specified in the names() attribute 30 | * of the @Parameter option (e.g. "-file"). 31 | * 32 | * @return the default value for this option. 33 | */ 34 | String getDefaultValueFor(String optionName); 35 | } 36 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/IParameterValidator.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2011 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | /** 22 | * The class used to validate parameters. 23 | * 24 | * @author Cedric Beust 25 | */ 26 | public interface IParameterValidator { 27 | 28 | /** 29 | * Validate the parameter. 30 | * 31 | * @param name The name of the parameter (e.g. "-host"). 32 | * @param value The value of the parameter that we need to validate 33 | * 34 | * @throws ParameterException Thrown if the value of the parameter is invalid. 35 | */ 36 | void validate(String name, String value) throws ParameterException; 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/IParameterValidator2.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2011 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | public interface IParameterValidator2 extends IParameterValidator { 22 | 23 | /** 24 | * Validate the parameter. 25 | * 26 | * @param name The name of the parameter (e.g. "-host"). 27 | * @param value The value of the parameter that we need to validate 28 | * @param pd The description of this parameter 29 | * 30 | * @throws ParameterException Thrown if the value of the parameter is invalid. 31 | */ 32 | void validate(String name, String value, ParameterDescription pd) throws ParameterException; 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/IStringConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | /** 22 | * An interface that converts strings to any arbitrary type. 23 | * 24 | * If your class implements a constructor that takes a String, this 25 | * constructor will be used to instantiate your converter and the 26 | * parameter will receive the name of the option that's being parsed, 27 | * which can be useful to issue a more useful error message if the 28 | * conversion fails. 29 | * 30 | * You can also extend BaseConverter to make your life easier. 31 | * 32 | * @author cbeust 33 | */ 34 | public interface IStringConverter { 35 | /** 36 | * @return an object of type created from the parameter value. 37 | */ 38 | T convert(String value); 39 | } 40 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/IStringConverterFactory.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | /** 22 | * A factory for IStringConverter. This interface lets you specify your 23 | * converters in one place instead of having them repeated all over 24 | * your argument classes. 25 | * 26 | * @author cbeust 27 | */ 28 | public interface IStringConverterFactory { 29 | Class> getConverter(Class forType); 30 | } 31 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/IValueValidator.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander; 2 | 3 | public interface IValueValidator { 4 | /** 5 | * Validate the parameter. 6 | * 7 | * @param name The name of the parameter (e.g. "-host"). 8 | * @param value The value of the parameter that we need to validate 9 | * 10 | * @throws ParameterException Thrown if the value of the parameter is invalid. 11 | */ 12 | void validate(String name, T value) throws ParameterException; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/IVariableArity.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander; 2 | 3 | /** 4 | * Must be implemented by argument classes that contain at least one 5 | * \@Parameter with "variableArity = true". 6 | */ 7 | public interface IVariableArity { 8 | 9 | /** 10 | * @param optionName the name of the option to process. 11 | * @param options the entire list of options. 12 | * 13 | * @return how many options were processed. 14 | */ 15 | int processVariableArity(String optionName, String[] options); 16 | } 17 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/MissingCommandException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | /** 22 | * Thrown when a command was expected. 23 | * 24 | * @author Cedric Beust 25 | */ 26 | @SuppressWarnings("serial") 27 | public class MissingCommandException extends ParameterException { 28 | 29 | public MissingCommandException(String string) { 30 | super(string); 31 | } 32 | 33 | public MissingCommandException(Throwable t) { 34 | super(t); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/ParameterException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | /** 22 | * The main exception that JCommand will throw when something goes wrong while 23 | * parsing parameters. 24 | * 25 | * @author Cedric Beust 26 | */ 27 | @SuppressWarnings("serial") 28 | public class ParameterException extends RuntimeException { 29 | 30 | public ParameterException(Throwable t) { 31 | super(t); 32 | } 33 | 34 | public ParameterException(String string) { 35 | super(string); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/Parameters.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | import java.lang.annotation.Inherited; 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.Target; 24 | 25 | import static java.lang.annotation.ElementType.TYPE; 26 | 27 | /** 28 | * An annotation used to specify settings for parameter parsing. 29 | * 30 | * @author cbeust 31 | */ 32 | @Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 33 | @Target({ TYPE }) 34 | @Inherited 35 | public @interface Parameters { 36 | 37 | public static final String DEFAULT_OPTION_PREFIXES = "-"; 38 | 39 | /** 40 | * The name of the resource bundle to use for this class. 41 | */ 42 | String resourceBundle() default ""; 43 | 44 | /** 45 | * The character(s) that separate options. 46 | */ 47 | String separators() default " "; 48 | 49 | /** 50 | * What characters an option starts with. 51 | */ 52 | String optionPrefixes() default DEFAULT_OPTION_PREFIXES; 53 | 54 | /** 55 | * If the annotated class was added to {@link JCommander} as a command with 56 | * {@link JCommander#addCommand}, then this string will be displayed in the 57 | * description when @{link JCommander#usage} is invoked. 58 | */ 59 | String commandDescription() default ""; 60 | 61 | /** 62 | * @return the key used to find the command description in the resource bundle. 63 | */ 64 | String commandDescriptionKey() default ""; 65 | 66 | /** 67 | * An array of allowed command names. 68 | */ 69 | String[] commandNames() default {}; 70 | } 71 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/ParametersDelegate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | import java.lang.annotation.Retention; 22 | import java.lang.annotation.Target; 23 | 24 | import static java.lang.annotation.ElementType.FIELD; 25 | 26 | /** 27 | *

When applied to a field all of its child fields annotated 28 | * with {@link Parameter} will be included during arguments 29 | * parsing.

30 | * 31 | *

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.

36 | * 37 | *

Delegations can be chained (nested).

38 | * 39 | * @author rodionmoiseev 40 | */ 41 | @Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 42 | @Target({ FIELD }) 43 | public @interface ParametersDelegate { 44 | } 45 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/ResourceBundle.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander; 20 | 21 | import static java.lang.annotation.ElementType.TYPE; 22 | 23 | import java.lang.annotation.Retention; 24 | import java.lang.annotation.Target; 25 | 26 | /** 27 | * @deprecated use @Parameters 28 | * 29 | * @author Cedric Beust 30 | */ 31 | @Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 32 | @Target({ TYPE }) 33 | public @interface ResourceBundle { 34 | /** 35 | * The name of the resource bundle to use for this class. 36 | */ 37 | String value(); 38 | } 39 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/StringKey.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander; 2 | 3 | import com.beust.jcommander.FuzzyMap.IKey; 4 | 5 | public class StringKey implements IKey { 6 | 7 | private String m_name; 8 | 9 | public StringKey(String name) { 10 | m_name = name; 11 | } 12 | 13 | @Override 14 | public String getName() { 15 | return m_name; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return m_name; 21 | } 22 | 23 | @Override 24 | public int hashCode() { 25 | final int prime = 31; 26 | int result = 1; 27 | result = prime * result + ((m_name == null) ? 0 : m_name.hashCode()); 28 | return result; 29 | } 30 | 31 | @Override 32 | public boolean equals(Object obj) { 33 | if (this == obj) 34 | return true; 35 | if (obj == null) 36 | return false; 37 | if (getClass() != obj.getClass()) 38 | return false; 39 | StringKey other = (StringKey) obj; 40 | if (m_name == null) { 41 | if (other.m_name != null) 42 | return false; 43 | } else if (!m_name.equals(other.m_name)) 44 | return false; 45 | return true; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/Strings.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander; 2 | 3 | public class Strings { 4 | public static boolean isStringEmpty(String s) { 5 | return s == null || "".equals(s); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/BaseConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.IStringConverter; 22 | 23 | /** 24 | * Base class for converters that stores the name of the option. 25 | * 26 | * @author cbeust 27 | */ 28 | abstract public class BaseConverter implements IStringConverter { 29 | 30 | private String m_optionName; 31 | 32 | public BaseConverter(String optionName) { 33 | m_optionName = optionName; 34 | } 35 | 36 | public String getOptionName() { 37 | return m_optionName; 38 | } 39 | 40 | protected String getErrorString(String value, String to) { 41 | return "\"" + getOptionName() + "\": couldn't convert \"" + value + "\" to " + to; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/BigDecimalConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.ParameterException; 22 | 23 | import java.math.BigDecimal; 24 | 25 | /** 26 | * Converts a String to a BigDecimal. 27 | * 28 | * @author Angus Smithson 29 | */ 30 | public class BigDecimalConverter extends BaseConverter { 31 | 32 | public BigDecimalConverter(String optionName) { 33 | super(optionName); 34 | } 35 | 36 | public BigDecimal convert(String value) { 37 | try { 38 | return new BigDecimal(value); 39 | } catch (NumberFormatException nfe) { 40 | throw new ParameterException(getErrorString(value, "a BigDecimal")); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/BooleanConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.ParameterException; 22 | 23 | /** 24 | * Converts a string to a boolean. 25 | * 26 | * @author cbeust 27 | */ 28 | public class BooleanConverter extends BaseConverter { 29 | 30 | public BooleanConverter(String optionName) { 31 | super(optionName); 32 | } 33 | 34 | public Boolean convert(String value) { 35 | if ("false".equalsIgnoreCase(value) || "true".equalsIgnoreCase(value)) { 36 | return Boolean.parseBoolean(value); 37 | } else { 38 | throw new ParameterException(getErrorString(value, "a boolean")); 39 | } 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/CommaParameterSplitter.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander.converters; 2 | 3 | import java.util.Arrays; 4 | import java.util.List; 5 | 6 | public class CommaParameterSplitter implements IParameterSplitter { 7 | 8 | public List split(String value) { 9 | return Arrays.asList(value.split(",")); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/DoubleConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.ParameterException; 22 | 23 | /** 24 | * Convert a string to a double. 25 | * 26 | * @author acornejo 27 | */ 28 | public class DoubleConverter extends BaseConverter { 29 | 30 | public DoubleConverter(String optionName) { 31 | super(optionName); 32 | } 33 | 34 | public Double convert(String value) { 35 | try { 36 | return Double.parseDouble(value); 37 | } catch(NumberFormatException ex) { 38 | throw new ParameterException(getErrorString(value, "a double")); 39 | } 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/FileConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.IStringConverter; 22 | 23 | import java.io.File; 24 | 25 | /** 26 | * Convert a string into a file. 27 | * 28 | * @author cbeust 29 | */ 30 | public class FileConverter implements IStringConverter { 31 | 32 | public File convert(String value) { 33 | return new File(value); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/FloatConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.ParameterException; 22 | 23 | /** 24 | * Convert a string to a float. 25 | * 26 | * @author acornejo 27 | */ 28 | public class FloatConverter extends BaseConverter { 29 | 30 | public FloatConverter(String optionName) { 31 | super(optionName); 32 | } 33 | 34 | public Float convert(String value) { 35 | try { 36 | return Float.parseFloat(value); 37 | } catch(NumberFormatException ex) { 38 | throw new ParameterException(getErrorString(value, "a float")); 39 | } 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/IParameterSplitter.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander.converters; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Convert a string representing several parameters (e.g. "a,b,c" or "d/e/f") into a 7 | * list of arguments ([a,b,c] and [d,e,f]). 8 | */ 9 | public interface IParameterSplitter { 10 | List split(String value); 11 | } 12 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/ISO8601DateConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.ParameterException; 22 | 23 | import java.text.ParseException; 24 | import java.text.SimpleDateFormat; 25 | import java.util.Date; 26 | 27 | /** 28 | * Converts a String to a Date. 29 | * TODO Modify to work with all valid ISO 8601 date formats (currently only works with yyyy-MM-dd). 30 | * 31 | * @author Angus Smithson 32 | */ 33 | public class ISO8601DateConverter extends BaseConverter { 34 | 35 | private final static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); 36 | 37 | public ISO8601DateConverter(String optionName) { 38 | super(optionName); 39 | } 40 | 41 | public Date convert(String value) { 42 | try { 43 | return DATE_FORMAT.parse(value); 44 | } catch (ParseException pe) { 45 | throw new ParameterException(getErrorString(value, String.format("an ISO-8601 formatted date (%s)", DATE_FORMAT.toPattern()))); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/IntegerConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.ParameterException; 22 | 23 | /** 24 | * Convert a string to an integer. 25 | * 26 | * @author cbeust 27 | */ 28 | public class IntegerConverter extends BaseConverter { 29 | 30 | public IntegerConverter(String optionName) { 31 | super(optionName); 32 | } 33 | 34 | public Integer convert(String value) { 35 | try { 36 | return Integer.parseInt(value); 37 | } catch(NumberFormatException ex) { 38 | throw new ParameterException(getErrorString(value, "an integer")); 39 | } 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/LongConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.ParameterException; 22 | 23 | /** 24 | * Convert a string to a long. 25 | * 26 | * @author cbeust 27 | */ 28 | public class LongConverter extends BaseConverter { 29 | 30 | public LongConverter(String optionName) { 31 | super(optionName); 32 | } 33 | 34 | public Long convert(String value) { 35 | try { 36 | return Long.parseLong(value); 37 | } catch(NumberFormatException ex) { 38 | throw new ParameterException(getErrorString(value, "a long")); 39 | } 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/NoConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.IStringConverter; 22 | 23 | /** 24 | * Default value for a converter when none is specified. 25 | * 26 | * @author cbeust 27 | */ 28 | public class NoConverter implements IStringConverter { 29 | 30 | public String convert(String value) { 31 | throw new UnsupportedOperationException(); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/converters/StringConverter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.converters; 20 | 21 | import com.beust.jcommander.IStringConverter; 22 | 23 | /** 24 | * Default converter for strings. 25 | * 26 | * @author cbeust 27 | */ 28 | public class StringConverter implements IStringConverter { 29 | 30 | public String convert(String value) { 31 | return value; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/internal/Console.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander.internal; 2 | 3 | public interface Console { 4 | 5 | void print(String msg); 6 | 7 | void println(String msg); 8 | 9 | char[] readPassword(boolean echoInput); 10 | } 11 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/internal/DefaultConsole.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander.internal; 2 | 3 | import com.beust.jcommander.ParameterException; 4 | 5 | import java.io.BufferedReader; 6 | import java.io.IOException; 7 | import java.io.InputStreamReader; 8 | 9 | public class DefaultConsole implements Console { 10 | 11 | public void print(String msg) { 12 | System.out.print(msg); 13 | } 14 | 15 | public void println(String msg) { 16 | System.out.println(msg); 17 | } 18 | 19 | public char[] readPassword(boolean echoInput) { 20 | try { 21 | InputStreamReader isr = new InputStreamReader(System.in); 22 | BufferedReader in = new BufferedReader(isr); 23 | String result = in.readLine(); 24 | in.close(); 25 | isr.close(); 26 | return result.toCharArray(); 27 | } 28 | catch (IOException e) { 29 | throw new ParameterException(e); 30 | } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/internal/JDK6Console.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander.internal; 2 | 3 | import com.beust.jcommander.ParameterException; 4 | 5 | import java.io.PrintWriter; 6 | import java.lang.reflect.Method; 7 | 8 | public class JDK6Console implements Console { 9 | 10 | private Object console; 11 | 12 | private PrintWriter writer; 13 | 14 | public JDK6Console(Object console) throws Exception { 15 | this.console = console; 16 | Method writerMethod = console.getClass().getDeclaredMethod("writer", new Class[0]); 17 | writer = (PrintWriter) writerMethod.invoke(console, new Object[0]); 18 | } 19 | 20 | public void print(String msg) { 21 | writer.print(msg); 22 | } 23 | 24 | public void println(String msg) { 25 | writer.println(msg); 26 | } 27 | 28 | public char[] readPassword(boolean echoInput) { 29 | try { 30 | writer.flush(); 31 | Method method; 32 | if (echoInput) { 33 | method = console.getClass().getDeclaredMethod("readLine", new Class[0]); 34 | return ((String) method.invoke(console, new Object[0])).toCharArray(); 35 | } else { 36 | method = console.getClass().getDeclaredMethod("readPassword", new Class[0]); 37 | return (char[]) method.invoke(console, new Object[0]); 38 | } 39 | } 40 | catch (Exception e) { 41 | throw new ParameterException(e); 42 | } 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /src/com/beust/jcommander/internal/Lists.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.internal; 20 | 21 | import java.util.ArrayList; 22 | import java.util.Arrays; 23 | import java.util.Collection; 24 | import java.util.LinkedList; 25 | import java.util.List; 26 | 27 | public class Lists { 28 | 29 | public static List newArrayList() { 30 | return new ArrayList(); 31 | } 32 | 33 | public static List newArrayList(Collection c) { 34 | return new ArrayList(c); 35 | } 36 | 37 | public static List newArrayList(K... c) { 38 | return new ArrayList(Arrays.asList(c)); 39 | } 40 | 41 | public static List newArrayList(int size) { 42 | return new ArrayList(size); 43 | } 44 | 45 | public static LinkedList newLinkedList() { 46 | return new LinkedList(); 47 | } 48 | 49 | public static LinkedList newLinkedList(Collection c) { 50 | return new LinkedList(c); 51 | } 52 | 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/internal/Maps.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.internal; 20 | 21 | import java.util.HashMap; 22 | import java.util.LinkedHashMap; 23 | import java.util.Map; 24 | 25 | public class Maps { 26 | 27 | public static Map newHashMap() { 28 | return new HashMap(); 29 | } 30 | 31 | public static Map newLinkedHashMap() { 32 | return new LinkedHashMap(); 33 | } 34 | 35 | public static Map newHashMap(T... parameters) { 36 | Map result = Maps.newHashMap(); 37 | for (int i = 0; i < parameters.length; i += 2) { 38 | result.put(parameters[i], parameters[i + 1]); 39 | } 40 | return result; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/internal/Nullable.java: -------------------------------------------------------------------------------- 1 | package com.beust.jcommander.internal; 2 | 3 | import static java.lang.annotation.ElementType.FIELD; 4 | import static java.lang.annotation.ElementType.PARAMETER; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.Target; 8 | 9 | @Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 10 | @Target({FIELD, PARAMETER}) 11 | public @interface Nullable { 12 | } 13 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/internal/Sets.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2010 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.internal; 20 | 21 | import java.util.HashSet; 22 | import java.util.LinkedHashSet; 23 | import java.util.Set; 24 | 25 | public class Sets { 26 | 27 | public static Set newHashSet() { 28 | return new HashSet(); 29 | } 30 | 31 | public static Set newLinkedHashSet() { 32 | return new LinkedHashSet(); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/validators/NoValidator.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2011 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.validators; 20 | 21 | import com.beust.jcommander.IParameterValidator; 22 | import com.beust.jcommander.ParameterException; 23 | 24 | /** 25 | * This is the default value of the validateWith attribute. 26 | * 27 | * @author Cedric Beust 28 | */ 29 | public class NoValidator implements IParameterValidator { 30 | 31 | public void validate(String parameterName, String parameterValue) 32 | throws ParameterException { 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/validators/NoValueValidator.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2011 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.validators; 20 | 21 | import com.beust.jcommander.IValueValidator; 22 | import com.beust.jcommander.ParameterException; 23 | 24 | /** 25 | * This is the default value of the validateValueWith attribute. 26 | * 27 | * @author Cedric Beust 28 | */ 29 | public class NoValueValidator implements IValueValidator { 30 | 31 | public void validate(String parameterName, T parameterValue) 32 | throws ParameterException { 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/beust/jcommander/validators/PositiveInteger.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2011 the original author or authors. 3 | * See the notice.md file distributed with this work for additional 4 | * information regarding copyright ownership. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.beust.jcommander.validators; 20 | 21 | import com.beust.jcommander.IParameterValidator; 22 | import com.beust.jcommander.ParameterException; 23 | 24 | /** 25 | * A validator that makes sure the value of the parameter is a positive integer. 26 | * 27 | * @author Cedric Beust 28 | */ 29 | public class PositiveInteger implements IParameterValidator { 30 | 31 | public void validate(String name, String value) 32 | throws ParameterException { 33 | int n = Integer.parseInt(value); 34 | if (n < 0) { 35 | throw new ParameterException("Parameter " + name 36 | + " should be positive (found " + value +")"); 37 | } 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/mujava/OpenJavaException.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 | /** 21 | *

Description:

22 | * @author Yu-Seung Ma 23 | * @version 1.0 24 | */ 25 | 26 | public class OpenJavaException extends Exception{ 27 | 28 | private static final long serialVersionUID = 1L; 29 | 30 | public OpenJavaException() { 31 | } 32 | 33 | public OpenJavaException(String str) { 34 | super(str); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/mujava/cli/Pair.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 | package mujava.cli; 20 | 21 | import java.util.ArrayList; 22 | /** 23 | *

24 | * Description: Pair class used for storing results of mutation scores 25 | *

26 | * 27 | * @author Lin Deng 28 | * @version 1.0 29 | */ 30 | public class Pair 31 | { 32 | public ArrayList testSet; 33 | public double mutationScore; 34 | 35 | public Pair(ArrayList testSet, double mutationScore) 36 | { 37 | this.testSet = testSet; 38 | this.mutationScore = mutationScore; 39 | } 40 | 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/mujava/cli/markequivCom.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 | 20 | package mujava.cli; 21 | 22 | import java.util.ArrayList; 23 | import java.util.List; 24 | 25 | import com.beust.jcommander.Parameter; 26 | /** 27 | *

28 | * Description: Pre-defined arguments options for markequiv command 29 | *

30 | * 31 | * @author Lin Deng 32 | * @version 1.0 33 | */ 34 | class markequivCom { 35 | @Parameter 36 | private List parameters = new ArrayList(); 37 | 38 | @Parameter(names = "-name", arity = 1, description = "Class name") 39 | private String name; 40 | 41 | @Parameter(names = "-mutant", arity = 1, description = "Mutant name") 42 | private String mutant; 43 | 44 | public List getParameters() { 45 | return parameters; 46 | } 47 | 48 | public void setParameters(List parameters) { 49 | this.parameters = parameters; 50 | } 51 | 52 | public String getName() { 53 | return name; 54 | } 55 | 56 | public void setName(String name) { 57 | this.name = name; 58 | } 59 | 60 | public String getMutant() { 61 | return mutant; 62 | } 63 | 64 | public void setMutant(String mutant) { 65 | this.mutant = mutant; 66 | } 67 | 68 | 69 | 70 | 71 | } -------------------------------------------------------------------------------- /src/mujava/compileTestcase.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; 18 | 19 | import mujava.MutationSystem; 20 | import mujava.util.Debug; 21 | import mujava.util.ExtensionFilter; 22 | import com.sun.tools.javac.Main; 23 | import java.io.*; 24 | 25 | /** 26 | *

Description:

27 | * @author Yu-Seung Ma 28 | * @version 1.0 29 | */ 30 | 31 | public class compileTestcase 32 | { 33 | public static void main(String[] args) 34 | { 35 | Debug.setDebugLevel(3); 36 | File f = new File(MutationSystem.TESTSET_PATH); 37 | String[] s = f.list(new ExtensionFilter("java")); 38 | String[] pars = new String[2+s.length]; 39 | pars[0] = "-classpath"; 40 | pars[1] = MutationSystem.CLASS_PATH; 41 | 42 | for (int i=0; iTemplate containing summary of class mutants generated

24 | * @author Yu-Seung Ma 25 | * @version 1.0 26 | */ 27 | public class CMSummaryTableModel extends SummaryTableModel 28 | { 29 | private static final long serialVersionUID = 201L; 30 | 31 | int getOperatorType() { return CMO; } 32 | } 33 | -------------------------------------------------------------------------------- /src/mujava/gui/util/EMSummaryTableModel.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 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 | *

32 | * @author Yu-Seung Ma 33 | * @version 1.0 34 | */ 35 | 36 | public class ABS extends mujava.op.util.Mutator 37 | { 38 | public ABS(FileEnvironment file_env, ClassDeclaration cdecl, CompilationUnit comp_unit) 39 | { 40 | super( file_env, comp_unit ); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/mujava/op/AMC_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 | 17 | 18 | 19 | package mujava.op; 20 | 21 | import mujava.op.util.MutantCodeWriter; 22 | import openjava.ptree.*; 23 | import java.io.*; 24 | 25 | /** 26 | *

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, 3 | [IconNames] 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/mujava/op/JTI_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 | /** 24 | *

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, 3 | original,AllocationExpression,false,false, , ,false, 4 | [IconNames] 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/mujava/op/ROR_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 mujava.op.util.MutantCodeWriter; 19 | import openjava.ptree.*; 20 | 21 | import java.io.*; 22 | 23 | /** 24 | *

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 NoMutantDirException extends Exception { 27 | private static final long serialVersionUID = 301L; 28 | public NoMutantDirException() { super(); } 29 | public NoMutantDirException(String s) { super(s); } 30 | } 31 | -------------------------------------------------------------------------------- /src/mujava/test/NoMutantException.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 | /** 21 | *

Description:

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 | --------------------------------------------------------------------------------