{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:49:23Z","timestamp":1750308563207,"version":"3.41.0"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2016,1,20]],"date-time":"2016-01-20T00:00:00Z","timestamp":1453248000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2016,1,20]]},"abstract":"<jats:p>Transient hardware faults in computer systems have become widespread as shrinking structures and low supply voltages reduce the amount of energy needed to trigger a fault. This paper describes the latest improvements of a software-based fault-tolerance mechanism called Generic Object Protection (GOP). It is based on Aspect-Orientied Programming in AspectC++ and has been used in a case study to harden the L4\/Fiasco.OC microkernel. As a result, the improved GOP avoids 60% of kernel failures at an acceptable overhead of 19% code size and less than 1% runtime. The GOP improvements use static whole-program analysis and have been implemented in a prototypical manner. As an outlook, the paper presents envisioned language extensions providing whole-program control-flow and data-flow analyses in future AspectC++ versions.<\/jats:p>","DOI":"10.1145\/2883591.2883600","type":"journal-article","created":{"date-parts":[[2016,1,26]],"date-time":"2016-01-26T13:25:01Z","timestamp":1453814701000},"page":"37-43","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Hardening an L4 Microkernel Against Soft Errors by Aspect-Oriented Programming and Whole-Program Analysis"],"prefix":"10.1145","volume":"49","author":[{"given":"Christoph","family":"Borchert","sequence":"first","affiliation":[{"name":"Technische Universit\u00e4t Dortmund"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Olaf","family":"Spinczyk","sequence":"additional","affiliation":[{"name":"Technische Universit\u00e4t Dortmund"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,1,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2003.1240307"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1404891.1404893"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2011.5958244"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 1st GI Workshop on Software-Based Methods for Robust Embedded Systems (SOBRES '12)","author":"Borchert Christoph","year":"2012","unstructured":"Christoph Borchert , Horst Schirmeier , and Olaf Spinczyk . Protecting the dynamic dispatch in C++ by dependability aspects . In Proceedings of the 1st GI Workshop on Software-Based Methods for Robust Embedded Systems (SOBRES '12) , Lecture Notes in Informatics, pages 521--535. German Society of Informatics , September 2012 . Christoph Borchert, Horst Schirmeier, and Olaf Spinczyk. Protecting the dynamic dispatch in C++ by dependability aspects. In Proceedings of the 1st GI Workshop on Software-Based Methods for Robust Embedded Systems (SOBRES '12), Lecture Notes in Informatics, pages 521--535. German Society of Informatics, September 2012."},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the 2nd GI Workshop on Software-Based Methods for Robust Embedded Systems (SOBRES '13)","author":"Borchert Christoph","year":"2013","unstructured":"Christoph Borchert , Horst Schirmeier , and Olaf Spinczyk . Returnaddress protection in C\/C++ code by dependability aspects . In Proceedings of the 2nd GI Workshop on Software-Based Methods for Robust Embedded Systems (SOBRES '13) , Lecture Notes in Informatics. German Society of Informatics , September 2013 . Christoph Borchert, Horst Schirmeier, and Olaf Spinczyk. Returnaddress protection in C\/C++ code by dependability aspects. In Proceedings of the 2nd GI Workshop on Software-Based Methods for Robust Embedded Systems (SOBRES '13), Lecture Notes in Informatics. German Society of Informatics, September 2013."},{"key":"e_1_2_1_6_1","article-title":"Generic soft-error detection and correction for concurrent data structures","author":"Borchert Christoph","year":"2015","unstructured":"Christoph Borchert , Horst Schirmeier , and Olaf Spinczyk . Generic soft-error detection and correction for concurrent data structures . IEEE Transactions on Dependable and Secure Computing, PP(99) , 2015 . To appear. Christoph Borchert, Horst Schirmeier, and Olaf Spinczyk. Generic soft-error detection and correction for concurrent data structures. IEEE Transactions on Dependable and Secure Computing, PP(99), 2015. To appear.","journal-title":"IEEE Transactions on Dependable and Secure Computing, PP(99)"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509546"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2006.15"},{"key":"e_1_2_1_9_1","volume-title":"Generative Programming: Methods, Tools and Applications","author":"Czarnecki Krysztof","year":"2000","unstructured":"Krysztof Czarnecki and Ulrich W. Eisenecker . Generative Programming: Methods, Tools and Applications . Addison-Wesley , May 2000 . Krysztof Czarnecki and Ulrich W. Eisenecker. Generative Programming: Methods, Tools and Applications. Addison-Wesley, May 2000."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1816026"},{"key":"e_1_2_1_11_1","volume-title":"IBM Whitepaper","author":"Dell Timothy J.","year":"1997","unstructured":"Timothy J. Dell . A white paper on the benefits of chipkill-correct ECC for PC server main memory . IBM Whitepaper , 1997 . Timothy J. Dell. A white paper on the benefits of chipkill-correct ECC for PC server main memory. IBM Whitepaper, 1997."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-04468-7_23"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1950.tb00463.x"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISORC.2014.26"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2015.7108449"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2150989"},{"key":"e_1_2_1_17_1","volume-title":"DRAM, Disk","author":"Jacob Bruce","year":"2008","unstructured":"Bruce Jacob , Spencer W. Ng , and David T. Wang . Memory Systems: Cache , DRAM, Disk . Morgan Kaufmann Publishers Inc ., Burlington, MA, USA, 2008 . Bruce Jacob, Spencer W. Ng, and David T. Wang. Memory Systems: Cache, DRAM, Disk. Morgan Kaufmann Publishers Inc., Burlington, MA, USA, 2008."},{"key":"e_1_2_1_18_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"220","DOI":"10.1007\/BFb0053381","volume-title":"Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP '97)","author":"Kiczales G.","year":"1997","unstructured":"G. Kiczales , J. Lamping , A. Mendhekar , C. Maeda , C. Lopes , J.-M. Loingtier , and J. Irwin . Aspect-oriented programming . In M. Aksit and S. Matsuoka, editors, Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP '97) , volume 1241 of Lecture Notes in Computer Science , pages 220 -- 242 . Springer-Verlag , June 1997 . G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Aksit and S. Matsuoka, editors, Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP '97), volume 1241 of Lecture Notes in Computer Science, pages 220--242. Springer-Verlag, June 1997."},{"key":"e_1_2_1_19_1","volume-title":"JFDLPA.","author":"Kniesel G\u00fcnter","year":"2005","unstructured":"G\u00fcnter Kniesel and Tobias Rho . Generic aspect languages - needs, options and challenges . In JFDLPA. September 2005 . G\u00fcnter Kniesel and Tobias Rho. Generic aspect languages - needs, options and challenges. In JFDLPA. September 2005."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1519130.1519135"},{"key":"e_1_2_1_21_1","volume-title":"Morgan Kaufmann","author":"Melton J.","year":"2006","unstructured":"J. Melton and S. Buxton . Querying XML: XQuery, XPath, and SQL\/XML in Context. The Morgan Kaufmann series in data management systems . Morgan Kaufmann , 2006 . J. Melton and S. Buxton. Querying XML: XQuery, XPath, and SQL\/XML in Context. The Morgan Kaufmann series in data management systems. Morgan Kaufmann, 2006."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.980007"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/24.994913"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1352592.1352616"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250741"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/342001.339652"},{"key":"e_1_2_1_27_1","first-page":"70","volume-title":"Proceedings of the 38th IEEE\/IFIP International Conference on Dependable Systems and Networks (DSN '08)","author":"Sahoo Swarup Kumar","unstructured":"Swarup Kumar Sahoo , Man-Lap Li , Pradeep Ramachandran , Sarita V. Adve , Vikram S. Adve , and Yuanyuan Zhou . Using likely program invariants to detect hardware errors . In Proceedings of the 38th IEEE\/IFIP International Conference on Dependable Systems and Networks (DSN '08) , pages 70 -- 79 . IEEE Computer Society Press. Swarup Kumar Sahoo, Man-Lap Li, Pradeep Ramachandran, Sarita V. Adve, Vikram S. Adve, and Yuanyuan Zhou. Using likely program invariants to detect hardware errors. In Proceedings of the 38th IEEE\/IFIP International Conference on Dependable Systems and Networks (DSN '08), pages 70--79. IEEE Computer Society Press."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2015.44"},{"key":"e_1_2_1_29_1","volume-title":"25th International Conference on Architecture of Computing Systems (ARCS '12), Workshop Proceedings","volume":"200","author":"Schirmeier Horst","year":"2012","unstructured":"Horst Schirmeier , Martin Hoffmann , R\u00fcdiger Kapitza , Daniel Lohmann , and Olaf Spinczyk . FAIL* : Towards a versatile fault-injection experiment framework . In 25th International Conference on Architecture of Computing Systems (ARCS '12), Workshop Proceedings , volume 200 of Lecture Notes in Informatics, pages 201--210. German Society of Informatics , March 2012 . Horst Schirmeier, Martin Hoffmann, R\u00fcdiger Kapitza, Daniel Lohmann, and Olaf Spinczyk. FAIL*: Towards a versatile fault-injection experiment framework. In 25th International Conference on Architecture of Computing Systems (ARCS '12), Workshop Proceedings, volume 200 of Lecture Notes in Informatics, pages 201--210. German Society of Informatics, March 2012."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/24.914544"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2008.62"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/EDCC-7.2008.24"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.knosys.2007.05.004"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694348"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2503210.2503257"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2007.7"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736064"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2883591.2883600","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2883591.2883600","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T19:04:11Z","timestamp":1750273451000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2883591.2883600"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,1,20]]},"references-count":37,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2016,1,20]]}},"alternative-id":["10.1145\/2883591.2883600"],"URL":"https:\/\/doi.org\/10.1145\/2883591.2883600","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2016,1,20]]},"assertion":[{"value":"2016-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}