Skip to content

MuJava++ 1.5.4 bug fixes

Choose a tag to compare

@saiema saiema released this 24 Nov 16:55
· 209 commits to master since this release

Changes:

  • PRVO and mujava.openjava.extension.EvaluationShuttle used the new methods in mujava.op.util.Mutator to check the method to mutate.
  • PRVO now checks for expected arguments (if given) when obtaining the method return type
    of the method under consideration defined in the Api.

Fixes:

  • All operators where being used even when defining specific ones in the .properties file.
  • PNC operator was throwing an exception when dealing with a class with generics (this issue may appear in other operators and will be fixed if found).
  • A bug in mujava.util.Config#isValidOp(String) that was returning the first of the mutant operators regardless of the operator passed as argument.

Additions:

  • if the output folder exists a confirmation will be displayed before deleting that folder.
  • added new methods to mujava.op.util.Mutator to check the method to mutate :
    • checkApiConstructorNodeAgainstMethodToMutate
      checks whether a constructor matches the method to mutate defined in the Api
    • checkApiMethodNodeAgainstMethodToMutate
      checks whether a constructor matches the method to mutate defined in the Api
    • checkMethodNodeAgainstMethodToMutate
      checks whether a method mathes a expected name and arguments
    • checkConstructorNodeAgainstMethodToMutate
      checks whether a constructor mathes a expected name and arguments
  • [WIP] support for defining inner classes in .properties file.
  • [WIP] support for method names of the form NAME(TYPE*) to select exactly which method to mutate.
  • Checks in PRVO_WRITER to detect cases where a node (original or mutant) does not match the contemplated node types.
  • Debugging checks to mujava.op.util.MutantCodeWriter to detect if a mutation is not written