(1) We can divide the time when compilation errors occur into before and after test migration, and specify corresponding strategies for this.
Before testing the migration:
1b. Search for JDK version,(now we have a version)
2b. Repair the pom or gradle file that cannot access the snapshot,
3b. Invalid dependencies, find a suitable version to replace.
5b. compiler 1.6 modify1.7
4b. Others
The objects to be repaired for compilation failure before migration include BFC. If successful, the partial strategy should be propagated to BFC-1.
After testing the migration:
1a. Detect refactoring and revert the refactoring
2a. Check whether the pom contains interface upgrades. Start with a simple junit and use rules to downgrade the api under test.
3a. If the JDK versions in BFC and BFC-1 are inconsistent, some codes may need to be converted, such as changing "lamda iteration" in jdk8 to "for loop" in 1.7, refer to the rules in the paper.
4a. Others
(1) We can divide the time when compilation errors occur into before and after test migration, and specify corresponding strategies for this. Before testing the migration: 1b. Search for JDK version,(now we have a version) 2b. Repair the pom or gradle file that cannot access the snapshot, 3b. Invalid dependencies, find a suitable version to replace. 5b. compiler 1.6 modify1.7 4b. Others The objects to be repaired for compilation failure before migration include BFC. If successful, the partial strategy should be propagated to BFC-1.
After testing the migration: 1a. Detect refactoring and revert the refactoring 2a. Check whether the pom contains interface upgrades. Start with a simple junit and use rules to downgrade the api under test. 3a. If the JDK versions in BFC and BFC-1 are inconsistent, some codes may need to be converted, such as changing "lamda iteration" in jdk8 to "for loop" in 1.7, refer to the rules in the paper. 4a. Others