tanaht / vnvproject Goto Github PK
View Code? Open in Web Editor NEWProject For Validation and Verification Lessons
Project For Validation and Verification Lessons
In the code that handles byte code instructions, you make a difference between constructors and methods. It is really needed? Both, CtConstructor and CtMethod inherit from CtBehavior. Moreover, in your code it seems that you are doing the same for both.
Currently, our project can only run JUnit4 TestCases and JUnit 3.8.x and Javassist upon them. but It wont Javassist other JUnit Version:
An Error produced by JUnitCore.runClasses() method probably due to Wrong JUnitVersion ?
[ERROR] App - 1 Test Failed out of 1 on org.apache.commons.collections4.iterators.IteratorIterableTest
[WARN] App - Test Failed for: initializationError(org.apache.commons.collections4.iterators.IteratorIterableTest): junit.framework.TestSuite cannot be cast to junit.framework.Test
Right now all statistics are stored in java memory while input project tests are being runned.
It's result in a lot of memory being used only to store variables so the solution would be to progressively stores statistics into file (generate the report on the fly).
It's execution trace statistics that takes a lot of memories. So the first enhancement would be to store execution trace each 1000 JUnit Test runned for example in order to release memory.
In Some case, this error appears, we suspect that it's a problem with JUnit version, but it has to be investigated
[ERROR] App - 1 Test Failed out of 1 on org.apache.commons.collections4.iterators.SkippingIteratorTest
[WARN] App - Test Failed for: initializationError(org.apache.commons.collections4.iterators.SkippingIteratorTest): Test class should have exactly one public zero-argument constructor
java.lang.Exception: Test class should have exactly one public zero-argument constructor
analyser crash when you try to analyse a maven project where there are the same name class in tests folder and main folder :
[WARN] App - Failed for: initializationError(m2.vv.tutorials.QuoteTest): No runnable methods with trace: java.lang.Exception: No runnable methods at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191) at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) at org.junit.runners.ParentRunner.validate(ParentRunner.java:416) at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84) at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) at org.junit.runner.Computer.getRunner(Computer.java:40) at org.junit.runner.Computer$1.runnerForClass(Computer.java:31) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:101) at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:87) at org.junit.runners.Suite.<init>(Suite.java:81) at org.junit.runner.Computer.getSuite(Computer.java:28) at org.junit.runner.Request.classes(Request.java:75) at org.junit.runner.JUnitCore.run(JUnitCore.java:105) at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:62) at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:49) at fr.istic.vnv.App.main(App.java:89)
During Javassist instrumentation in some method (currently with commons-collection as input project)
NoClassDefFoundError are triggered in a few case.
[ERROR] App - 3 Test Failed out of 29 on org.apache.commons.collections4.IteratorUtilsTest
java.lang.NoClassDefFoundError: org/easymock/EasyMock
We need to identify why this error appears and fix it
There is a loop that can appear during javassisting
in this context, there is two methods:
FluentIterable.toString() and
IterableUtils.toString(Iterable).
When the javassist collect Execution trace, it will try to print method parameters.
In this case, when javassist go to IterableUtils.toString(Iterable), it will execute Iterable.toString() who rely to IterableUtils.toString(Iterable)
commons.collections4.IterableUtils.toString(IterableUtils.java)
at org.apache.commons.collections4.FluentIterable.toString(FluentIterable.java:501)
at fr.istic.vnv.instrumentation.BehaviorInstrumenter$1.result(BehaviorInstrumenter.java:105)
at org.apache.commons.collections4.IterableUtils.toString(IterableUtils.java)
at org.apache.commons.collections4.FluentIterable.toString(FluentIterable.java:501)
at fr.istic.vnv.instrumentation.BehaviorInstrumenter$1.result(BehaviorInstrumenter.java:105)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.