{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,8]],"date-time":"2024-09-08T05:26:25Z","timestamp":1725773185074},"reference-count":31,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2016,5,1]],"date-time":"2016-05-01T00:00:00Z","timestamp":1462060800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"funder":[{"name":"Tsinghua University Initiative Scientific Research Program","award":["2014z09102"]}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Information and Software Technology"],"published-print":{"date-parts":[[2016,5]]},"DOI":"10.1016\/j.infsof.2016.01.018","type":"journal-article","created":{"date-parts":[[2016,2,8]],"date-time":"2016-02-08T18:01:19Z","timestamp":1454954479000},"page":"122-133","update-policy":"http:\/\/dx.doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":8,"special_numbering":"C","title":["Mining and checking paired functions in device drivers using characteristic fault injection"],"prefix":"10.1016","volume":"73","author":[{"given":"Jia-Ju","family":"Bai","sequence":"first","affiliation":[]},{"given":"Yu-Ping","family":"Wang","sequence":"additional","affiliation":[]},{"given":"Hu-Qiu","family":"Liu","sequence":"additional","affiliation":[]},{"given":"Shi-Min","family":"Hu","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.infsof.2016.01.018_bib0001","series-title":"Proceedings of the 22nd ACM Symposium on Operating Systems Principles","first-page":"59","article-title":"Tolerating hardware device failures in software","author":"Asim","year":"2009"},{"key":"10.1016\/j.infsof.2016.01.018_bib0002","series-title":"Linux Device Drivers","author":"Corbet","year":"2005"},{"key":"10.1016\/j.infsof.2016.01.018_bib0003","series-title":"Proceedings of the 8th ACM Symposium on Operating Systems Principles","first-page":"57","article-title":"Bugs as deviant behavior: a general approach to inferring errors in systems code","author":"Engler","year":"2001"},{"key":"10.1016\/j.infsof.2016.01.018_bib0004","series-title":"Proceedings of the 21th Asia-Pacific Software Engineering Conference","first-page":"407","article-title":"Runtime checking for paired functions in device drivers","author":"Bai","year":"2014"},{"key":"10.1016\/j.infsof.2016.01.018_bib0005","series-title":"Proceedings of the 28th International Conference on Software Engineering","first-page":"282","article-title":"Perracotta: mining temporal API rules from imperfect traces","author":"Yang","year":"2006"},{"key":"10.1016\/j.infsof.2016.01.018_bib0006","series-title":"Proceedings of the 24th International Conference on Automated Software Engineering","first-page":"371","article-title":"Automatic generation of object usage specifications from large method traces","author":"Pradel","year":"2009"},{"key":"10.1016\/j.infsof.2016.01.018_bib0007","series-title":"Proceedings of the 34th International Conference on Software Engineering","first-page":"288","article-title":"Leveraging test generation and specification mining for automated bug detection without false positives","author":"Pradel","year":"2012"},{"key":"10.1016\/j.infsof.2016.01.018_bib0008","series-title":"Proceedings of the 33rd International Conference on Software Engineering","first-page":"591","article-title":"Mining parametric specifications","author":"Lee","year":"2011"},{"key":"10.1016\/j.infsof.2016.01.018_bib0009","series-title":"Proceedings of the 41st International Conference on Dependable Systems and Networks Workshops","first-page":"265","article-title":"Detecting resource leaks through dynamical mining of resource usage patterns","author":"Zhang","year":"2011"},{"key":"10.1016\/j.infsof.2016.01.018_bib0010","series-title":"Proceedings of the 16th International Symposium on Foundations of Software Engineering","first-page":"339","article-title":"Javert: fully automatic mining of general temporal properties from dynamic traces","author":"Gabel","year":"2008"},{"key":"10.1016\/j.infsof.2016.01.018_bib0011","series-title":"Proceedings of the 1982 International Symposium on Compiler Construction","first-page":"120","article-title":"Gprof: a call graph execution profiler","author":"Graham","year":"1982"},{"key":"10.1016\/j.infsof.2016.01.018_bib0012","series-title":"Proceedings of the 2014 International Symposium on Code Generation and Optimization","first-page":"76","article-title":"Call paths for Pin tools","author":"Chabbi","year":"2014"},{"key":"10.1016\/j.infsof.2016.01.018_bib0013","series-title":"Proceedings of the 43rd International Conference on Dependable Systems and Networks","first-page":"1","article-title":"Hector: detecting resource-release omission faults in error-handling code for systems software","author":"Saha","year":"2013"},{"key":"10.1016\/j.infsof.2016.01.018_bib0014","series-title":"Proceedings of the 13th International Symposium on Foundations of Software Engineering","first-page":"306","article-title":"PR-Miner: automatically extracting implicit programming rules and detecting violations in large software code","author":"Li","year":"2005"},{"key":"10.1016\/j.infsof.2016.01.018_bib0015","series-title":"Proceedings of the 39th International Conference on Dependable Systems and Networks","first-page":"43","article-title":"WYSIWIB: a declarative approach to finding API protocols and bugs in Linux code","author":"Lawall","year":"2009"},{"key":"10.1016\/j.infsof.2016.01.018_bib0016","series-title":"Proceedings of the 3rd European Conference on Computer Systems","first-page":"247","article-title":"Documenting and automating collateral evolutions in Linux device drivers","author":"Padioleau","year":"2008"},{"key":"10.1016\/j.infsof.2016.01.018_bib0017","series-title":"Proceedings of the 31st International Conference on Software Engineering","first-page":"496","article-title":"Mining exception-handling rules as sequence association rules","author":"Thummalapenta","year":"2009"},{"key":"10.1016\/j.infsof.2016.01.018_bib0018","series-title":"Proceedings of the 26th International Conference on Automated Software Engineering","first-page":"233","article-title":"Iterative mining of resource-releasing specifications","author":"Wu","year":"2011"},{"key":"10.1016\/j.infsof.2016.01.018_bib0019","series-title":"Proceedings of the 38th International Computer Software and Applications Conference","first-page":"33","article-title":"PF-Miner: a new paired functions mining method for Android kernel in error paths","author":"Liu","year":"2014"},{"key":"10.1016\/j.infsof.2016.01.018_bib0020","series-title":"Proceedings of the 9th IEEE Working Conference on Mining Software Repositories","first-page":"151","article-title":"Discovering complete API rules with mutation testing","author":"Nguyen","year":"2012"},{"key":"10.1016\/j.infsof.2016.01.018_bib0021","series-title":"Proceedings of the 19th International Symposium on Software Testing and Analysis","first-page":"85","article-title":"Generating test cases for specification mining","author":"Dallmeier","year":"2010"},{"key":"10.1016\/j.infsof.2016.01.018_bib0022","series-title":"Proceedings of the 2011 International Conference on Languages, Compilers and Tools for Embedded Systems","first-page":"41","article-title":"An approach to improving the structure of error-handling code in the Linux kernel","author":"Saha","year":"2011"},{"key":"10.1016\/j.infsof.2016.01.018_bib0023","series-title":"ACM Transactions on Computer Systems","first-page":"333","article-title":"Recovering device drivers","volume":"24","author":"Swift","year":"2006"},{"key":"10.1016\/j.infsof.2016.01.018_bib0024","unstructured":"Linux kernel coding style. https:\/\/www.kernel.org\/doc\/Documentation\/CodingStyle."},{"key":"10.1016\/j.infsof.2016.01.018_bib0025","first-page":"80","article-title":"On fault representativeness of software fault injection","volume":"39","author":"Natella","year":"2013"},{"key":"10.1016\/j.infsof.2016.01.018_bib0026","first-page":"1","article-title":"Efficient testing of recovery code using fault injection","volume":"29","author":"Paul","year":"2011"},{"key":"10.1016\/j.infsof.2016.01.018_bib0027","series-title":"Proceedings of the 34th International Conference on Software Engineering","first-page":"595","article-title":"Amplifying tests to validate exception handling code","author":"Zhang","year":"2012"},{"key":"10.1016\/j.infsof.2016.01.018_bib0028","series-title":"Proceedings of the 37th International Conference on Dependable Systems and Networks","first-page":"554","article-title":"Robustness testing of the Windows DDK","author":"Mendonca","year":"2007"},{"key":"10.1016\/j.infsof.2016.01.018_bib0029","series-title":"Proceedings of the 33rd International Conference on Software Engineering","first-page":"51","article-title":"The impact of fault models of software robustness evaluations","author":"Winter","year":"2011"},{"key":"10.1016\/j.infsof.2016.01.018_bib0030","unstructured":"Clang compiler. http:\/\/clang.llvm.org\/."},{"key":"10.1016\/j.infsof.2016.01.018_bib0031","unstructured":"Netperf benchmark. http:\/\/www.netperf.org\/netperf\/."}],"container-title":["Information and Software Technology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0950584916300179?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0950584916300179?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2018,9,15]],"date-time":"2018-09-15T16:51:05Z","timestamp":1537030265000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0950584916300179"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,5]]},"references-count":31,"alternative-id":["S0950584916300179"],"URL":"https:\/\/doi.org\/10.1016\/j.infsof.2016.01.018","relation":{},"ISSN":["0950-5849"],"issn-type":[{"value":"0950-5849","type":"print"}],"subject":[],"published":{"date-parts":[[2016,5]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Mining and checking paired functions in device drivers using characteristic fault injection","name":"articletitle","label":"Article Title"},{"value":"Information and Software Technology","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.infsof.2016.01.018","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 2016 Elsevier B.V. All rights reserved.","name":"copyright","label":"Copyright"}]}}