TOCEAScertify™ Refactoring Assessment is an open source component dedicated to development & QA teams that provides exclusive benchmark data on Software Quality. It automatically detects the portions of an application that can be refactored, gives valuable information on refactoring strategies, and costs.
Though IT departments have matured these last 10 years and have now no doubt on the benefits of a continuous control of code quality, three major concerns were still remaining, without any tools able to effectively addressing these needs:
Scertify™ Refactoring Assessment is a free & open source tool (read the LGPL license) designed to provide development teams with clear insights on these concerns, enabling them to:
For more details : Description of the functionalities
Project thought and developped by Tocea. Tocea Company
This plugin is absolutely free of charge and follows the LGPL license.
However to obtain the detailled statistics, some informations are required from the user :
Are transmitted :
No code is transmitted. We absolutely respect privacy and intellectual property of the code we are auditing. Tocea and their sofwares never transmit any piece of code.
Sylvain Leroy
2012-05-11
Link to the web site that advertise our project : www.tocea.com
Link to the statistics web site TechDebt
jorge costa
2012-09-30
Hi,
Im trying to test this plugin but not getting anywhere. Using 1.1.21 version:
[INFO] [13:10:34.530] Execute Scertify Refactoring Assessment postJob...
[INFO] [13:10:35.068] Audit project com.bla:bla...
[DEBUG] [13:10:35.164] user authenticated
[DEBUG] [13:10:35.165] violations loaded
[DEBUG] [13:10:35.169] Reload the data measure: dsm, id=100425301
[ERROR] [13:10:35.287] null
java.lang.NullPointerException: null
at com.tocea.sra.server.audit.DTOFactory.initAuditRules(DTOFactory.java:217) ~[na:na]
at com.tocea.sra.server.audit.DTOFactory.createAudit(DTOFactory.java:315) ~[na:na]
at com.tocea.sra.server.audit.ToceaPostJob.auditProject(ToceaPostJob.java:166) ~[na:na]
at com.tocea.sra.server.audit.ToceaPostJob.checkModules(ToceaPostJob.java:261) ~[na:na]
at com.tocea.sra.server.audit.ToceaPostJob.executeOn(ToceaPostJob.java:111) ~[na:na]
at org.sonar.batch.phases.PostJobsExecutor.execute(PostJobsExecutor.java:63) [sonar-batch-3.2.jar:na]
at org.sonar.batch.phases.PostJobsExecutor.execute(PostJobsExecutor.java:54) [sonar-batch-3.2.jar:na]
at org.sonar.batch.phases.Phases.execute(Phases.java:102) [sonar-batch-3.2.jar:na]
at org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:139) [sonar-batch-3.2.jar:na]
at org.sonar.batch.bootstrap.Module.start(Module.java:83) [sonar-batch-3.2.jar:na]
at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:131) [sonar-batch-3.2.jar:na]
at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:121) [sonar-batch-3.2.jar:na]
at org.sonar.batch.bootstrap.Module.start(Module.java:83) [sonar-batch-3.2.jar:na]
at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:121) [sonar-batch-3.2.jar:na]
at org.sonar.batch.bootstrap.Module.start(Module.java:83) [sonar-batch-3.2.jar:na]
at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:73) [sonar-batch-3.2.jar:na]
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:60) [sonar-batch-3.2.jar:na]
at org.sonar.maven.SonarMojo.execute(SonarMojo.java:150) [sonar-maven-plugin-3.2.jar:na]
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [maven-2.2.1-uber.jar:2.2.1]
at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:98) [sonar-maven-plugin-1.0.jar:na]
at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:79) [sonar-maven-plugin-1.0.jar:na]
at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:88) [sonar-maven-plugin-1.0.jar:na]
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) [maven-2.2.1-uber.jar:2.2.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_34]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_34]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_34]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_34]
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) [classworlds-1.1.jar:1.1]
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) [classworlds-1.1.jar:1.1]
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) [classworlds-1.1.jar:1.1]
at org.codehaus.classworlds.Launcher.main(Launcher.java:375) [classworlds-1.1.jar:1.1]
[INFO] [13:10:35.303] Execute Scertify Refactoring Assessment postJob done: 773 ms
Seems this is related with database, since if i use the default derby database than i dont get this problem.
Database: postgresql 9.2
Windows 7 64 bit
Sonar 3.2
Thanks in advance,
Jorge Costa
Sylvain Leroy
2012-09-30
Thanks for the feed-back!
We will check the problem this week and comes with an answer to you.
Could you send us the demo-project you are using ?
Thanks,
Sylvain.
On 30/09/2012 12:55, jorge costa wrote:
Hi,
Im trying to test this plugin but not getting anywhere. Using 1.1.21
version:INFO 13:10:34.530 Execute Scertify Refactoring Assessment postJob...
INFO 13:10:35.068 Audit project com.bla:bla...
DEBUG 13:10:35.164 user authenticated
DEBUG 13:10:35.165 violations loaded
DEBUG 13:10:35.169 Reload the data measure: dsm, id=100425301
ERROR 13:10:35.287 null
java.lang.NullPointerException: null
at
com.tocea.sra.server.audit.DTOFactory.initAuditRules(DTOFactory.java:217)
~na:na
at
com.tocea.sra.server.audit.DTOFactory.createAudit(DTOFactory.java:315)
~na:na
at
com.tocea.sra.server.audit.ToceaPostJob.auditProject(ToceaPostJob.java:166)
~na:na
at
com.tocea.sra.server.audit.ToceaPostJob.checkModules(ToceaPostJob.java:261)
~na:na
at
com.tocea.sra.server.audit.ToceaPostJob.executeOn(ToceaPostJob.java:111)
~na:na
at
org.sonar.batch.phases.PostJobsExecutor.execute(PostJobsExecutor.java:63)
sonar-batch-3.2.jar:na
at
org.sonar.batch.phases.PostJobsExecutor.execute(PostJobsExecutor.java:54)
sonar-batch-3.2.jar:na
at org.sonar.batch.phases.Phases.execute(Phases.java:102)
sonar-batch-3.2.jar:na
at
org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:139) sonar-batch-3.2.jar:na
at org.sonar.batch.bootstrap.Module.start(Module.java:83)
sonar-batch-3.2.jar:na
at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:131)
sonar-batch-3.2.jar:na
at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:121)
sonar-batch-3.2.jar:na
at org.sonar.batch.bootstrap.Module.start(Module.java:83)
sonar-batch-3.2.jar:na
at
org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:121)
sonar-batch-3.2.jar:na
at org.sonar.batch.bootstrap.Module.start(Module.java:83)
sonar-batch-3.2.jar:na
at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:73)
sonar-batch-3.2.jar:na
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:60)
sonar-batch-3.2.jar:na
at org.sonar.maven.SonarMojo.execute(SonarMojo.java:150)
sonar-maven-plugin-3.2.jar:na
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
maven-2.2.1-uber.jar:2.2.1
at
org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:98)
sonar-maven-plugin-1.0.jar:na
at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:79)
sonar-maven-plugin-1.0.jar:na
at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:88)
sonar-maven-plugin-1.0.jar:na
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
maven-2.2.1-uber.jar:2.2.1
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
maven-2.2.1-uber.jar:2.2.1
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
maven-2.2.1-uber.jar:2.2.1
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
maven-2.2.1-uber.jar:2.2.1
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
maven-2.2.1-uber.jar:2.2.1
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284)
maven-2.2.1-uber.jar:2.2.1
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
maven-2.2.1-uber.jar:2.2.1
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
maven-2.2.1-uber.jar:2.2.1
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
maven-2.2.1-uber.jar:2.2.1
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
maven-2.2.1-uber.jar:2.2.1
at
org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) maven-2.2.1-uber.jar:2.2.1
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~na:1.6.0_34
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
~na:1.6.0_34
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~na:1.6.0_34
at java.lang.reflect.Method.invoke(Method.java:597) ~na:1.6.0_34
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
classworlds-1.1.jar:1.1
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
classworlds-1.1.jar:1.1
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
classworlds-1.1.jar:1.1
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
classworlds-1.1.jar:1.1
INFO 13:10:35.303 Execute Scertify Refactoring Assessment postJob
done: 773 msSeems this is related with database, since if i use the default derby
database than i dont get this problem.Database: postgresql 9.2
Windows 7 64 bit
Sonar 3.2Thanks in advance,
Jorge Costa
Sent from sourceforge.net because you indicated interest in
https://sourceforge.net/p/scertify-sonar/wiki/Home/To unsubscribe from further messages, please visit
https://sourceforge.net/auth/prefs/
jorge costa
2012-09-30
Hi,
Ive tried different projects, guess the log above was from one of our projects in the company. But also did try with the cxx sonar plugin with the same result. http://docs.codehaus.org/pages/viewpage.action?pageId=185073817.
We are having the sonar user and sonar as password in the postgres database.
Thanks for the help.
Jorge Costa
Sebastien Carreau
2012-10-01
Hello Jorge,
We did some tests on our side with Sonar 3.2 and a postgres database without encountered any problem.
But also did try with the cxx sonar plugin with the same result.
What did you mean ? Have you tried to analyze projects without any plugin ?
What kind of projects do you have (Java, C, C++...) ?
Regards,
Sébastien Carreau
jorge costa
2012-10-01
Ive tried with sonar cxx plugin (java) and got the problem, ive also tried with inhouse c++ project and c# projects with same result. All work with the derby db. Im using Apache Maven 2.2.1 to do the analysis. Maybe this is the problem, had issues with another plugin when using this version.
Java version: 1.6.0_34
jorge costa
2012-10-02
Tried with sonar runner with same result, cannot figure out what is the problem. I will try to debug the plugin using the source code. But for this i need to compile the sources, and in this case im getting
The build could not read 1 project -> [Help 1]
The project com.tocea:ScertifyRefactoringAssessment:1.1.19-SNAPSHOT (C:\dev\sonar\plugins\scertify-sonar-code\SonarPlugin\pom.xml) has 1 error
Non-resolvable parent POM: Failure to find com.tocea:ToceaSoftwares:pom:1.3.0 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 5, column 13 -> [Help 2]
To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.
Think i need to add some references into the .m2 folder, on can i go over this?
Thanks
Sebastien Carreau
2012-10-02
According to the error in the stacktrace it seems that the error comes from Sonar (the npe comes from a Sonar rule with a severity which is null), perhaps the database is corrupted.
What is the result of a Sonar analysis without any plugins (with postgres database) ?
Can you see Sonar results on web pages ? Are they the same with a derby database ?
I suggest you reinstall Sonar with an empty database and retry analysis.
For compile our project you can delete the parent dependency.
jorge costa
2012-10-02
So, in my case i will need to investigate what rule is causing this. Since apparently i have no problems looking or analyzing projects (the same for the derby database). I can try to dump all the rules with wsclient api and see which ones have severity null. This however i can believe since we normally due a lot of changes to the profiles, adding custom rules and other things.
I cannot reinstall sonar + retry is not an option since we are having a long history that can not be lost. I will try to compile and check what is the rule.
Removing the parent dependency, cause this:
The POM for com.tocea.frameworks:XmlUtilsAPI:jar:1.3.5 is missing, no dependency information available
The POM for com.tocea.frameworks:Internationalization:jar:1.3.5 is missing, no dependency information available
The POM for com.tocea.frameworks:BaseAPI:jar:1.3.5 is missing, no dependency information available
The POM for com.tocea.codewatch.platform.api:UserAPI:jar:1.5.46 is missing, no dependency information available
The POM for com.tocea.codewatch.platform:ScertifyLauncher:jar:1.6.7 is missing, no dependency information available
The POM for com.tocea.codewatch.platform.api:CoreAPI:jar:1.5.46 is missing, no dependency information available
The POM for com.tekla:sragui:jar:1.1.19-SNAPSHOT is missing, no dependency information available
jorge costa
2012-10-02
Try dumping with the wsclient and did not see anything out of ordinary. All rules having a severity different than null defined, ive attached the dump. So i will wait for instructions on how to compile
Sebastien Carreau
2012-10-02
I've created a ticket to continue discussion.
Mohamed reda
2012-10-05
hello
i have a Jenkins Job for Sonar analyse (sonar V 3.0) all the build of the Job is done but in the last i dont have a page result in Tocea Scertify™ Refactoring Assessment's page in Sonar :(
this is the error in Jenkins Build :
have you any solution for this problem please !!
[INFO] [15:41:36.536] ANALYSIS SUCCESSFUL, you can browse http://10.68.252.171:8093/sonar
[INFO] [15:41:36.540] Executing post-job class org.sonar.plugins.core.batch.IndexProjectPostJob
[INFO] [15:41:36.859] Executing post-job class com.tocea.sra.server.audit.ToceaPostJob
[INFO] [15:41:36.859] Execute Scertify Refactoring Assessment postJob...
[INFO] [15:41:37.648] Audit project com.capgemini:covoiturage...
[ERROR] [15:41:38.141] null
java.lang.NullPointerException: null
at com.tocea.sra.server.audit.DTOFactory.initAuditRules(DTOFactory.java:217) ~[na:na]
at com.tocea.sra.server.audit.DTOFactory.createAudit(DTOFactory.java:315) ~[na:na]
at com.tocea.sra.server.audit.ToceaPostJob.auditProject(ToceaPostJob.java:166) ~[na:na]
at com.tocea.sra.server.audit.ToceaPostJob.checkModules(ToceaPostJob.java:261) ~[na:na]
at com.tocea.sra.server.audit.ToceaPostJob.executeOn(ToceaPostJob.java:111) ~[na:na]
at org.sonar.batch.phases.PostJobsExecutor.execute(PostJobsExecutor.java:63) [sonar-batch-3.0.jar:na]
at org.sonar.batch.phases.PostJobsExecutor.execute(PostJobsExecutor.java:54) [sonar-batch-3.0.jar:na]
at org.sonar.batch.phases.Phases.execute(Phases.java:102) [sonar-batch-3.0.jar:na]
at org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:143) [sonar-batch-3.0.jar:na]
at org.sonar.batch.bootstrap.Module.start(Module.java:83) [sonar-batch-3.0.jar:na]
at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:115) [sonar-batch-3.0.jar:na]
at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:105) [sonar-batch-3.0.jar:na]
at org.sonar.batch.bootstrap.Module.start(Module.java:83) [sonar-batch-3.0.jar:na]
at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:109) [sonar-batch-3.0.jar:na]
at org.sonar.batch.bootstrap.Module.start(Module.java:83) [sonar-batch-3.0.jar:na]
at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:72) [sonar-batch-3.0.jar:na]
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:59) [sonar-batch-3.0.jar:na]
at org.sonar.maven.SonarMojo.execute(SonarMojo.java:151) [sonar-maven-plugin-3.0.jar:na]
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [maven-2.2.1-uber.jar:2.2.1]
at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:98) [sonar-maven-plugin-1.0.jar:na]
at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:79) [sonar-maven-plugin-1.0.jar:na]
at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:88) [sonar-maven-plugin-1.0.jar:na]
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) [maven-2.2.1-uber.jar:2.2.1]
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) [maven-2.2.1-uber.jar:2.2.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_26]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_26]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_26]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_26]
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) [classworlds-1.1.jar:1.1]
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) [classworlds-1.1.jar:1.1]
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) [classworlds-1.1.jar:1.1]
at org.codehaus.classworlds.Launcher.main(Launcher.java:375) [classworlds-1.1.jar:1.1]
[INFO] [15:41:38.147] Execute Scertify Refactoring Assessment postJob done: 1288 ms
jorge costa
2012-10-05
check the ticket that was open.
Mohamed reda
2012-10-05
Thank you Mr Jorge Costa :)