The previous functionalities are maintained free, with security appliance. To download the new version, please visit the website www.tocea.com
Scertify™ 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. **
Link to the web site that advertise our project : www.tocea.com
Link to the statistics web site TechDebt
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
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,
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
Last edit: 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.
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
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
Last edit: jorge costa 2012-10-01
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
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.
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
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
I've created a ticket to continue discussion.
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
check the ticket that was open.
Thank you Mr Jorge Costa :)