Lourenço, João M.2019-05-132019-05-132018-01-01978-3-030-03426-9978-3-030-03427-60302-9743PURE: 13025381PURE UUID: 44b9e5c6-dfd4-4172-8d22-ae97df0c1580Scopus: 85056462952ORCID: /0000-0002-8495-6442/work/65023995http://www.scopus.com/inward/record.url?scp=85056462952&partnerID=8YFLogxKNOVA LINCS (UID/CEC/ 04516/2013) (FCT/MEC) in the framework of the HiPsTr research project (02/SAICT/2017– 032456)In this paper we present Contracts for Concurrency. A contract for concurrency specifies the protocol to access the services provided by a software module or library. A program that respects a (well-defined and complete) contract for a module is safe from high-level atomicity violations with respect to that module. On the other hand, violations of a contract may denote errors in the program, and the application of contracts for concurrency to some real-world open source software packages did uncover a few latent bugs.4235867engTheoretical Computer ScienceGeneral Computer ScienceVerifying real-world software with contracts for concurrencyconference object10.1007/978-3-030-03427-6_9https://www.scopus.com/pages/publications/85056462952