PatternTesting 1.7 depends now on Java 7 and switched form SLF4J to version 2 of Log4J.
If you use "jdbc:prox:..." as JDBC-URL you will be warned after an update command on the database if you forgot to commit the DB statements.
PatternTesting 1.6 uses now Java 6. And the classloader of Tomcat 8 is now supported by the ClasspathMonitor (Note: the ClasspathMonitor in 1.6.0 can hang in some circumstances - this problem is fixed in 1.6.1).
PatternTesting 1.5 provides "jdbc:proxy:..." as JDBC-URL to enable DB monitoring. It allows you also the profiling and logging of SQL statements (s. SQL Logging and Monitoring).
Since 1.4 it is possible to log method calls as sequence diagram (s. Generation of Sequence Diagrams). This feature is classified still as "experimental".
To be the Minesweeper of Your Java Code!
Do you known the computer game "minesweeper"? There you have to find the mines in a field. If you are not careful and hit a field with a mine the game is over.
PatternTesting is not a game but it gives you hints where there may be mines in your software. It is up to you to remove the mines before they explode at the users of your application or damage your database.
Find the mines in your code before your users will find them. Otherwise: GAME OVER!
PatternTesting is a testing framework that allows to automatically verify that Architecture/Design/Best practices recommendations are implemented correctly in the code. It uses AOP and AspectJ to perform this feat. Read the What is Pattern Testing page for more details.
This project delivers several types of artifacts:
Why was it splitted into several subprojects? One reason was Maven. Maven recommends to use produce only one artifact per project. But the main reason are performance issues. If you use Eclipse 3.3 especially the old patterntesting-check library (which is now splitted) slows down the compile process. Now you can choose which part of PatternTesting you want to use in your project.
Errors in code can be annoying. Especially when they pop up in production and you realize that this kind of error could be have been prevented. There are antipatterns known in the internet which describes the cause of such errors and what you can to to prevent them. PatternTesting helps you to detect some common antipatterns and violation of common practices.
If you use Eclipse as Java IDE you need the AJDT plugin.
If you use another IDE use the leatest stable version of the AspectJ compiler, but at least the version 1.7.3. This is the same version as the version of the Eclipse AspectJ plugin (AJDT). Older versions will also work but newer versions are faster.
|06/01/2017||switch to Java 7 and version 2 of Log4J|
|17/08/2016||enhancements for JMX|
|29/02/2016||leap year version|
|06/01/2016||finally changed to Java 6|
|04/07/2015||Format of websequence diagrams is supported in 1.5.2.|
|26/01/2015||Patterns can now be used in 1.5.1 to exclude classes from checks done by the different XxxTester classes.|
|06/01/2015||ClasspathMonitor in 1.5.0 is now more familiar with WebSphere's classloader|
|14/06/2014||1.4.3 allows the logging of SQL statements in DEBUG level.|
|05/05/2014||1.4.2 allows you to profile SQL statements and monitor it via JMX (with the SqlStatistics MBean).|
|06/04/2014||With 1.4.1 you can enable DB monitoring by using "jdbc:proxy..." as JDBC URL.|
|06/01/2014||With 1.4.0 the generation of sequence diagrams is possible.|
|06/01/2013||Delivery of 1.3.0|
|15/07/2012||Delivery of 1.2.20|
|23/03/2012||Delivery of jubilee release 1.2.10-YEARS|
|06/01/2012||Delivery of 1.2.0|
|22/04/2011||Delivery of 1.1.0 for the Stuttgarter Test-Tage 2011|
|18/10/2010||Delivery of 1.0.3 and upload to oss.sonatype.org|
|08/09/2010||Delivery of 1.0.2|
|18/07/2010||Delivery of 1.0.1|
|20/06/2010||Delivery of 1.0.0|
|28/01/2010||talk "Pleiten, Pech und PatternTesting" at the OOP 2010 in Munich|
|22/01/2010||Christian Heise joins the Pattern Testing project. Welcome Chris!|
|02/01/2010||Begin with 1.0 and move to patterntesting.org|
|20/12/2009||Delivery of version 0.9.8 (probably the last 0.9 version)|
|11/09/2009||Begin to deliver version 0.9.7 with improved patterntesing-samples.|
|20/06/2009||Hector Tenedero joins the Pattern Testing project. Welcome Hector!|
|02/05/2009||Delivery of version 0.9.6 for the Stuttgarter Test-Tage 2009.|
|30/03/2009||after the project split (patterntesting-exception, patterntesting-concurrent, patterntesting-check-ct, patterntesting-check-rt) all sub projects have now version 0.9.5|
|26/03/2009||PatternTesting Check is now splitted into a static part (PatternTesting Check.CT for checks during compile time) and a dynamic part (PatternTesting Check.RT for checks during runtime)|
Exception support is now moved into its own project
- PatternTesting Exception
Thread and concurrency support is also moved into its own project - PatternTesting Concurrent
|20/03/2009||release of 0.9 for patterntesting-rt, patterntesting-check, patterntesting-samples and patterntesting-tools.|
|12/12/2008||PatternTesting 0.8.0, redesign and split into several subprojects. Avalon is no longer support because this project is dead. If you need Avalon support use PatternTesting 0.6.x.|
|24/11/2008||Marko Umek joins the Pattern Testing project. Welcome Marko!|
|03/11/2008||PatternTesting 0.6.1 has been released.|
|05/10/2008||PatternTesting 0.6.0 has been released.|
|09/09/2008||begin with PatternTesting 0.6.0 with support of AspectJ 1.6 and Java 6|
|27/04/2008||PatternTesting 0.5.1 has been released.|
|23/04/2008||Got some new ideas for the AbstractNullPointerTrap on a BOF session about AOP on the JAX. You can now use annotations (@NullArgsAllowed and @MayReturnNull) to mark methods.|
|28/01/2008||PatternTesting 0.5.0 has been released.|
|06/01/2008||Switched to Maven 2. Documentation is now generated with it.|
|May 2007||Joined the project (Oliver Boehm). I will try to reactivate it.|
|20/02/2004||Shohara Shaikh joins the Pattern Testing project. Welcome Shohara!|
|10/11/2004||Xavier Warzee joins the Pattern Testing project. Welcome Xavier!|
|15/09/2004||PatternTesting 0.3 has been released.|
|11/08/2004||Work begins on the project again. Updated .3dev version to be compatible with maven 1.0 and aspectj 1.2. More enhancements to follow!|
|25/04/2004||Added support for AspectJ 1.1.1|
|19/04/2004||New StackTrace Pattern Test.|
|03/03/2004||Matt Smith takes the lead and gives a new life to the Pattern Testing project. Welcome Matt!|
|28/9/2002||New ThreadSafe Pattern Test (part of the Avalon Pattern Test Suite).|
|22/9/2002||New Database Pattern Test.|
|18/9/2002||Jitendra Joshi joins the Pattern Testing team!|
|15/9/2002||Version 0.2 has been released. It now contains a fully working Maven plugin. In addition, the AspectJ extension has been much improved and is now based on the AspectJ Ajc Ant task which it extends.|
|14/9/2002||Version 0.1 has been released. At the moment it only contains an AspectJ extension to generate AJC results in XML. It will be used for the MAven plugin later on in order to generate HTML reports.|
|12/9/2002||Reorganisation of the project structure and build (we are now using Maven).|
|12/9/2002||Jerome Bernard joins the Pattern Testing team!|
|11/9/2002||Steve Donagh joins the Pattern Testing team!|
|13/6/2002||Stephen Cheng joins the Pattern Testing team!|
|23/3/2002||Start of the Pattern Testing project.|