The following quote is one of my favorite quotes regarding the right way to conduct Software Engineering (SE) research. It summarizes the importance of utilizing empirical methods to inspire and guide the development of new SE tools and techniques: “In all fields of SE, empirical methods should enable the development of scientific knowledge about howContinue reading “Empirical Methods Should Guide the Development of New Software Engineering Tools”
Author Archives: bradbury
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.
The Importance of Incremental Research
Last year Bertrand Meyer authored a post titled Long Live Incremental Research! at BLOG@CACM. Rather then writing my own post on the topic, I instead want to encourage people to read Meyer’s post as I think he does a great job of summarizing the importance of approaching research incrementally and not aiming for the next great breakthrough. A few quotesContinue reading “The Importance of Incremental Research”
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”
Top 4 Reasons to Study Computer Science at UOIT
[Note: This is an old post and while many of the reasons remain true some of the data is old. A new post from 2017 is not available! Top Reasons to Study Computer Science at UOIT] This Saturday, March. 3, 2012 from 10:00am-2:00pm UOIT will be hosting its annual Winter Open House for prospective studentsContinue reading “Top 4 Reasons to Study Computer Science at UOIT”
Humans and Concurrency
“…humans are quickly overwhelmed by concurrency and find it much more difficult to reason about concurrent than sequential code. Even careful people miss possible interleavings…” – Herb Sutter & James Larus, Microsoft. Software and the concurrency revolution. Queue, 3(7):54–62, 2005.
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”
Welcome!
This blog is a place where I will… discuss ongoing research projects in the Software Quality Research Group Lab discuss interesting state-of-the-art work being done in the areas of software testing, software quality assurance, concurrent software systems, distributed software systems. comment on the current state of Software Engineering — both research and practice. mention anything elseContinue reading “Welcome!”