Skip to content

Releases: STAMP-project/dspot

dspot-1.2.1

05 Nov 12:27
Compare
Choose a tag to compare

New features

  • Wrap call with try/catch to recover from errors during differen….
  • Match now @test and Assertions from JUnit5.

Bug Fixes

  • Observations on null object.
  • Get deeper in packaged if there is not type inside the current package.

Continuous Integration

  • Launch a travis node to amplify dhell.

Refactoring

  • Maven execution.

Unknown

  • Support descartes mutators.

Authors

Name Nb Commit
Benjamin DANGLOT 7

dspot-parent-1.2.0

26 Oct 16:43
Compare
Choose a tag to compare

New features

  • Look for a subclass when we need to construct an Interface.
  • Remove try catch fail before assertion FIX #533.
  • Report json with counter values for ChangeDetectorSelector.
  • Automatically replace @test from JUnit5 to @test from JUnit4.
  • Add automatically JUnit4 in the cp from DSpot if needed.
  • Skip the print of the test class in case of any amplification worked.
  • Use maven to exe tests.
  • FIX #539 replace all occurences of original name.
  • Compute top package name on the fly.
  • Feat test selection from csv.
  • Improve dspot maven plugin with maven project.
  • Change API to have the test class under amplification, even if ….
  • Handle StackOverFlowError of getAllMethods().
  • Feat hashcode url.
  • Do not assert string with object references.
  • Discard now OutOfMemoryError and StackOverFlowError.
  • Update the version by default to pit 1.4.0.
  • Feat field read in assert.
  • Match test methods from super class.
  • Generate log statement on asserted values in original test.
  • Prevent infinite loop when unsuccessful compilations.
  • Add boolean to apply one time the specific value on each literals.
  • Always use absolute path for compiling / execution.

Bug Fixes

  • Add update counter input in new amplifiers.
  • Look up for mutations csv file in the given folder before looking up for a deeper folder.
  • Fix #601 reset pit selector.
  • Use File.separator rather than /.
  • Instanciate correctly the PitMutantScoreSelector with pre-computed origin result.
  • Fix call reset automatic builder.
  • Avoid getters to date and calendar.
  • Recompute the path to dependencies.
  • Fix #537 keep original test method.
  • Usage of descartes.
  • Use now the command line option and the property.
  • Use jvm args.
  • Add a joker to the end of the top package.
  • Get all test classes.
  • Matching assertions.
  • Fix default pit version.
  • WIN compliant path splitting.
  • FIX #551 Fix global coverage by clover selector.
  • Launch checkstyle in a dedicated node of travis and skip it when….
  • Relative path, file separator, class loading.
  • Relative path, file separator, class loading.
  • Null amplifier for array.
  • Translator for util package and nested classes.
  • Method generator and constructor creator.
  • Check if the current element is the target of the invocation.
  • Null amplifier.
  • Check not null before deferencement.
  • Support now CtUnaryOperator.
  • Assert remover.
  • TypeUtils.isPrimitive() and uses InputClassLoader.
  • Use the Type sub factory instead of Class sub factory.
  • Use correctly the generate new test class option.
  • Method call adder.
  • Merge both conditional, do not use the filter for invocation.
  • Using existing literals if at least two elements exist.
  • Fix translator wo parenthesis.
  • Support list of regex for test classes and test methods.
  • Fix is stmt to log.
  • Fix test method call remove.
  • Duplicate method call.
  • Refactor the TestMethodCallRemover to remove, clone and re-insert instead of using index, which is error-prone.
  • Fix assertions remover on catch variable.
  • Input amplification uses now field read.
  • Use now field read for values in arrays.
  • Remove InputConfiguration as a field and use the singleton.
  • Select correctly the tests to be amplified.
  • Execute now DSpot on all test methods if the provided test methods list is empty.
  • Lookup for getters in super classes.
  • Use the fullqualified name of annotation raher the .class. Using the Class could lead to conflict between versions.
  • Refactor input amplification.
  • Fix observations.
  • Remove useless query, and pick up random element instead of shuffle it.
  • The observation of an empty collection/map.
  • Update the comparison to the new packages, and unify the check.
  • Remove all unserializable value before saving.
  • Check the property targerModult not null.
  • Fix #395.
  • Expected Exception and generate assertion in catch block.
  • Improve test run errors.
  • Remove redundant assertions inside the correct block.
  • Fix the selector on diff for multi module project.
  • Fix observe values.
  • Amplification checks well the returned TestListener.
  • Call now amplifyTests on each provided String.
  • Use the pre-built factory instead of the factory of gumtree.
  • Assertions remover use now add statements with a filter.
  • Remove redundancy by reusing isAssert.
  • SelectorOnDiff returns now a Map of Strings.
  • Fix amplification on wildcard.
  • The selection takes also super class when there is no test in th….
  • Fix is array.
  • Create a method to remove redundancy of code, fix adding assertion statement at the end of the block.

