In the last 10 years CPUs have evolved focusing on performance improvements based on the introduction of multi-core architectures forcing developers to build software in a completely different way. Concurrent programming is now the main approach to improve performances in any software product. Unfortunately, this paradigm is prone to bugs which are particularly hard to fix, since their occurrence depends on specific thread interleaving. The paper investigates bugs related to concurrency analyzing their characteristics with machine learning methods to automatically distinguish them from other kinds of bugs based on the data available in the issue tracking systems and in the code repositories. The best model we developed for Apache HTTP Server has a precision of 0.97 and a recall of 0.843 when considering linked bugs (bug reports information in bug repository and the corresponding fix in the version control system).
An Initial Investigation of Concurrency Bugs in Open Source Systems
Ciancarini, Paolo;Poggi, Francesco;
2018
Abstract
In the last 10 years CPUs have evolved focusing on performance improvements based on the introduction of multi-core architectures forcing developers to build software in a completely different way. Concurrent programming is now the main approach to improve performances in any software product. Unfortunately, this paradigm is prone to bugs which are particularly hard to fix, since their occurrence depends on specific thread interleaving. The paper investigates bugs related to concurrency analyzing their characteristics with machine learning methods to automatically distinguish them from other kinds of bugs based on the data available in the issue tracking systems and in the code repositories. The best model we developed for Apache HTTP Server has a precision of 0.97 and a recall of 0.843 when considering linked bugs (bug reports information in bug repository and the corresponding fix in the version control system).I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.