What’s New for Concurrency in Java SE 8?

Java SE 8 was officially released yesterday (March 18th) and given the fact that Java 7 was released back in 2012, there are definitely lots of updates and new features. These updates include improvements to the Java language itself, Java security, Java tools and more. Although a lot of these updates are interesting and importantContinue reading “What’s New for Concurrency in Java SE 8?”

Predicting Mutation Scores

Last week my MSc student, Kevin Jalbert, presented his early thesis results at the Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE 2012). The workshop took place in Zurich Switzerland and was colocated with ICSE 2012. The title of the presentation (and the paper that appears in the proceedings) was “Predicting Mutation Score Using SourceContinue reading “Predicting Mutation Scores”

Good Resources for Learning to Program with Concurrency

With the increase in multicore processors there has been an increase in demand for concurrent programming and an increase in books and resources that focus on programming with concurrency. Below I will outline some of the books on my own bookshelf that have been useful.

Static Analysis Tools for Concurrency

FindBugs – works on Java. In the list of bugs detected all of the “Multithreaded correctness” bugs are relevant to concurrency. Command-line interface or eclipse plugin (eclipse plugin update site:http://findbugs.cs.umd.edu/eclipse/) Lint – a UNIX tool for C JLint – a Java version of Lint that is available as stand alone or eclipse plugin (eclipse plugin update site:http://www.jutils.com/eclipse-update) ParasoftContinue reading “Static Analysis Tools for Concurrency”

Software Testing Tools for Concurrency

As the use of concurrency in software increases there are more software testing tools being developed in both industry an academia. Below is a fairly comprehensive list of tools (mainly for Java): ConTest – IBM concurrent testing tool that inserts random delays into Java bytecode ConAn – a thread testing tool for Java CHESS – a Microsoft toolContinue reading “Software Testing Tools for Concurrency”