@conference {Sousa:2012:inforum,
	title = {Aplica{\c c}{\~a}o do Fecho de Programas na Dete{\c c}{\~a}o de Anomalias de Concorr{\^e}ncia},
	booktitle = {INForum 2012: Proceedings of INForum Simp{\'o}sio de Inform{\'a}tica},
	year = {2012},
	note = {<p>n/a</p>
},
	month = {6 Sep.},
	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 = {Monte de Caparica, PT},
	abstract = {<p>Uma das estrat{\'e}gias para tirar partido dos m{\'u}ltiplos processadores dispon{\'\i}veis nos computadores atuais passa por adaptar c{\'o}digo legado, inicialmente concebido para ser executado num contexto meramente sequencial, para ser agora executado num contexto multithreading. Nesse processo de adapta{\c c}{\~a}o {\'e} necess{\'a}rio proteger apropriadamente os dados que s{\~a}o agora partilhados e acedidos por diferentes threads concorrentes. A prote{\c c}{\~a}o dos dados com locks usando uma granulosidade grossa inibe a concorr{\^e}ncia e op{\~o}e-se ao objetivo inicial de explorar o paralelismo suportado por m{\'u}ltiplos processadores. Por outro lado, a utiliza{\c c}{\~a}o de uma granulosidade fina pode levar {\`a} ocorr{\^e}ncia de anomalias pr{\'o}prias da concorr{\^e}ncia, como deadlocks e viola{\c c}{\~o}es de atomicidade (high-level data races). Este artigo discute o conceito de fecho de um programa e uma metodologia que, quando aplicados em conjunto, permitem adaptar c{\'o}digo legado para o tornar thread-safe, garantindo a aus{\^e}ncia de viola{\c c}{\~o}es de atomicidade na vers{\~a}o corrente do software e antecipando algumas viola{\c c}{\~o}es de atomicidade que poder{\~a}o ocorrer em vers{\~o}es futuras do mesmo software.</p>
},
	isbn = {978-972-8893-32-3" pages = {190{\textendash}201},
	attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/inforum-closure.pdf},
	author = {Sousa, Diogo G. and and Louren{\c c}o, Jo{\~a}o M. and Farchi, Eitan and Segall, Itai}
}
