Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Quasar website, http://quasar.cnam.fr/files/concurrency_papers.html
Andrews, G.R.: Concurrent programming: principles and practice. Benjamin-Cummings Publishing Co. Inc., USA (1991)
Buhr, P.A., Fortier, M., Coffin, M.H.: Monitor classification. ACM Comput. Surv. 27(1), 63–107 (1995)
Cha, S., Chung, I.S., Kwon, Y.R.: Complexity measures for concurrent programs based on information-theoretic metrics. Inf. Proc. Lett. 46(1), 43–50 (1993)
Chung, C.-M., Shih, T.K., Wang, Y.-H., Lin, W.-C., Kou, Y.-F.: Task decomposition testing and metrics for concurrent programs. In: Proc. of the 7th Int. Symposium on Software Reliability Engineering (1996)
Peled, D., Clarke, E., Grumberg, O.: Model Checking. MIT Press, Cambridge (1999)
Evangelista, S., Kaiser, C., Pradat-Peyre, J.-F., Rousseau, P.: Quasar: A New Tool for Concurrent Ada Programs Analysis. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 168–181. Springer, Heidelberg (2003)
Evangelista, S., Kaiser, C., Pradat-Peyre, J.F., Rousseau, P.: Verifying linear time temporal logic properties of concurrent ada programs with quasar. In: Proc. of the 2003 Annual ACM Int. Conf. on Ada (SIGAda 2003), pp. 17–24 (2003)
Evangelista, S., Kaiser, C., Pradat-Peyre, J.-F., Rousseau, P.: Comparing Java, C# and Ada monitors queuing policies: a case study and its Ada refinement. Ada Letters XXVI(2), 23–37 (2006)
Halstead, M.H.: Elements of Software Science. Operating and programming systems series. Elsevier Science Inc., New York (1977)
Hoare, C.A.R.: Monitors: an operating system structuring concept. Commun. ACM 17(10), 549–557 (1974)
Kaiser, C., Pajault, C., Pradat-Peyre, J.-F.: Modelling remote concurrency with Ada. Case study of symmetric non-deterministic rendez-vous. In: Abdennahder, N., Kordon, F. (eds.) Ada-Europe 2007. LNCS, vol. 4498, pp. 192–207. Springer, Heidelberg (2007)
Kaiser, C., Pradat-Peyre, J.F.: Chameneos, a concurrency game for Java, Ada and others. In: Int. Conf. ACS/IEEE AICCSA 2003 (2003)
Kessels, J.L.W.: An alternative to event queues for synchronization in monitors. Commun. ACM 20(7), 500–503 (1977)
McCabe, T.J.: A complexity measure. IEEE Transactions on Software Engineering 2, 308–320 (1976)
Brukardt, R., Tucker Taft, S., Duff, R.A., Plödereder, E.: Consolidated Ada Reference Manual. Language and Standard Libraries. LNCS, vol. 2219. Springer, Heidelberg (2001)
Geotechnical Software Services. Java programming style guidelines (2007)
Shatz, S.M.: Towards complexity metrics for Ada tasking. IEEE Trans. on Softw. Eng. 14(8), 1122–1127 (1988)
JavaRanch Project standards. Java programming style guide (2007)
Tip, F.: A survey of program slicing techniques. Journal of programming languages 3, 121–189 (1995)
Xu, B., Qian, J., Zhang, X., Wu, Z., Chen, L.: A brief survey of program slicing. SIGSOFT Softw. Eng. Notes 30(2), 1–36 (2005)
Yu, Y., Rodeheffer, T., Chen, W.: Racetrack: efficient detection of data race conditions via adaptive tracking. ACM SIGOPS OSR 39(5), 221–234 (2005)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kaiser, C., Pajault, C., Pradat-Peyre, JF. (2008). Concurrent Program Metrics Drawn by Quasar. In: Kordon, F., Vardanega, T. (eds) Reliable Software Technologies – Ada-Europe 2008. Ada-Europe 2008. Lecture Notes in Computer Science, vol 5026. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68624-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-68624-8_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68621-7
Online ISBN: 978-3-540-68624-8
eBook Packages: Computer ScienceComputer Science (R0)