{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,23]],"date-time":"2025-12-23T05:04:40Z","timestamp":1766466280684,"version":"3.40.3"},"publisher-location":"Cham","reference-count":27,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031067723"},{"type":"electronic","value":"9783031067730"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-031-06773-0_4","type":"book-chapter","created":{"date-parts":[[2022,5,19]],"date-time":"2022-05-19T11:24:44Z","timestamp":1652959484000},"page":"71-87","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Automating Program Transformation with\u00a0Coccinelle"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1684-1264","authenticated-orcid":false,"given":"Julia","family":"Lawall","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0000-8569","authenticated-orcid":false,"given":"Gilles","family":"Muller","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2022,5,20]]},"reference":[{"key":"4_CR1","doi-asserted-by":"crossref","unstructured":"Brunel, J., Doligez, D., Hansen, R.R., Lawall, J., Muller, G.: A foundation for flow-based program matching using temporal logic and model checking. In: POPL, pp. 114\u2013126, January 2009","DOI":"10.1145\/1594834.1480897"},{"key":"4_CR2","unstructured":"Casazza, G., Villano, U., Merlo, E., Antoniol, G., DiPenta, M.: Identifying clones in the Linux kernel. In: Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation (2001)"},{"key":"4_CR3","unstructured":"Eclipse (2022). https:\/\/www.eclipse.org\/ide\/"},{"key":"4_CR4","doi-asserted-by":"crossref","unstructured":"Engler, D.R., Chen, D.Y., Chou, A.: Bugs as deviant behavior: a general approach to inferring errors in systems code. In: Marzullo, K., Satyanarayanan, M. (eds.) SOSP, pp. 57\u201372. ACM (2001)","DOI":"10.1145\/502059.502041"},{"key":"4_CR5","doi-asserted-by":"publisher","DOI":"10.1145\/581441.581453","volume-title":"Refactoring: Improving the Design of Existing Code","author":"M Fowler","year":"2002","unstructured":"Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (2002)"},{"key":"4_CR6","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)"},{"key":"4_CR7","unstructured":"Git, September 2021. https:\/\/github.com\/git\/git\/tree\/master\/contrib\/coccinelle"},{"key":"4_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"292","DOI":"10.1007\/978-3-642-00768-2_26","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"C Le Goues","year":"2009","unstructured":"Le Goues, C., Weimer, W.: Specification mining with few false positives. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 292\u2013306. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-00768-2_26"},{"key":"4_CR9","unstructured":"Kang, H.J., Thung, F., Lawall, J., Muller, G., Jiang, L., Lo, D.: Semantic patches for Java program transformation (experience report). In: ECOOP. LIPIcs, vol. 134, pp. 22:1\u201322:27 (2019)"},{"key":"4_CR10","unstructured":"Kernighan, B.: UNIX: A History and a Memoir. Kindle Direct Publishing (2019)"},{"key":"4_CR11","volume-title":"The UNIX Programming Environment","author":"BW Kernighan","year":"1984","unstructured":"Kernighan, B.W., Pike, R.: The UNIX Programming Environment. Prentice Hall, Hoboken (1984)"},{"key":"4_CR12","unstructured":"Lawall, J.: An introduction to Coccinelle bug finding and code evolution for the Linux kernel. Suse Labs (2014). https:\/\/www.youtube.com\/watch?v=buZrNd6XkEw"},{"key":"4_CR13","unstructured":"Lawall, J.: Keynote: Inside the mind of a coccinelle programmer. Linux Security Summit (2016). https:\/\/www.youtube.com\/watch?v=xA5FBvuCvMs"},{"key":"4_CR14","unstructured":"Lawall, J.: Coccinelle: 10 years of automated evolution in the Linux kernel. Linaro Connect (2019). https:\/\/www.youtube.com\/watch?v=LOsluYTzdMg"},{"key":"4_CR15","unstructured":"Lawall, J., Muller, G.: Coccinelle: 10 years of automated evolution in the Linux kernel. In: USENIX ATC, pp. 601\u2013614 (2018)"},{"issue":"1","key":"4_CR16","doi-asserted-by":"publisher","first-page":"67","DOI":"10.1002\/spe.2102","volume":"43","author":"JL Lawall","year":"2013","unstructured":"Lawall, J.L., Brunel, J., Palix, N., Hansen, R.R., Stuart, H., Muller, G.: WYSIWIB: exploiting fine-grained program structure in a scriptable API-usage protocol-finding process. Softw. Pract. Exp. 43(1), 67\u201392 (2013)","journal-title":"Softw. Pract. Exp."},{"key":"4_CR17","doi-asserted-by":"crossref","unstructured":"Li, Z., Zhou, Y.: PR-Miner: Automatically extracting implicit programming rules and detecting violations in large software code. In: ESEC-FSE (2005)","DOI":"10.1145\/1081706.1081755"},{"key":"4_CR18","unstructured":"MacKenzie, D., Eggert, P., Stallman, R.: Comparing and Merging Files With Gnu Diff and Patch. Network Theory Ltd, January 2003. Unified Format section. http:\/\/www.gnu.org\/software\/diffutils\/manual\/html_node\/Unified-Format.html"},{"key":"4_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"226","DOI":"10.1007\/978-3-030-90539-2_15","volume-title":"High Performance Computing","author":"M Martone","year":"2021","unstructured":"Martone, M., Lawall, J.: Refactoring for performance with semantic patching: case study with recipes. In: Jagode, H., Anzt, H., Ltaief, H., Luszczek, P. (eds.) ISC High Performance 2021. LNCS, vol. 12761, pp. 226\u2013232. Springer, Cham (2021). https:\/\/doi.org\/10.1007\/978-3-030-90539-2_15"},{"key":"4_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"213","DOI":"10.1007\/3-540-45937-5_16","volume-title":"Compiler Construction","author":"GC Necula","year":"2002","unstructured":"Necula, G.C., McPeak, S., Rahul, S.P., Weimer, W.: CIL: intermediate language and tools for analysis and transformation of C programs. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 213\u2013228. Springer, Heidelberg (2002). https:\/\/doi.org\/10.1007\/3-540-45937-5_16"},{"key":"4_CR21","doi-asserted-by":"crossref","unstructured":"Nielsen, B.B., Torp, M.T., M\u00f8ller, A.: Semantic patches for adaptation of JavaScript programs to evolving libraries. In: ICSE, pp. 74\u201385. IEEE (2021)","DOI":"10.1109\/ICSE43902.2021.00020"},{"key":"4_CR22","doi-asserted-by":"crossref","unstructured":"Padioleau, Y., Lawall, J., Hansen, R.R., Muller, G.: Documenting and automating collateral evolutions in Linux device drivers. In: EuroSys 2008, Glasgow, Scotland, pp. 247\u2013260. ACM, March 2008","DOI":"10.1145\/1357010.1352618"},{"key":"4_CR23","doi-asserted-by":"crossref","unstructured":"Palix, N., Thomas, G., Saha, S., Calv\u00e8s, C., Lawall, J., Muller, G.: Faults in Linux 2.6. ACM Trans. Comput. Syst. 32(2), 4:1\u20134:40 (2014)","DOI":"10.1145\/2619090"},{"key":"4_CR24","unstructured":"Spoon, March 2022. https:\/\/github.com\/INRIA\/spoon"},{"key":"4_CR25","unstructured":"Stefaniuc, M.: Coccinelle scripts for Wine, September 2021. https:\/\/github.com\/mstefani\/coccinelle-wine"},{"key":"4_CR26","unstructured":"Systemd, February 2022. https:\/\/github.com\/systemd\/systemd\/tree\/main\/coccinelle"},{"key":"4_CR27","unstructured":"WineHQ: Static analysis, February 2016. https:\/\/wiki.winehq.org\/Static_Analysis"}],"container-title":["Lecture Notes in Computer Science","NASA Formal Methods"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-06773-0_4","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,8,1]],"date-time":"2022-08-01T11:08:23Z","timestamp":1659352103000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-06773-0_4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031067723","9783031067730"],"references-count":27,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-06773-0_4","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"20 May 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"NFM","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"NASA Formal Methods Symposium","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Pasadena, CA","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"USA","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"24 May 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"27 May 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"14","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"nfm2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/shemesh.larc.nasa.gov\/nfm2022\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"118","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"33","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"28% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6.3","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}