Concurrent Program Metrics Drawn by Quasar
Résumé
Aiming at developing reliable concurrent software, the engineering practice uses appropriate metrics. Our tool Quasar analyses automatically the concurrent part of programs and produces data reporting its analysis process. We attempt to use the data as metrics for concurrent programming. The first aim of Quasar is the validation of concurrent code; in addition, the reported data may be relevant to mark the quality of code, to evaluate different concurrency semantics, to compare the execution indeterminism of different implementations of a concurrency pattern and to estimate the scalability of a solution. As a case study we analyse with Quasar several implementations of a distributed symmetric non-deterministic rendezvous algorithm. We consider two possible uses of the collected data for indeterminism estimation and for concurrent software quality.