{"department":[{"_id":"KrCh"}],"acknowledgement":"This research was supported in part by the National Science Foundation CAREER award CCR-0132780, by the ONR grant N00014-02-1-0671, by the National Science Foundation grants CCR-0427202 and CCR-0234690, and by the ARP award TO.030.MM.D.","month":"04","date_created":"2018-12-11T12:01:29Z","citation":{"ista":"Chatterjee K, De Alfaro L, Faella M, Majumdar R, Raman V. 2013. Code aware resource management. Formal Methods in System Design. 42(2), 142–174.","chicago":"Chatterjee, Krishnendu, Luca De Alfaro, Marco Faella, Ritankar Majumdar, and Vishwanath Raman. “Code Aware Resource Management.” Formal Methods in System Design. Springer, 2013. https://doi.org/10.1007/s10703-012-0170-4.","apa":"Chatterjee, K., De Alfaro, L., Faella, M., Majumdar, R., & Raman, V. (2013). Code aware resource management. Formal Methods in System Design. Springer. https://doi.org/10.1007/s10703-012-0170-4","ama":"Chatterjee K, De Alfaro L, Faella M, Majumdar R, Raman V. Code aware resource management. Formal Methods in System Design. 2013;42(2):142-174. doi:10.1007/s10703-012-0170-4","mla":"Chatterjee, Krishnendu, et al. “Code Aware Resource Management.” Formal Methods in System Design, vol. 42, no. 2, Springer, 2013, pp. 142–74, doi:10.1007/s10703-012-0170-4.","short":"K. Chatterjee, L. De Alfaro, M. Faella, R. Majumdar, V. Raman, Formal Methods in System Design 42 (2013) 142–174.","ieee":"K. Chatterjee, L. De Alfaro, M. Faella, R. Majumdar, and V. Raman, “Code aware resource management,” Formal Methods in System Design, vol. 42, no. 2. Springer, pp. 142–174, 2013."},"day":"01","status":"public","publisher":"Springer","year":"2013","page":"142 - 174","date_published":"2013-04-01T00:00:00Z","user_id":"2DF688A6-F248-11E8-B48F-1D18A9856A87","type":"journal_article","date_updated":"2021-01-12T07:41:10Z","publist_id":"3583","volume":42,"language":[{"iso":"eng"}],"intvolume":" 42","scopus_import":1,"quality_controlled":"1","title":"Code aware resource management","_id":"3116","doi":"10.1007/s10703-012-0170-4","author":[{"id":"2E5DCA20-F248-11E8-B48F-1D18A9856A87","last_name":"Chatterjee","orcid":"0000-0002-4561-241X","full_name":"Chatterjee, Krishnendu","first_name":"Krishnendu"},{"last_name":"De Alfaro","first_name":"Luca","full_name":"De Alfaro, Luca"},{"last_name":"Faella","first_name":"Marco","full_name":"Faella, Marco"},{"last_name":"Majumdar","first_name":"Ritankar","full_name":"Majumdar, Ritankar"},{"first_name":"Vishwanath","full_name":"Raman, Vishwanath","last_name":"Raman"}],"oa_version":"None","abstract":[{"lang":"eng","text":"Multithreaded programs coordinate their interaction through synchronization primitives like mutexes and semaphores, which are managed by an OS-provided resource manager. We propose algorithms for the automatic construction of code-aware resource managers for multithreaded embedded applications. Such managers use knowledge about the structure and resource usage (mutex and semaphore usage) of the threads to guarantee deadlock freedom and progress while managing resources in an efficient way. Our algorithms compute managers as winning strategies in certain infinite games, and produce a compact code description of these strategies. We have implemented the algorithms in the tool Cynthesis. Given a multithreaded program in C, the tool produces C code implementing a code-aware resource manager. We show in experiments that Cynthesis produces compact resource managers within a few minutes on a set of embedded benchmarks with up to 6 threads. © 2012 Springer Science+Business Media, LLC."}],"publication_status":"published","issue":"2","publication":"Formal Methods in System Design"}