{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T13:05:19Z","timestamp":1760101519304,"version":"3.40.3"},"publisher-location":"Cham","reference-count":24,"publisher":"Springer Nature Switzerland","isbn-type":[{"type":"print","value":"9783031661488"},{"type":"electronic","value":"9783031661495"}],"license":[{"start":{"date-parts":[[2024,10,13]],"date-time":"2024-10-13T00:00:00Z","timestamp":1728777600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2024,10,13]],"date-time":"2024-10-13T00:00:00Z","timestamp":1728777600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2025]]},"DOI":"10.1007\/978-3-031-66149-5_9","type":"book-chapter","created":{"date-parts":[[2024,10,12]],"date-time":"2024-10-12T07:01:54Z","timestamp":1728716514000},"page":"167-175","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Learning the\u00a0State Machine Behind a\u00a0Modal Text Editor: The (Neo)Vim Case Study"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3625-6003","authenticated-orcid":false,"given":"Pierre","family":"Ganty","sequence":"first","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2024,10,13]]},"reference":[{"key":"9_CR1","unstructured":"Consecutive call of nvim_get_mode() does not return the same mode \u00b7 Issue #15288 \u00b7 neovim\/neovim \u2014 github.com. https:\/\/github.com\/neovim\/neovim\/issues\/15288. Accessed 05-01-2024"},{"key":"9_CR2","unstructured":"Different behavior between C-v and C-q \u00b7 Issue #12684 \u00b7 vim\/vim \u2014 github.com. https:\/\/github.com\/vim\/vim\/issues\/12684. Accessed 05 Jan 2024"},{"key":"9_CR3","unstructured":"GitHub - pierreganty\/active-learning-neovim: Active automata-based learning of the Moore machine underlying Neovim \u2014 github.com. https:\/\/github.com\/pierreganty\/active-learning-neovim. Accessed 10 Jan 2024"},{"key":"9_CR4","unstructured":"Non deterministic behavior when querying current mode \u00b7 Issue #8323 \u00b7 vim\/vim \u2014 github.com. https:\/\/github.com\/vim\/vim\/issues\/8323. Accessed 05 Jan 2024"},{"key":"9_CR5","unstructured":"Nvim lifecycle \u00b7 neovim\/neovim \u2014 github.com. https:\/\/github.com\/neovim\/neovim\/tree\/master\/src\/nvim#nvim-lifecycle. Accessed 05 Jan 2024"},{"key":"9_CR6","unstructured":"nvim_get_mode waits 3$$\\sim $$4 secs with \u2018showmode\u2019 enabled or when there are error messages \u00b7 Issue #19352 \u00b7 neovim\/neovim \u2014 github.com. https:\/\/github.com\/neovim\/neovim\/issues\/19352. Accessed 05 Jan 2024"},{"key":"9_CR7","unstructured":"Possible inconsistent behavior \u00b7 Issue #8346 \u00b7 vim\/vim \u2014 github.com. https:\/\/github.com\/vim\/vim\/issues\/8346. Accessed 05 Jan 2024"},{"key":"9_CR8","unstructured":"Possibly inconsistent behavior \u00b7 Issue #13649 \u00b7 vim\/vim \u2014 github.com. https:\/\/github.com\/vim\/vim\/issues\/13649. Accessed 05 Jan 2024"},{"key":"9_CR9","unstructured":"Possibly incorrect transitions between modes \u00b7 Issue #12115 \u00b7 vim\/vim \u2014 github.com. https:\/\/github.com\/vim\/vim\/issues\/12115. Accessed 05 Jan 2024"},{"key":"9_CR10","unstructured":"Possibly undocumented behavior with replace after visual \u00b7 Issue #13091 \u00b7 vim\/vim \u2014 github.com. https:\/\/github.com\/vim\/vim\/issues\/13091. Accessed 05 Jan 2024"},{"key":"9_CR11","unstructured":"Undocumented (possibly incorrect) behavior for Virtual Replace mode \u00b7 Issue #12045 \u00b7 vim\/vim \u2014 github.com. https:\/\/github.com\/vim\/vim\/issues\/12045. Accessed 05 Jan 2024"},{"key":"9_CR12","unstructured":"Unexpected behavior? \u00b7 Issue #10693 \u00b7 vim\/vim \u2014 github.com. https:\/\/github.com\/vim\/vim\/issues\/10693. Accessed 05 Jan 2024"},{"key":"9_CR13","unstructured":"Automata Wiki \u2014 automata.cs.ru.nl. https:\/\/automata.cs.ru.nl\/ (2017). Accessed 05 Jan 2024"},{"issue":"2","key":"9_CR14","doi-asserted-by":"publisher","first-page":"87","DOI":"10.1016\/0890-5401(87)90052-6","volume":"75","author":"D Angluin","year":"1987","unstructured":"Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75(2), 87\u2013106 (1987). https:\/\/doi.org\/10.1016\/0890-5401(87)90052-6","journal-title":"Inf. Comput."},{"key":"9_CR15","doi-asserted-by":"publisher","unstructured":"Bastian, M., Heymann, S., Jacomy, M.: Gephi: an open source software for exploring and manipulating networks. In: Proceedings of the International AAAI Conference on Web and Social Media 3(1), pp. 361\u2013362 (2009). https:\/\/doi.org\/10.1609\/icwsm.v3i1.13937","DOI":"10.1609\/icwsm.v3i1.13937"},{"issue":"11","key":"9_CR16","doi-asserted-by":"publisher","first-page":"1203","DOI":"10.1002\/1097-024X(200009)30:11<1203::AID-SPE338>3.0.CO;2-N","volume":"30","author":"ER Gansner","year":"2000","unstructured":"Gansner, E.R., North, S.C.: An open graph visualization system and its applications to software engineering. Softw. Pract. Exper. 30(11), 1203\u20131233 (2000)","journal-title":"Softw. Pract. Exper."},{"issue":"3","key":"9_CR17","doi-asserted-by":"publisher","first-page":"417","DOI":"10.1007\/s11334-022-00449-3","volume":"18","author":"E Mu\u0161kardin","year":"2022","unstructured":"Mu\u0161kardin, E., Aichernig, B.K., Pill, I., Pferscher, A., Tappler, M.: AALpy: an active automata learning library. Innovations Syst. Softw. Eng. 18(3), 417\u2013426 (2022). https:\/\/doi.org\/10.1007\/s11334-022-00449-3","journal-title":"Innovations Syst. Softw. Eng."},{"key":"9_CR18","doi-asserted-by":"publisher","unstructured":"Mu\u0161kardin, E., Aichernig, B.K., Pill, I., Tappler, M.: Learning finite state models from recurrent neural networks. In: Integrated Formal Methods, pp. 229\u2013248. LNCS, Springer, Cham (2022). https:\/\/doi.org\/10.1007\/978-3-031-07727-2_13","DOI":"10.1007\/978-3-031-07727-2_13"},{"key":"9_CR19","unstructured":"Parker, D.: Vim Modes Transition Diagram in SVG. https:\/\/gist.github.com\/darcyparker\/1886716 (2012). Accessed 05 Jan 2024"},{"key":"9_CR20","unstructured":"Pezzi, G.: Understanding the Origins and the Evolution of Vi & Vim. https:\/\/pikuma.com\/blog\/origins-of-vim-text-editor (2023). Accessed 05 Jan 2024"},{"key":"9_CR21","doi-asserted-by":"publisher","unstructured":"Pferscher, A., Aichernig, B.K.: Fingerprinting bluetooth low energy devices via active automata learning. In: FM 2021: Formal Methods, pp. 524\u2013542. LNCS. Springer, Cham (2021). https:\/\/doi.org\/10.1007\/978-3-030-90870-6_28","DOI":"10.1007\/978-3-030-90870-6_28"},{"key":"9_CR22","unstructured":"Pferscher, A., Wunderling, B., Aichernig, B.K., Mu\u0161kardin, E.: Mining digital twins of a VPN server. In: FMDT 2023: Proceedings of the Workshop on Applications of Formal Methods and Digital Twins. CEUR Workshop Proceedings, vol.\u00a03507 (2023)"},{"key":"9_CR23","doi-asserted-by":"publisher","unstructured":"Tappler, M., Aichernig, B.K., Bloem, R.: Model-based testing iot communication via active automata learning. In: ICST 2017: IEEE International Conference on Software Testing, Verification and Validation. IEEE (2017). https:\/\/doi.org\/10.1109\/icst.2017.32","DOI":"10.1109\/icst.2017.32"},{"issue":"2","key":"9_CR24","doi-asserted-by":"publisher","first-page":"86","DOI":"10.1145\/2967606","volume":"60","author":"F Vaandrager","year":"2017","unstructured":"Vaandrager, F.: Model Learning. Commun. ACM 60(2), 86\u201395 (2017). https:\/\/doi.org\/10.1145\/2967606","journal-title":"Commun. ACM"}],"container-title":["Lecture Notes in Computer Science","Model Checking Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-66149-5_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,12]],"date-time":"2024-10-12T07:06:45Z","timestamp":1728716805000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-66149-5_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,10,13]]},"ISBN":["9783031661488","9783031661495"],"references-count":24,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-66149-5_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2024,10,13]]},"assertion":[{"value":"13 October 2024","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"SPIN","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Model Checking Software","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Luxembourg City","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Luxembourg","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2024","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"10 April 2024","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 April 2024","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"spin2024","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/spin-web.github.io\/SPIN2024\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}