{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,5]],"date-time":"2024-07-05T07:47:25Z","timestamp":1720165645421},"reference-count":28,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2016,11,1]],"date-time":"2016-11-01T00:00:00Z","timestamp":1477958400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[2016,11]]},"DOI":"10.1016\/j.jss.2016.02.007","type":"journal-article","created":{"date-parts":[[2016,2,20]],"date-time":"2016-02-20T02:56:59Z","timestamp":1455937019000},"page":"234-246","update-policy":"http:\/\/dx.doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":6,"special_numbering":"C","title":["PF-Miner: A practical paired functions mining method for Android kernel in error paths"],"prefix":"10.1016","volume":"121","author":[{"given":"Hu-Qiu","family":"Liu","sequence":"first","affiliation":[]},{"given":"Yu-Ping","family":"Wang","sequence":"additional","affiliation":[]},{"given":"Jia-Ju","family":"Bai","sequence":"additional","affiliation":[]},{"given":"Shi-Min","family":"Hu","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"issue":"1","key":"10.1016\/j.jss.2016.02.007_bib0001","first-page":"43","article-title":"A transactional model for automatic exception handling","volume":"37","author":"Cabral","year":"2011","journal-title":"Comput. Lang. Syst. Struct."},{"key":"10.1016\/j.jss.2016.02.007_bib0002","series-title":"Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS \u201911)","first-page":"265","article-title":"S2e: a platform for in-vivo multi-path analysis of software systems","volume":"Vol. 39","author":"Chipounov","year":"2011"},{"key":"10.1016\/j.jss.2016.02.007_bib0003","series-title":"Proc. ACM Symp. Operating Systems Principles (SOSP \u201901)","first-page":"73","article-title":"An empirical study of operating systems errors","author":"Chou","year":"2001"},{"key":"10.1016\/j.jss.2016.02.007_bib0004","series-title":"Proc. ACM Symp. Software testing and analysis (ISSTA \u201910)","first-page":"85","article-title":"Generating test cases for specification mining","author":"Dallmeier","year":"2010"},{"key":"10.1016\/j.jss.2016.02.007_bib0005","series-title":"Proc. ACM Symp. Operating systems principles (SOSP \u201901)","first-page":"57","article-title":"Bugs as deviant behavior: a general approach to inferring errors in systems code","volume":"Vol. 35","author":"Engler","year":"2001"},{"key":"10.1016\/j.jss.2016.02.007_bib0006","series-title":"Proc. Intl Conf. Large Installation System Administration (LISA \u201906)","first-page":"101","article-title":"Windows XP kernel crash analysis","volume":"Vol. 6","author":"Ganapathi","year":"2006"},{"key":"10.1016\/j.jss.2016.02.007_bib0007","series-title":"Proc Intl. IEEE Symp. Automated Software Engineering (ASE \u201913)","first-page":"389","article-title":"Characterizing and detecting resource leaks in android applications","author":"Guo","year":"2013"},{"key":"10.1016\/j.jss.2016.02.007_bib0008","series-title":"Proc. Intl. Symp. European Conf. Object-Oriented Programming (EOOP \u201911)","first-page":"634","article-title":"Atomic boxes: coordinated exception handling with transactional memory","volume":"Vol. 6803","author":"Harmanci","year":"2011"},{"key":"10.1016\/j.jss.2016.02.007_bib0009","series-title":"Proc. ACM Symp. Operating Systems Design and Implementation (OSDI \u201912)","first-page":"221","article-title":"Automated concurrency-bug fixing","author":"Jin","year":"2012"},{"key":"10.1016\/j.jss.2016.02.007_bib0010","series-title":"Proc. Intl Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS \u201913)","first-page":"473","article-title":"Fine-grained fault tolerance using device checkpoints","author":"Kadav","year":"2013"},{"key":"10.1016\/j.jss.2016.02.007_bib0011","series-title":"Proc. ACM Symp. Architectural Support for Programming Languages and Operating Systems (ASPLOS \u201912)","first-page":"87","article-title":"Understanding modern device drivers","author":"Kadav","year":"2012"},{"key":"10.1016\/j.jss.2016.02.007_bib0012","series-title":"Proc. Intl Conf. European Dependable Computing Conference (EDCC \u201910)","first-page":"191","article-title":"Finding error handling bugs in openssl using coccinelle","author":"Lawall","year":"2010"},{"key":"10.1016\/j.jss.2016.02.007_bib0013","first-page":"67","article-title":"WYSIWIB: exploiting fine-grained program structure in a scriptable API-usage protocol-finding process","volume":"43","author":"Lawall","year":"2013","journal-title":"Softw.: Prac. Experience"},{"key":"10.1016\/j.jss.2016.02.007_bib0014","series-title":"ACM Symp. SIGSOFT Software Engineering Notes (FSE \u201905)","first-page":"306","article-title":"PR-miner: automatically extracting implicit programming rules and detecting violations in large software code","volume":"Vol. 35","author":"Li","year":"2005"},{"issue":"10","key":"10.1016\/j.jss.2016.02.007_bib0015","doi-asserted-by":"crossref","first-page":"1982","DOI":"10.3724\/SP.J.1016.2013.01982","article-title":"Automatically insert log system for driver configuration","volume":"36","author":"Liu","year":"2013","journal-title":"IEEE Symp. Chinese J. Comput."},{"key":"10.1016\/j.jss.2016.02.007_bib0016","series-title":"Proc. Intl. IEEE Symp. Trust, Security and Privacy in Computing and Communications (TrustCom \u201911)","first-page":"1283","article-title":"A software fault-tolerant method based on exception handling in RT\/e system","author":"Lu","year":"2011"},{"issue":"6","key":"10.1016\/j.jss.2016.02.007_bib0017","doi-asserted-by":"crossref","first-page":"123","DOI":"10.1145\/1273442.1250749","article-title":"Static specification inference using predicate mining","volume":"42","author":"Ramanathan","year":"2007","journal-title":"ACM Symp. SIGPLAN Notices"},{"key":"10.1016\/j.jss.2016.02.007_bib0018","series-title":"Proc. ACM symp. Operating Systems Design and Implementation (OSDI \u201912)","first-page":"279","article-title":"Symdrive: testing drivers without devices","author":"Renzelmann","year":"2012"},{"key":"10.1016\/j.jss.2016.02.007_bib0019","series-title":"Proc. Intl Conf. Languages, Compilers and Tools for Embedded Systems (LCTES \u201911)","first-page":"41","article-title":"An approach to improving the structure of error-handling code in the linux kernel","volume":"Vol. 46","author":"Saha","year":"2011"},{"key":"10.1016\/j.jss.2016.02.007_bib0020","series-title":"Proc. Intl. Symp. Dependable Systems and Networks (DSN \u201913)","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.jss.2016.02.007_bib0021","series-title":"ACM Trans. Computer Systems (TOCS \u201906)","first-page":"333","article-title":"Recovering device drivers","volume":"Vol. 24","author":"Swift","year":"2006"},{"key":"10.1016\/j.jss.2016.02.007_bib0022","series-title":"Proc. ACM Symp. European workshop (EW \u201910)","first-page":"102","article-title":"Nooks: an architecture for reliable device drivers","author":"Swift","year":"2002"},{"key":"10.1016\/j.jss.2016.02.007_bib0023","series-title":"Proc. ACM Symp. Operating Systems Principles (SOSP \u201907)","first-page":"145","article-title":"\/* icomment: bugs or bad comments?*","volume":"Vol. 41","author":"Tan","year":"2007"},{"key":"10.1016\/j.jss.2016.02.007_bib0024","series-title":"Proc. ACM Symp. software engineering (ICSE \u201911)","first-page":"11","article-title":"acomment: mining annotations from comments and code to detect interrupt related concurrency bugs","author":"Tan","year":"2011"},{"key":"10.1016\/j.jss.2016.02.007_bib0025","series-title":"Proc. Intl. IEEE Symp. Software Engineering (ICSE \u201909)","first-page":"496","article-title":"Mining exception-handling rules as sequence association rules","author":"Thummalapenta","year":"2009"},{"key":"10.1016\/j.jss.2016.02.007_bib0026","series-title":"Proceedings of International Symposium of Tools and Algorithms for the Construction and Analysis of Systems","first-page":"461","article-title":"Mining temporal specifications for error detection","volume":"Vol. 3440","author":"Weimer","year":"2005"},{"key":"10.1016\/j.jss.2016.02.007_bib0027","series-title":"ACM Trans. Programming Languages and Systems","first-page":"1","article-title":"Exceptional situations and program reliability","volume":"Vol. 30","author":"Weimer","year":"2008"},{"key":"10.1016\/j.jss.2016.02.007_bib0028","series-title":"Proceedings of ACM Symposium Operating Systems Design and Implementation","first-page":"45","article-title":"Safedrive: safe and recoverable extensions using language-based techniques","author":"Zhou","year":"2006"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121216000431?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121216000431?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2018,9,14]],"date-time":"2018-09-14T21:51:27Z","timestamp":1536961887000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121216000431"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,11]]},"references-count":28,"alternative-id":["S0164121216000431"],"URL":"https:\/\/doi.org\/10.1016\/j.jss.2016.02.007","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[2016,11]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"PF-Miner: A practical paired functions mining method for Android kernel in error paths","name":"articletitle","label":"Article Title"},{"value":"Journal of Systems and Software","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.jss.2016.02.007","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2016 Elsevier Inc. All rights reserved.","name":"copyright","label":"Copyright"}]}}