{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,4,1]],"date-time":"2022-04-01T19:13:01Z","timestamp":1648840381801},"reference-count":50,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2014,5,22]],"date-time":"2014-05-22T00:00:00Z","timestamp":1400716800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Autom Softw Eng"],"published-print":{"date-parts":[[2016,3]]},"DOI":"10.1007\/s10515-014-0152-4","type":"journal-article","created":{"date-parts":[[2014,5,21]],"date-time":"2014-05-21T14:18:40Z","timestamp":1400681920000},"page":"3-41","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Ahead of time static analysis for automatic generation of debugging interfaces to the Linux kernel"],"prefix":"10.1007","volume":"23","author":[{"given":"Tegawend\u00e9 F.","family":"Bissyand\u00e9","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Laurent","family":"R\u00e9veill\u00e8re","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Julia L.","family":"Lawall","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gilles","family":"Muller","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2014,5,22]]},"reference":[{"key":"152_CR1","doi-asserted-by":"crossref","unstructured":"Albinet, A., Arlat, J., Fabre, J.C.: Characterization of the impact of faulty drivers on the robustness of the Linux kernel. In: Proceedings of the 2004 International Conference on Dependable Systems and Networks (DSN\u201904), pp. 867\u2013876. Florence, Italy (2004)","DOI":"10.1109\/DSN.2004.1311957"},{"key":"152_CR2","doi-asserted-by":"crossref","first-page":"48","DOI":"10.1109\/MC.2003.1244535","volume":"36","author":"K Arnout","year":"2003","unstructured":"Arnout, K., Meyer, B.: Uncovering hidden contracts: the.NET example. Computer 36, 48\u201355 (2003)","journal-title":"Computer"},{"key":"152_CR3","doi-asserted-by":"crossref","unstructured":"Ball, T., Bounimova, E., Cook, B., Levin, V., Lichtenberg, J., McGarvey, C., Ondrusek, B., Rajamani, S.K., Ustuner, A.: Thorough static analysis of device drivers. In: Proceedings of the 2006 ACM SIGOPS\/EuroSys European Conference on Computer Systems (EuroSys\u201906), pp. 73\u201385. Leuven, Belgium (2006)","DOI":"10.1145\/1217935.1217943"},{"key":"152_CR4","doi-asserted-by":"crossref","unstructured":"Bissyand\u00e9, T.F., R\u00e9veill\u00e8re, L., Bromberg, Y.D., Lawall, J.L., Muller, G.: Bridging the gap between legacy services and web services. In: Proceedings of the ACM\/IFIP\/USENIX 11th International Conference on Middleware. Middleware \u201910, pp. 273\u2013292. Springer, Bangalore (2010)","DOI":"10.1007\/978-3-642-16955-7_14"},{"key":"152_CR5","doi-asserted-by":"crossref","unstructured":"Bissyand\u00e9, T.F., R\u00e9veill\u00e8re, L., Lawall, J.L., Muller, G.: Diagnosys: automatic generation of a debugging interface to the linux kernel. In: Proceedings of 27th IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201912), pp. 60\u201369. Essen, Germany (2012)","DOI":"10.1145\/2351676.2351686"},{"key":"152_CR6","unstructured":"Bissyand\u00e9, T.F.: Contributions for improving debugging of kernel-level services in a monolithic operating system. Ph.D. thesis, Universit\u00e9 Sciences et Technologies-Bordeaux I (2013)"},{"key":"152_CR7","doi-asserted-by":"crossref","unstructured":"Bissyand\u00e9, T.F., Lo, D., Jiang, L., R\u00e9veill\u00e8re, L., Klein, J., Le Traon, Y.: Got issues? Who cares about it? A large scale investigation of issue trackers from github. In: IEEE 24th International Symposium on Software Reliability Engineering (ISSRE) (2013)","DOI":"10.1109\/ISSRE.2013.6698918"},{"key":"152_CR8","doi-asserted-by":"crossref","unstructured":"Bissyand\u00e9, T.F., R\u00e9veill\u00e9re, L., Lawall, J.L., Bromberg, Y.D., Muller, G.: Implementing an embedded compiler using program transformation rules. Software: Practice and Experience (2013)","DOI":"10.1002\/spe.2225"},{"key":"152_CR9","doi-asserted-by":"crossref","unstructured":"Bissyand\u00e9, T.F., Thung, F., Lo, D., Jiang, L., R\u00e9veill\u00e8re, L.: Popularity, interoperability, and impact of programming languages in 100,000 open source projects. In: Proceedings of the 37th IEEE Annual Computer Software and Applications Conference (COMPSAC \u201913), pp. 303\u2013312. Washington (2013)","DOI":"10.1109\/COMPSAC.2013.55"},{"key":"152_CR10","unstructured":"Bray, T.: The Bonnie file system benchmark. http:\/\/www.textuality.com\/bonnie\/ (1996)"},{"key":"152_CR11","doi-asserted-by":"crossref","unstructured":"Bugrara, S., Aiken, A.: Verifying the safety of user pointer dereferences. In: IEEE Symposium on Security and Privacy, pp. 325\u2013338. Oakland (2008)","DOI":"10.1109\/SP.2008.15"},{"key":"152_CR12","doi-asserted-by":"crossref","unstructured":"Chou, A., Yang, J., Chelf, B., Hallem, S., Engler, D.: An empirical study of operating systems errors. In: Proceedings of the 18th ACM Symposium on Operating System Principles (SOSP\u201901), pp. 73\u201388. Banff, Canada (2001)","DOI":"10.1145\/502034.502042"},{"key":"152_CR13","unstructured":"Corbet, J.: Injecting faults into the kernel. http:\/\/lwn.net\/Articles\/209257\/ (2004)"},{"key":"152_CR14","doi-asserted-by":"crossref","unstructured":"Cotroneo, D., Natella, R., Russo, S.: Assessment and improvement of hang detection in the Linux operating system. In: Proceedings of the 28th IEEE International Symposium on Reliable Distributed Systems (SRDS\u201909), pp. 288\u2013294. Niagara Falls (2009)","DOI":"10.1109\/SRDS.2009.26"},{"issue":"8","key":"152_CR15","doi-asserted-by":"crossref","first-page":"115","DOI":"10.1145\/1787234.1787259","volume":"53","author":"I Dillig","year":"2010","unstructured":"Dillig, I., Dillig, T., Aiken, A.: Reasoning about the unknown in static analysis. Commun. ACM 53(8), 115\u2013123 (2010)","journal-title":"Commun. ACM"},{"key":"152_CR16","unstructured":"Donahue, A.: Debugging domain-specific languages. Master\u2019s thesis, University of Toronto (2010)"},{"key":"152_CR17","doi-asserted-by":"crossref","unstructured":"Engler, D., Chen, D.Y., Hallem, S., Chou, A., Chelf, B.: Bugs as deviant behavior: a general approach to inferring errors in systems code. In: Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles (SOSP\u201901), pp. 57\u201372. Banff, Alberta (2001)","DOI":"10.1145\/502034.502041"},{"key":"152_CR18","doi-asserted-by":"crossref","first-page":"35","DOI":"10.1016\/j.scico.2007.01.015","volume":"69","author":"MD Ernst","year":"2007","unstructured":"Ernst, M.D., Perkins, J.H., Guo, P.J., McCamant, S., Pacheco, C., Tschantz, M.S., Xiao, C.: The Daikon system for dynamic detection of likely invariants. Sci. Comput. Program. 69, 35\u201345 (2007)","journal-title":"Sci. Comput. Program."},{"key":"152_CR19","doi-asserted-by":"crossref","unstructured":"Etsion, Y., Tsafrir, D., Kirkpatrick, S., Feitelson, D.G.: Fine grained kernel logging with KLogger: experience and insights. In: EuroSys, pp. 259\u2013272. Lisbon, Portugal (2007)","DOI":"10.1145\/1272996.1273023"},{"key":"152_CR20","doi-asserted-by":"crossref","unstructured":"Fetzer, C., Xiao, Z.: Healers: a toolkit for enhancing the robustness and security of existing applications. In: Proceedings of the 2003 International Conference on Dependable Systems and Networks (DSN\u201903), pp. 317\u2013322. San Francisco (2003)","DOI":"10.1109\/DSN.2003.1209942"},{"key":"152_CR21","first-page":"500","volume-title":"FME","author":"C Flanagan","year":"2001","unstructured":"Flanagan, C., Leino, K.R.M.: Houdini, an annotation assistant for ESC\/Java. FME, pp. 500\u2013517. Springer, London (2001)"},{"key":"152_CR22","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Leino, K.R.M., Lillibridge, M., Nelson, G., Saxe, J.B., Stata, R.: Extended static checking for Java. In: Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI\u201902), pp. 234\u2013245. Berlin, Germany (2002)","DOI":"10.1145\/512529.512558"},{"issue":"3","key":"152_CR23","doi-asserted-by":"crossref","first-page":"252","DOI":"10.1016\/j.cosrev.2011.02.002","volume":"5","author":"MJ Frade","year":"2011","unstructured":"Frade, M.J., Pinto, J.S.: Verification conditions for source-level imperative programs. Comput. Sci. Rev. 5(3), 252\u2013277 (2011)","journal-title":"Comput. Sci. Rev."},{"key":"152_CR24","unstructured":"Ganapathi, A., Ganapathi, V., Patterson, D.: Windows XP kernel crash analysis. In: LISA\u201906, pp. 49\u2013159. Washington (2006)"},{"key":"152_CR25","doi-asserted-by":"crossref","unstructured":"Hirschfeld, R., Perscheid, M., Schubert, C., Appeltauer, M.: Dynamic contract layers. In: Proceedings of the 2010 Symposium on Applied Computing (SAC\u201910), pp. 2169\u20132175. Sierre, Switzerland (2010)","DOI":"10.1145\/1774088.1774546"},{"issue":"10","key":"152_CR26","doi-asserted-by":"crossref","first-page":"576","DOI":"10.1145\/363235.363259","volume":"12","author":"CAR Hoare","year":"1969","unstructured":"Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576\u2013580 (1969)","journal-title":"Commun. ACM"},{"key":"152_CR27","volume-title":"Logic in Computer Science: Modelling and Reasoning About Systems","author":"M Huth","year":"2000","unstructured":"Huth, M., Ryan, M.: Logic in Computer Science: Modelling and Reasoning About Systems. Cambridge University Press, Cambridge (2000)"},{"key":"152_CR28","unstructured":"Jones, R.: Netperf: A Network Performance Benchmark, Version 2.4.5. http:\/\/www.netperf.org (2000)"},{"key":"152_CR29","unstructured":"Kroah-Hartman, G.: The Linux kernel driver interface (all your questions answered and then some). http:\/\/www.kernel.org\/doc\/Documentation\/stable_api_nonsense.txt (2013)"},{"key":"152_CR30","unstructured":"Kroah-Hartman, G.: Driving me nuts: things you should never do in the kernel. Linux J. 133, 9 (2005). http:\/\/www.linuxjournal.com\/article\/8110"},{"key":"152_CR31","unstructured":"Kuznetsov, V., Chipounov, V., Candea, G.: Testing closed-source binary device drivers with DDT. In: USENIX Annual Technical Conference (ATC\u201910). Boston (2010)"},{"key":"152_CR32","doi-asserted-by":"crossref","unstructured":"Lawall, J.L., Brunel, J., Palix, N., Hansen, R.R., Stuart, H., Muller, G.: WYSIWIB: a declarative approach to finding API protocols and bugs in Linux code. In: Proceedings of the 2009 International Conference on Dependable Systems and Networks (DSN\u201909), pp. 43\u201352. Lisbon, Portugal (2009)","DOI":"10.1109\/DSN.2009.5270354"},{"key":"152_CR33","doi-asserted-by":"crossref","unstructured":"Li, Z., Zhou, Y.: Pr-miner: automatically extracting implicit programming rules and detecting violations in large software code. In: Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC\/FSE-13), pp. 306\u2013315. Lisbon, Portugal (2005)","DOI":"10.1145\/1081706.1081755"},{"key":"152_CR34","doi-asserted-by":"crossref","unstructured":"Mao, Y., Chen, H., Zhou, D., Wang, X., Zeldovich, N., Kaashoek, M.F.: Software fault isolation with API integrity and multi-principal modules. In: SOSP, pp. 115\u2013128. Cascais, Portugal (2011)","DOI":"10.1145\/2043556.2043568"},{"issue":"3","key":"152_CR35","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2063509.2063511","volume":"29","author":"P Marinescu","year":"2011","unstructured":"Marinescu, P., Candea, G.: Efficient testing of recovery code using fault injection. ACM Trans. Comput. Syst. (TOCS) 29(3), 1\u201338 (2011)","journal-title":"ACM Trans. Comput. Syst. (TOCS)"},{"key":"152_CR36","volume-title":"Object-Oriented Software Construction","author":"B Meyer","year":"1988","unstructured":"Meyer, B.: Object-Oriented Software Construction, 1st edn. Prentice-Hall, Upper Saddle River (1988)","edition":"1"},{"key":"152_CR37","unstructured":"Mills, C.: Using Design by Contract in C, 1st edn. O\u2019Reilly, Sebastopol (2004). http:\/\/www.OnLamp.com"},{"key":"152_CR38","unstructured":"Nellitheertha, H.: Reboot Linux faster using Kexec. http:\/\/www.ibm.com\/developerworks\/linux\/library\/l-kexec\/index.html (2004)"},{"key":"152_CR39","doi-asserted-by":"crossref","unstructured":"Padioleau, Y., Lawall, J.L., Hansen, R.R., Muller, G.: Documenting and automating collateral evolutions in Linux device drivers. In: Proceedings of the 2008 ACM SIGOPS\/EuroSys European Conference on Computer Systems (EuroSys\u201908), pp. 247\u2013260. Glasgow, Scotland (2008)","DOI":"10.1145\/1352592.1352618"},{"key":"152_CR40","doi-asserted-by":"crossref","unstructured":"Palix, N., Lawall, J., Muller, G.: Tracking code patterns over multiple software versions with herodotos. In: Proceedings of the 2010 International Conference on Aspect-Oriented Software Development (AOSD\u201910), pp. 169\u2013180. Rennes and Saint-Malo, France (2010)","DOI":"10.1145\/1739230.1739250"},{"key":"152_CR41","doi-asserted-by":"crossref","unstructured":"Palix, N., Saha, S., Thomas, G., Calv\u00e8s, C., Lawall, J.L., Muller, G.: Faults in Linux: ten years later. In: Proceedings of the 2011 International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201911). Newport Beach (2011)","DOI":"10.1145\/1950365.1950401"},{"key":"152_CR42","doi-asserted-by":"crossref","unstructured":"Parnin, C., Orso, A.: Are automated debugging techniques actually helping programmers? In: Proceedings of the 2011 International Symposium on Software Testing and Analysis, pp. 199\u2013209. ACM (2011)","DOI":"10.1145\/2001420.2001445"},{"key":"152_CR43","doi-asserted-by":"crossref","unstructured":"Post, H., K\u00fcchlin, W.: Integrated static analysis for Linux device driver verification. In: Proceedings of the 6th International Conference on Integrated Formal Methods (IFM\u201907), pp. 518\u2013537. Oxford (2007)","DOI":"10.1007\/978-3-540-73210-5_27"},{"key":"152_CR44","doi-asserted-by":"crossref","unstructured":"Ramanathan, M.K., Grama, A., Jagannathan, S.: Path-sensitive inference of function precedence protocols. In: Proceedings of the 29th International Conference on Software Engineering (ICSE \u201907), pp. 240\u2013250. Minneapolis (2007)","DOI":"10.1109\/ICSE.2007.63"},{"key":"152_CR45","unstructured":"Rostedt, S.: Debugging the kernel using ftrace. http:\/\/lwn.net\/Articles\/365835\/ (2009)"},{"key":"152_CR46","first-page":"109","volume-title":"Linux Device Drivers","author":"A Rubini","year":"2001","unstructured":"Rubini, A., Corbet, J.: Linux Device Drivers, 2nd edn, p. 109. O\u2019Reilly Media, Sebastopol (2001)","edition":"2"},{"key":"152_CR47","doi-asserted-by":"crossref","unstructured":"Ryzhyk, L., Chubb, P., Kuz, I., Heiser, G.: Dingo: taming device drivers. In: Proceedings of the 2009 ACM SIGOPS\/EuroSys European Conference on Computer Systems (EuroSys\u201909), pp. 275\u2013288. Nuremberg, Germany (2009)","DOI":"10.1145\/1519065.1519095"},{"issue":"15","key":"152_CR48","doi-asserted-by":"crossref","first-page":"1253","DOI":"10.1002\/spe.936","volume":"39","author":"M Strembeck","year":"2009","unstructured":"Strembeck, M., Zdun, U.: An approach for the systematic development of domain-specific languages. Softw. Pract. Exp. 39(15), 1253\u20131292 (2009)","journal-title":"Softw. Pract. Exp."},{"key":"152_CR49","doi-asserted-by":"crossref","unstructured":"Yuan, D., Mai, H., Xiong, W., Tan, L., Zhou, Y., Pasupath, S.: Sherlog: error diagnosis by connecting clues from run-time logs. In: Proceedings of the 2010 International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201910), pp. 143\u2013154. Pittsburgh (2010)","DOI":"10.1145\/1736020.1736038"},{"key":"152_CR50","doi-asserted-by":"crossref","unstructured":"Yuan, D., Zheng, J., Park, S., Zhou, Y., Savage, S.: Improving software diagnosability via log enhancement. In: ASPLOS, pp. 3\u201314. Newport Beach (2011)","DOI":"10.1145\/1950365.1950369"}],"container-title":["Automated Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-014-0152-4.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10515-014-0152-4\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-014-0152-4","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,10]],"date-time":"2019-08-10T18:02:52Z","timestamp":1565460172000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10515-014-0152-4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,5,22]]},"references-count":50,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2016,3]]}},"alternative-id":["152"],"URL":"https:\/\/doi.org\/10.1007\/s10515-014-0152-4","relation":{},"ISSN":["0928-8910","1573-7535"],"issn-type":[{"value":"0928-8910","type":"print"},{"value":"1573-7535","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,5,22]]}}}