Documentation

  • Update JVMArgs property documentation.
  • Add maven central badge.
  • Add "DSpot ecosystem".
  • Fix default selector, Prerequisites and filter property.
  • Fix the documentation according to the usage of PIT.
  • Remove some logs.
  • Update "filter" documentation.
  • Update readme to improve the open-source look'n'feel.
  • Update ISSUE_TEMPLATE.md.

Tests

  • Update test to remove some state.
  • Add some test for TestCompiler.
  • Add some test on MethodsHandler to ensure features.
  • Remove comments from the test.

Continuous Integration

  • Notificy Riot Chat in case of failing.
  • Update path to the deploy script.
  • Split the ci procedure into a bunch of scripts to parallelize them.
  • Deploy a snapshot when the build succeed.

Refactoring

  • Separate the injection in gradle build from the automatic g….
  • Split AmplificationHelper to several little classes with cl….
  • InputConfiguration is now a singleton.
  • Refactor input configuration wo properties.
  • Renaming packages to eu.stamp_project.

Performance

  • Speed-up the value creator.
  • Performance assertion amplification.

Unknown

  • Remove input program.
  • Disable unstable options.
  • Bump test-runner version to 1.1.1.
  • Disable the minimization for now.
  • Bump Spoon version to 7.1.0.
  • Merge branch 'master' into master.
  • Merge branch 'jenkins-compatibility' into master.
  • Do not override properties if it is defined for output path.
  • Open input configuration.
  • Budget.
  • Split statement add.
  • #392 fix inputConfiguration problem.
  • Ready to remove inputProgram.
  • Use descartes as default mutation engine.
  • Move the factory from InputProgram to InputConfiguration.
  • Use absolute path in ChangeMinimizer and ChangeDetectorSelector.
  • Choose one String randomly among existing.
  • Don't override tests annotations.
  • Unspecify assertions.
  • Avoid NPE.
  • Move the conditionals.
  • Look for the super class if the current is not visible.
  • Return directly when there is no Input-Amplifiers.
  • Check not null on ctMethod returned by gumtree.

Authors

Name Nb Commit
Benjamin DANGLOT 134
Valentina Di Giacomo 5
Martin Monperrus 3
Nicola Bertazzo 2
Simon Bihel 2
andrewbwogi 1

External Test Runner

16 Apr 08:09
Compare
Choose a tag to compare
  • Using the Test Runner project
  • Optimize collection on Input-Amplification
  • Refactor tests parent

1.0.7: Amplification of a diff

04 Apr 15:20
Compare
Choose a tag to compare

Important changes:

  • Select test classes to be amplified using a git diff
  • Fix hierarchy of Amplified tests
  • Assertion Amplification is done using chained invokation
  • Fixing Input Amplifiers: avoid compilation error

1.0.6: Minimizer

09 Mar 14:07
ddf3c97
Compare
Choose a tag to compare

Important changes:

  • First compilation using AutomaticBuilder
  • Minimize amplified test
  • ChangeDetector

1.0.5: CloverSelector - Maven Plugin

18 Jan 11:26
ddf3c97
Compare
Choose a tag to compare
  • CloverSelector: selects tests that increase the branch coverage.
  • Maven plugin: run DSpot through a maven plugin.

1.0.4: Maven Plugin - Executed Mutant Selector

18 Dec 09:51
5e85d60
Compare
Choose a tag to compare
  • usage of default resources src/main/resources/ and src/test/resources/
  • log errors when a problem occurs with resources
  • new Test Selector: ExecuteMutantSelector. This selector use executed mutant as a proxy for instruction coverage.
  • a first version of the maven plugin to run Dspot

1.0.3: Isolated Test Runner

11 Dec 22:26
f4a9cdc
Compare
Choose a tag to compare

This release contains the isolated runner:

  • setting the context class loader inside the thread that run the tests caf38ca
  • isolate the test runner, by running it using the reflection f4a9cdc
  • add a new option: -useReflection to run the test runner using the fully isolated test runner f4a9cdc

1.0.2

08 Dec 16:26
Compare
Choose a tag to compare

This release contains:

  • excludedTestCases property: to exclude specific test method
  • auto-import: the final output of DSpot is now in auto-import mode

1.0.0: First release

15 Nov 13:30
9fb2967
Compare
Choose a tag to compare
Refactor: Log failing test when using JacocoCoverageExecutor instead …