{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T07:20:48Z","timestamp":1740122448385,"version":"3.37.3"},"reference-count":48,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2020,9,8]],"date-time":"2020-09-08T00:00:00Z","timestamp":1599523200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,9,8]],"date-time":"2020-09-08T00:00:00Z","timestamp":1599523200000},"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":["Empir Software Eng"],"published-print":{"date-parts":[[2020,11]]},"DOI":"10.1007\/s10664-020-09865-0","type":"journal-article","created":{"date-parts":[[2020,9,10]],"date-time":"2020-09-10T07:01:39Z","timestamp":1599721299000},"page":"4759-4804","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Mining understandable state machine models from embedded code"],"prefix":"10.1007","volume":"25","author":[{"given":"Wasim","family":"Said","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4005-5124","authenticated-orcid":false,"given":"Jochen","family":"Quante","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rainer","family":"Koschke","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2020,9,8]]},"reference":[{"key":"9865_CR1","doi-asserted-by":"crossref","unstructured":"Alimadadi S, Mesbah A, Pattabiraman K (2018) Inferring hierarchical motifs from execution traces. In: Proceedings of 40th International conference on software engineering, pp 776\u2013787","DOI":"10.1145\/3180155.3180216"},{"key":"9865_CR2","doi-asserted-by":"crossref","unstructured":"Ammons G, Bod\u00edk R, Larus JR (2002) Mining specifications. In: Proceedings 29th symp. on principles of programming languages, pp 4\u201316","DOI":"10.1145\/503272.503275"},{"issue":"3","key":"9865_CR3","doi-asserted-by":"publisher","first-page":"847","DOI":"10.1007\/s10270-014-0440-2","volume":"15","author":"JH Bae","year":"2016","unstructured":"Bae JH, Chae HS (2016) Systematic approach for constructing an understandable state machine from a contract-based specification: Controlled experiments. Softw Syst Modell 15(3):847\u2013879","journal-title":"Softw Syst Modell"},{"key":"9865_CR4","unstructured":"Bailey RA (2008) Design of comparative experiments. Cambridge series in statistical and probabilistic mathematics. Cambridge University Press, Cambridge"},{"issue":"8","key":"9865_CR5","doi-asserted-by":"publisher","first-page":"677","DOI":"10.1109\/TC.1986.1676819","volume":"35","author":"RE Bryant","year":"1986","unstructured":"Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput 35(8):677\u2013691","journal-title":"IEEE Trans Comput"},{"key":"9865_CR6","unstructured":"Christensen LB (2001) Experimental methodology. Allyn & Bacon, Boston"},{"issue":"11","key":"9865_CR7","doi-asserted-by":"publisher","first-page":"1165","DOI":"10.1016\/j.infsof.2008.04.001","volume":"50","author":"RW Collins","year":"2008","unstructured":"Collins RW, Hevner AR, Walton GH, Linger RC (2008) The impacts of function extraction technology on program comprehension: a controlled experiment. Inf Softw Technol 50(11):1165\u20131179","journal-title":"Inf Softw Technol"},{"key":"9865_CR8","doi-asserted-by":"crossref","unstructured":"Corbett JC, Dwyer MB, Hatcliff J, Laubach S, Pasareanu CS, Robby ZH (2000) Bandera: extracting finite-state models from Java source code. In: Proceedings of 22nd International conference on software engineering, pp 439\u2013448","DOI":"10.1145\/337180.337234"},{"issue":"3","key":"9865_CR9","doi-asserted-by":"publisher","first-page":"341","DOI":"10.1109\/TSE.2010.47","volume":"37","author":"B Cornelissen","year":"2011","unstructured":"Cornelissen B, Zaidman A, van Deursen A (2011) A controlled experiment for program comprehension through trace visualization. IEEE Trans Softw Eng 37(3):341\u2013355","journal-title":"IEEE Trans Softw Eng"},{"key":"9865_CR10","doi-asserted-by":"crossref","unstructured":"Coudert O, Sasao T (2002) Two-level Logic Minimization, chap. 2. Springer, Boston, pp 1\u201327","DOI":"10.1007\/978-1-4615-0817-5_1"},{"issue":"11","key":"9865_CR11","doi-asserted-by":"publisher","first-page":"2209","DOI":"10.1016\/j.ins.2010.01.026","volume":"180","author":"JA Cruz-Lemus","year":"2010","unstructured":"Cruz-Lemus JA, Maes A, Genero M, Poels G, Piattini M (2010) The impact of structural complexity on the understandability of UML statechart diagrams. Inf Sci 180(11):2209\u20132220","journal-title":"Inf Sci"},{"key":"9865_CR12","doi-asserted-by":"crossref","unstructured":"de Moura LM, Bj\u00f8rner N (2008) Z3: an efficient SMT solver. In: Proceedings of 14th International conference on tools and algorithms for the construction and analysis of systems (TACAS), pp 337\u2013340","DOI":"10.1007\/978-3-540-78800-3_24"},{"issue":"3","key":"9865_CR13","doi-asserted-by":"publisher","first-page":"263","DOI":"10.1016\/j.jss.2004.04.028","volume":"77","author":"T Eisenbarth","year":"2005","unstructured":"Eisenbarth T, Koschke R, Vogel G (2005) Static object trace extraction for programs with pointers. J Syst Softw 77(3):263\u2013284","journal-title":"J Syst Softw"},{"key":"9865_CR14","unstructured":"Fjeldstad RK, Hamlen WT (1984) Application program maintenance study: Report to our respondents. In: Proceedings GUIDE 48"},{"key":"9865_CR15","doi-asserted-by":"crossref","unstructured":"Godefroid P, Klarlund N, Sen K (2005) DART: directed automated random testing. In: Proceedings of conf. on programming language design and implementation, pp 213\u2013223","DOI":"10.1145\/1064978.1065036"},{"key":"9865_CR16","doi-asserted-by":"publisher","first-page":"23","DOI":"10.1016\/j.jvlc.2014.12.004","volume":"28","author":"C Gravino","year":"2015","unstructured":"Gravino C, Scanniello G, Tortora G (2015) Source-code comprehension tasks supported by UML design models: Results from a controlled experiment and a differentiated replication. J Vis Lang Comput 28:23\u201338","journal-title":"J Vis Lang Comput"},{"issue":"4","key":"9865_CR17","doi-asserted-by":"publisher","first-page":"293","DOI":"10.1145\/235321.235322","volume":"5","author":"D Harel","year":"1996","unstructured":"Harel D, Naamad A (1996) The STATEMATE semantics of statecharts. ACM Trans Softw Eng Methodol (TOSEM) 5(4):293\u2013333","journal-title":"ACM Trans Softw Eng Methodol (TOSEM)"},{"key":"9865_CR18","doi-asserted-by":"crossref","unstructured":"Knor R, Trausmuth G, Weidl J (1998) Reengineering C\/C++ source code by transforming state machines. In: van der Linden F (ed) Development and evolution of software architectures for product families. Springer, Berlin, pp 97\u2013105","DOI":"10.1007\/3-540-68383-6_15"},{"key":"9865_CR19","doi-asserted-by":"crossref","unstructured":"Kumar A (2009) SCHAEM: A method to extract statechart representation of FSMs. In: Proceedings of int\u2019l advance computing conference, pp 1556\u20131561","DOI":"10.1109\/IADCC.2009.4809250"},{"key":"9865_CR20","doi-asserted-by":"crossref","unstructured":"Kung DC, Suchak N, Gao JZ, Hsia P, Toyoshima Y, Chen C (1994) On object state testing. In: Proceedings of 18th int\u2019l computer software and applications conference (COMPSAC), pp 222\u2013227","DOI":"10.1109\/CMPSAC.1994.342801"},{"key":"9865_CR21","unstructured":"Lind-Nielsen J (1999) BuDDy: A binary decision diagram package. https:\/\/sourceforge.net\/projects\/buddy\/"},{"key":"9865_CR22","doi-asserted-by":"crossref","unstructured":"Lo D, Khoo SC, Liu C (2007) Efficient mining of iterative patterns for software specification discovery. In: Proceedings of 13th International conference on knowledge discovery and data mining, pp 460\u2013469","DOI":"10.1145\/1281192.1281243"},{"key":"9865_CR23","doi-asserted-by":"crossref","unstructured":"Minelli R, Mocci A, Lanza M (2015) I know what you did last summer: An investigation of how developers spend their time. In: Proceedings of 23rd International conference on program comprehension, ICPC \u201915, pp 25\u201335","DOI":"10.1109\/ICPC.2015.12"},{"issue":"4","key":"9865_CR24","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1145\/222132.222136","volume":"20","author":"GC Murphy","year":"1995","unstructured":"Murphy GC, Notkin D, Sullivan K (1995) Software reflexion models: Bridging the gap between source and high-level models. SIGSOFT Softw Eng Notes 20(4):18\u201328","journal-title":"SIGSOFT Softw Eng Notes"},{"key":"9865_CR25","doi-asserted-by":"crossref","unstructured":"Parnas DL (1994) Software aging. In: Proceedings of 16th International conference on software engineering (ICSE), pp 279\u2013287","DOI":"10.1109\/ICSE.1994.296790"},{"key":"9865_CR26","doi-asserted-by":"crossref","unstructured":"Quante J (2008) Do dynamic object process graphs support program understanding? - a controlled experiment. In: 2008 16th IEEE international conference on program comprehension, pp 73\u201382","DOI":"10.1109\/ICPC.2008.15"},{"issue":"3","key":"9865_CR27","doi-asserted-by":"publisher","first-page":"1743","DOI":"10.1007\/s10664-017-9563-8","volume":"23","author":"F Ricca","year":"2018","unstructured":"Ricca F, Torchiano M, Leotta M, Tiso A, Guerrini G, Reggio G (2018) On the impact of state-based model-driven development on maintainability: a family of experiments using unimod. Empir Softw Eng 23(3):1743\u20131790","journal-title":"Empir Softw Eng"},{"key":"9865_CR28","doi-asserted-by":"crossref","unstructured":"Roehm T, Tiarks R, Koschke R, Maalej W (2012) How do professional developers comprehend software?. In: Proceedings of 34th International conference on software engineering, pp 255\u2013265","DOI":"10.1109\/ICSE.2012.6227188"},{"key":"9865_CR29","doi-asserted-by":"crossref","unstructured":"Rudell RL (1986) Multiple-valued logic minimization for PLA synthesis. Technical report, California Univ. Berkeley Electronics Research Lab","DOI":"10.21236\/ADA606736"},{"key":"9865_CR30","doi-asserted-by":"crossref","unstructured":"Said W, Quante J, Koschke R (2018a) On state machine mining from embedded control software. In: Proceedings of 34th International conference on software maintenance and evolution, pp 163\u2013172","DOI":"10.1109\/ICSME.2018.00024"},{"key":"9865_CR31","doi-asserted-by":"crossref","unstructured":"Said W, Quante J, Koschke R (2018b) Towards interactive mining of understandable state machine models from embedded software. In: Proceedings of 6th International conference on model-driven engineering and software development (MODELSWARD), pp 117\u2013128","DOI":"10.5220\/0006593501170128"},{"key":"9865_CR32","doi-asserted-by":"crossref","unstructured":"Said W, Quante J, Koschke R (2019a) Do extracted state machine models help to understand embedded software?. In: Proceedings of 27th International conference on program comprehension (ICPC), pp 191\u2013196","DOI":"10.1109\/ICPC.2019.00038"},{"key":"9865_CR33","doi-asserted-by":"crossref","unstructured":"Said W, Quante J, Koschke R (2019b) Towards understandable guards of extracted state machines from embedded software. In: 26th International conference on software analysis, evolution and reengineering (SANER), pp 264\u2013274","DOI":"10.1109\/SANER.2019.8667983"},{"issue":"5","key":"9865_CR34","doi-asserted-by":"publisher","first-page":"2695","DOI":"10.1007\/s10664-017-9591-4","volume":"23","author":"G Scanniello","year":"2018","unstructured":"Scanniello G, Gravino C, Genero M, Cruz-Lemus JA, Tortora G, Risi M, Dodero G (2018) Do software models based on the UML aid in source-code comprehensibility? aggregating evidence from 12 controlled experiments. Empir Softw Eng 23(5):2695\u20132733","journal-title":"Empir Softw Eng"},{"key":"9865_CR35","doi-asserted-by":"crossref","unstructured":"Sen K, Marinov D, Agha G (2005) CUTE: a concolic unit testing engine for C. In: Proceedings of 10th european software engineering conf. \/ 13th int\u2019l symp. on foundations of software engineering, pp 263\u2013272","DOI":"10.1145\/1081706.1081750"},{"issue":"2","key":"9865_CR36","doi-asserted-by":"publisher","first-page":"497","DOI":"10.1007\/s10270-014-0415-3","volume":"15","author":"T Sen","year":"2016","unstructured":"Sen T, Mall R (2016) Extracting finite state representation of Java programs. Softw Syst Model 15(2):497\u2013511","journal-title":"Softw Syst Model"},{"issue":"5","key":"9865_CR37","doi-asserted-by":"publisher","first-page":"651","DOI":"10.1109\/TSE.2008.63","volume":"34","author":"S Shoham","year":"2008","unstructured":"Shoham S, Yahav E, Fink SJ, Pistoia M (2008) Static specification mining using automata-based abstractions. IEEE Trans Softw Eng 34(5):651\u2013666","journal-title":"IEEE Trans Softw Eng"},{"issue":"4","key":"9865_CR38","doi-asserted-by":"publisher","first-page":"410","DOI":"10.1145\/1178625.1178628","volume":"15","author":"G Snelting","year":"2006","unstructured":"Snelting G, Robschink T, Krinke J (2006) Efficient path conditions in dependence graphs for software safety analysis. ACM Trans Softw Eng Methodol 15 (4):410\u2013457","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"9865_CR39","doi-asserted-by":"crossref","unstructured":"Som\u0117 SS, Lethbridge T (2002) Enhancing program comprehension with recovered state models. In: 10th int\u2019l workshop on program comprehension (IWPC), pp 85\u201393","DOI":"10.1109\/WPC.2002.1021325"},{"issue":"3","key":"9865_CR40","doi-asserted-by":"publisher","first-page":"355","DOI":"10.1016\/S0022-0000(74)80049-8","volume":"9","author":"RE Tarjan","year":"1974","unstructured":"Tarjan RE (1974) Testing flow graph reducibility. J Comput Syst Sci 9(3):355\u2013365","journal-title":"J Comput Syst Sci"},{"key":"9865_CR41","unstructured":"Tonella P, Potrich A (2011) Reverse engineering of object oriented code. Springer Publishing Company, Incorporated"},{"key":"9865_CR42","unstructured":"van den Brand M, Serebrenik A, van Zeeland D (2008) Extraction of state machines of legacy C code with cpp2XMI. In: Proceedings of 7th belgian-netherlands software evolution workshop, pp 28\u201330"},{"key":"9865_CR43","doi-asserted-by":"crossref","unstructured":"Vasu S, Kust O (2018) SCODE: Designing and verifying functionally safe systems in conformance to IEC61508 and ISO26262. In: Bargende M, Reuss HC, Wiedemann J (eds) Internationales Stuttgarter symposium, vol 18. Springer Fachmedien, Wiesbaden, pp 981\u2013992","DOI":"10.1007\/978-3-658-21194-3_74"},{"issue":"2","key":"9865_CR44","doi-asserted-by":"publisher","first-page":"99","DOI":"10.1002\/stvr.380","volume":"18","author":"N Walkinshaw","year":"2008","unstructured":"Walkinshaw N, Bogdanov K, Ali S, Holcombe M (2008) Automated discovery of state transitions and their functions in source code. Softw Test Verif Reliab 18(2):99\u2013121","journal-title":"Softw Test Verif Reliab"},{"issue":"4","key":"9865_CR45","doi-asserted-by":"publisher","first-page":"218","DOI":"10.1145\/566171.566212","volume":"27","author":"J Whaley","year":"2002","unstructured":"Whaley J, Martin MC, Lam MS (2002) Automatic extraction of object-oriented component interfaces. SIGSOFT Softw Eng Notes 27(4):218\u2013228","journal-title":"SIGSOFT Softw Eng Notes"},{"key":"9865_CR46","doi-asserted-by":"crossref","unstructured":"Xiao H, Sun J, Liu Y, Lin S, Sun C (2013) TzuYu: Learning stateful typestates. In: Proceedings of 28th International conference on automated software engineering, pp 432\u2013442","DOI":"10.1109\/ASE.2013.6693101"},{"key":"9865_CR47","doi-asserted-by":"crossref","unstructured":"Xie T, Martin E, Yuan H (2006) Automatic extraction of abstract-object-state machines from unit-test executions. In: Proceedings of 28th International conference on software engineering, pp 835\u2013838","DOI":"10.1145\/1134285.1134427"},{"key":"9865_CR48","doi-asserted-by":"crossref","unstructured":"Zimmerman MK, Lundqvist K, Leveson N (2002) Investigating the readability of state-based formal requirements specification languages. In: Proceedings of 24th International conference on software engineering, pp 33\u201343","DOI":"10.1145\/581344.581347"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-020-09865-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-020-09865-0\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-020-09865-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,9,7]],"date-time":"2021-09-07T23:59:43Z","timestamp":1631059183000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-020-09865-0"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,9,8]]},"references-count":48,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2020,11]]}},"alternative-id":["9865"],"URL":"https:\/\/doi.org\/10.1007\/s10664-020-09865-0","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"type":"print","value":"1382-3256"},{"type":"electronic","value":"1573-7616"}],"subject":[],"published":{"date-parts":[[2020,9,8]]},"assertion":[{"value":"8 September 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}