ICSE 2020 NIER Paper – “Automatically Predicting Bug Severity Early in the Development Process”

SEER Lab’s Jude Arokiam and Jeremy Bradbury‘s paper “Automatically Predicting Bug Severity Early in the Development Process,” has been accepted for publication in the New Ideas and Emerging Results (NIER) track at the 42nd International Conference on Software Engineering (ICSE 2020). The paper uses the AutoBugTriager tool which is available as an open source project.

Safety, Testing and Self-Driving Cars

Any system where erroneous behaviour can lead to serious injury or a potential loss of life is classified as a safety critical system. This is true for self-driving or autonomous vehicles where a vehicle malfunction can lead to the injury or death of the driver, passengers or others outside the vehicle. The potential for injuryContinue reading “Safety, Testing and Self-Driving Cars”

The 20th Anniversary of Y2K

“Y2K is a great case study that we can use to talk about best practices for how we develop software today.” SQR Lab leader Prof. Jeremy Bradbury was interviewed recently by Aaron Streck of Global News Durham for the 20th anniversary of the Y2K (Millennium) bug. You can watch the news segment and read theContinue reading “The 20th Anniversary of Y2K”

A Canadian Guide to the Heartbleed Bug

What is the Heartbleed Bug? The Heartbleed bug is a recently identified bug in the OpenSSL security protocol toolkit. OpenSSL is widely used on web servers to encrypt user data.In general, software bugs are computer program error that cause the software to behave in an unexpected way (e.g., crash, produce a wrong output). Security bugs are aContinue reading “A Canadian Guide to the Heartbleed Bug”

Interesting Quotes from AMD Canada Event

On March 7th of last year I attended an OCE event called the “AMD HSA and Heterogeneous Computing Research Showcase.” I recently came across my notes from the event and I thought a few quotes from the keynote speaker, Phil Rogers from AMD Canada,  were worth sharing. Phil Rogers on AMD’s commitment to open industryContinue reading “Interesting Quotes from AMD Canada Event”

Empirical Methods Should Guide the Development of New Software Engineering Tools

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”

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”

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”

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”