@conference {inforum:2013:sousa,
	title = {Preven{\c c}{\~a}o de Viola{\c c}{\~o}es de Atomicidade usando Contractos},
	booktitle = {Proceedings of INForum Simp{\'o}sio de Inform{\'a}tica},
	series = {INForum 2013},
	year = {2013},
	note = {<p>n/a</p>
},
	month = {sep},
	pages = {190{\textendash}201},
	publisher = {Faculdade de Ci{\^e}ncias e Tecnologia da Universidade Nova de Lisboa},
	organization = {Faculdade de Ci{\^e}ncias e Tecnologia da Universidade Nova de Lisboa},
	address = {Lisbon, Portugal},
	abstract = {<p>A programa{\c c}{\~a}o concorrente obriga o programador a sincronizar os acessos concorrentes a regi{\~o}es de mem{\'o}ria partilhada, contudo esta abordagem n{\~a}o {\'e} suficiente para evitar todas as anomalias que podem ocorrer num cen{\'a}rio concorrente. Executar uma sequ{\^e}ncia de opera{\c c}{\~o}es at{\'o}micas pode causar viola{\c c}{\~o}es de atomicidade se existir uma correla{\c c}{\~a}o entre essas opera{\c c}{\~o}es, devendo o programador garantir que toda a sequ{\^e}ncia de opera{\c c}{\~o}es {\'e} executada atomicamente. Este problema {\'e} especialmente comum quando se usam opera{\c c}{\~o}es de pacotes ou m{\'o}dulos de terceiros, pois o programador pode identificar incorretamente o {\^a}mbito das regi{\~o}es de c{\'o}digo que precisam de ser at{\'o}micas para garantir o correto comportamento do programa. Para evitar este problema o programador do m{\'o}dulo pode criar um contrato que especifica quais as sequ{\^e}ncias de opera{\c c}{\~o}es do m{\'o}dulo que devem ser sempre executadas de forma at{\'o}mica. Este trabalho apresenta uma an{\'a}lise est{\'a}tica para verifica{\c c}{\~a}o destes contratos.</p>
},
	keywords = {oral_communication},
	attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/inforum2013-sousa.pdf},
	author = {Sousa, Diogo G. and Ferreira, Carla and Jo{\~a}o M. Louren{\c c}o}
}
