GobPie: An IDE Integration for Goblint Using MagpieBridge
Goblint is a static analysis tool for C-programs based on abstract interpretation. It supports the sound analysis of multithreaded code, with an extensive value analysis. This includes analyses for pointers, held locks, as well as tracking interval, bounded set and relational information about integers. Goblint can generate warnings about possible data races, NULL-dereferences, out-of-bounds accesses of arrays, and (signed) integer overflows, among others. Due to its modular architecture, extending the framework with further analyses only requires implementing transfer functions for the new analysis. All analyses can communicate with each other to share and refine their information. Previously, it was only possible to use Goblint via the command line, producing an HTML- or SARIF-output. We aimed for better usability by making an IDE integration available. As a result, we started developing GobPie, a MagpieBridge interface for Goblint. GobPie can display warnings produced by Goblint in the supported IDEs. For better integration, a server mode was developed for Goblint that communicates with GobPie via IPC-sockets. This way, restarting the analyzer and processing the configuration for every command can be avoided. For better usability, care was taken to communicate to the user the current processing status of the analyzer. In our presentation, we also report on further modifications applied to Goblint to improve IDE integration and sketch directions for future development.
Slides (PRIDE - GobPie.pdf) | 2.85MiB |
Tue 7 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
09:00 - 10:30 | |||
09:15 15mTalk | Welcome by the Organizers PRIDE | ||
09:30 25mTalk | A GitLab IDE Integration Based on MagpieBridge PRIDE Julian Thome GitLab Inc. File Attached | ||
09:55 35mTalk | GobPie: An IDE Integration for Goblint Using MagpieBridge PRIDE File Attached |