{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,30]],"date-time":"2025-10-30T07:04:15Z","timestamp":1761807855503},"reference-count":60,"publisher":"Elsevier","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2013]]},"DOI":"10.1016\/b978-0-12-408089-8.00001-x","type":"book-chapter","created":{"date-parts":[[2013,8,17]],"date-time":"2013-08-17T08:45:20Z","timestamp":1376729120000},"page":"1-58","source":"Crossref","is-referenced-by-count":6,"title":["Reverse-Engineering Software Behavior"],"prefix":"10.1016","author":[{"given":"Neil","family":"Walkinshaw","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0005","series-title":"BASIC computer games: microcomputer edition","author":"Ahl","year":"1978"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0010","series-title":"Compilers: Principles, Techniques, Tools","author":"Aho","year":"1986"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0015","doi-asserted-by":"crossref","first-page":"592","DOI":"10.1109\/TC.1972.5009015","article-title":"On the synthesis of finite-state machines from samples of their behavior","volume":"21","author":"Biermann","year":"1972","journal-title":"IEEE Trans. Comput C."},{"issue":"7","key":"10.1016\/B978-0-12-408089-8.00001-X_b0020","doi-asserted-by":"crossref","first-page":"430","DOI":"10.1016\/j.scico.2009.02.006","article-title":"Identifier length and limited programmer memory","volume":"74","author":"Binkley","year":"2009","journal-title":"Sci. Comput. Program"},{"issue":"4","key":"10.1016\/B978-0-12-408089-8.00001-X_b0025","first-page":"52","article-title":"Application of cognitive complexity metrics to object-oriented programs","volume":"7","author":"Cant","year":"1994","journal-title":"JOOP"},{"issue":"1","key":"10.1016\/B978-0-12-408089-8.00001-X_b0030","doi-asserted-by":"crossref","first-page":"57","DOI":"10.1145\/225871.225880","article-title":"Automatic generation of functional vectors using the extended finite state machine model","volume":"1","author":"Cheng","year":"1996","journal-title":"ACM Trans. Design Autom. Electr. Syst."},{"issue":"1","key":"10.1016\/B978-0-12-408089-8.00001-X_b0035","doi-asserted-by":"crossref","first-page":"13","DOI":"10.1109\/52.43044","article-title":"Reverse engineering and design recovery: a taxonomy","volume":"7","author":"Elliot","year":"1990","journal-title":"IEEE Softw."},{"issue":"3","key":"10.1016\/B978-0-12-408089-8.00001-X_b0040","doi-asserted-by":"crossref","first-page":"215","DOI":"10.1145\/287000.287001","article-title":"Discovering models of software processes from event-based data","volume":"7","author":"Cook","year":"1998","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0045","series-title":"Proceedings of the Fourth ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages","first-page":"238","article-title":"Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints","author":"Cousot","year":"1977"},{"issue":"4","key":"10.1016\/B978-0-12-408089-8.00001-X_b0050","doi-asserted-by":"crossref","first-page":"451","DOI":"10.1145\/115372.115320","article-title":"Efficiently computing static single assignment form and the control dependence graph","volume":"13","author":"Cytron","year":"1991","journal-title":"ACM Trans. Progr. Lang. Syst. (TOPLAS)"},{"issue":"12","key":"10.1016\/B978-0-12-408089-8.00001-X_b0055","doi-asserted-by":"crossref","first-page":"1056","DOI":"10.1109\/TSE.2005.138","article-title":"Generating annotated behavior models from end-user scenarios","volume":"31","author":"Damas","year":"2005","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"1","key":"10.1016\/B978-0-12-408089-8.00001-X_b0060","doi-asserted-by":"crossref","first-page":"45","DOI":"10.1023\/A:1011227529550","article-title":"LCSs: breathing life into message sequence charts","volume":"19","author":"Damm","year":"2001","journal-title":"Formal Methods Syst. Design"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0065","first-page":"267","article-title":"Bogor: an extensible and highly-modular software model checking framework","volume":"vol. 28","author":"Dwyer","year":"2003"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0070","series-title":"WODA 2003: ICSE Workshop on Dynamic Analysis","first-page":"24","article-title":"Static and dynamic analysis: synergy and duality","author":"Ernst","year":"2003"},{"issue":"2","key":"10.1016\/B978-0-12-408089-8.00001-X_b0075","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/32.908957","article-title":"Dynamically discovering likely program invariants to support program evolution","volume":"27","author":"Ernst","year":"2001","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"3","key":"10.1016\/B978-0-12-408089-8.00001-X_b0080","doi-asserted-by":"crossref","first-page":"319","DOI":"10.1145\/24039.24041","article-title":"The program dependence graph and its use in optimization","volume":"9","author":"Ferrante","year":"1987","journal-title":"ACM Trans. Progr. Lang. Syst. (TOPLAS)"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0085","series-title":"ICST","first-page":"300","article-title":"Behaviorally adequate software testing","author":"Fraser","year":"2012"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0090","series-title":"Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA \u201997)","first-page":"108","article-title":"Call graph construction in object-oriented languages","author":"Grove","year":"1997"},{"issue":"1","key":"10.1016\/B978-0-12-408089-8.00001-X_b0095","doi-asserted-by":"crossref","first-page":"77","DOI":"10.1145\/343369.343384","article-title":"Sequential abstract-state machines capture sequential algorithms","volume":"1","author":"Gurevich","year":"2000","journal-title":"ACM Trans. Comput. Logic"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0100","series-title":"Companion of the 30th International Conference on Software Engineering","first-page":"959","article-title":"Test case generator for guitar","author":"Hackner","year":"2008"},{"issue":"1","key":"10.1016\/B978-0-12-408089-8.00001-X_b0105","doi-asserted-by":"crossref","first-page":"10","DOI":"10.1145\/1656274.1656278","article-title":"The weka data mining software: an update","volume":"11","author":"Hall","year":"2009","journal-title":"ACM SIGKDD Explorations Newslett."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0110","series-title":"Encyclopedia of Software Engineering","article-title":"Random testing","author":"Hamlet","year":"1994"},{"issue":"10","key":"10.1016\/B978-0-12-408089-8.00001-X_b0115","doi-asserted-by":"crossref","first-page":"576","DOI":"10.1145\/363235.363259","article-title":"An axiomatic basis for computer programming","volume":"12","author":"Hoare","year":"1969","journal-title":"Commun. ACM"},{"issue":"3\/4","key":"10.1016\/B978-0-12-408089-8.00001-X_b0120","doi-asserted-by":"crossref","first-page":"149","DOI":"10.1002\/stvr.4370030304","article-title":"An integrated methodology for the specification, verification and testing of systems","volume":"3","author":"Holcombe","year":"1993","journal-title":"Softw. Test. Verif. Reliab."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0125","unstructured":"Message sequence chart (MSC), ITU-T Recommendation Z.120, International Telecommunications Union, November 1996."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0130","series-title":"Software Abstractions: Logic, Language, and Analysis","author":"Jackson","year":"2006"},{"issue":"7","key":"10.1016\/B978-0-12-408089-8.00001-X_b0135","doi-asserted-by":"crossref","first-page":"385","DOI":"10.1145\/360248.360252","article-title":"Symbolic execution and program testing","volume":"19","author":"King","year":"1976","journal-title":"Commun. ACM"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0140","series-title":"Proceedings of the 14th International Joint Conference on Artificial Intelligence","first-page":"1137","article-title":"A study of cross-validation and bootstrap for accuracy estimation and model selection","author":"Kohavi","year":"1995"},{"issue":"1","key":"10.1016\/B978-0-12-408089-8.00001-X_b0145","article-title":"Madmatch: many-to-many approximate diagram matching for design comparison","volume":"99","author":"Kpodjedo","year":"2013","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0150","series-title":"Proceedings of the 18th Annual International Computer Software and Applications Conference, 1994. COMPSAC 94","first-page":"222","article-title":"On object state testing","author":"Kung","year":"1994"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0155","series-title":"Grammatical Inference Fourth International Colloquium, ICGI-98","first-page":"1","article-title":"Results of the Abbadingo One DFA learning competition and a new evidence-driven state merging algorithm","author":"Lang","year":"1998"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0160","series-title":"Proceedings of the Fifth Annual Workshop on Computational Learning Theory","first-page":"45","article-title":"Random DFA\u2019s can be approximately learned from sparse uniform examples","author":"Lang","year":"1992"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0165","doi-asserted-by":"crossref","first-page":"1090","DOI":"10.1109\/5.533956","article-title":"Principles and methods of testing finite state machines\u2014a survey","volume":"84","author":"Lee","year":"1996","journal-title":"Proc. IEEE"},{"issue":"3","key":"10.1016\/B978-0-12-408089-8.00001-X_b0170","doi-asserted-by":"crossref","first-page":"41","DOI":"10.1109\/MS.1986.233414","article-title":"Delocalized plans and program comprehension","volume":"3","author":"Letovsky","year":"1986","journal-title":"IEEE Softw."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0175","series-title":"WCRE","first-page":"51","article-title":"QUARK: empirical assessment of automaton-based specification miners","author":"Lo","year":"2006"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0180","series-title":"ICSE","first-page":"501","article-title":"Automatic generation of software behavioral models","author":"Lorenzoli","year":"2008"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0185","unstructured":"B. Martin, Instance-based learning: nearest neighbour with generalisation, PhD thesis, University of Waikato, 1995."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0190","series-title":"Machine Learning","author":"Mitchell","year":"1997"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0195","series-title":"Automata Studies, number 34 in Annals of Mathematics Studies","first-page":"129","article-title":"Gedanken-experiments on sequential machines","author":"Moore","year":"1956"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0200","unstructured":"Object Management Group, Framingham, Massachusetts. OMG Unified Modeling Language Specification Version 1.3, June 1999."},{"issue":"6","key":"10.1016\/B978-0-12-408089-8.00001-X_b0205","doi-asserted-by":"crossref","first-page":"676","DOI":"10.1145\/62959.62964","article-title":"The category-partition method for specifying and generating fuctional tests","volume":"31","author":"Ostrand","year":"1988","journal-title":"Commun. ACM"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0210","first-page":"815","article-title":"Randoop: feedback-directed random testing for java","volume":"vol. 21","author":"Pacheco","year":"2007"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0215","series-title":"ICSM","first-page":"1","article-title":"A framework for the evaluation of specification miners based on finite state machines","author":"Pradel","year":"2010"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0220","series-title":"Information Retrieval","author":"Van Rijsbergen","year":"1979"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0225","series-title":"McGraw-Hill Series in Higher Mathematics","article-title":"Theory of recursive functions and effective computability","author":"Rogers","year":"1967"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0230","series-title":"Introduction, The Pillars of Computation Theory","author":"Rosenberg","year":"2010"},{"issue":"3","key":"10.1016\/B978-0-12-408089-8.00001-X_b0235","doi-asserted-by":"crossref","first-page":"216","DOI":"10.1109\/TSE.1979.234183","article-title":"Constructing the call graph of a program","volume":"5","author":"Ryder","year":"1979","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"5","key":"10.1016\/B978-0-12-408089-8.00001-X_b0240","doi-asserted-by":"crossref","first-page":"651","DOI":"10.1109\/TSE.2008.63","article-title":"Static specification mining using automata-based abstractions","volume":"34","author":"Shoham","year":"2008","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0245","series-title":"Software Engineering","author":"Sommerville","year":"2004"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0250","series-title":"Reverse Engineering of Object Oriented Code","author":"Tonella","year":"2004"},{"issue":"2","key":"10.1016\/B978-0-12-408089-8.00001-X_b0255","doi-asserted-by":"crossref","first-page":"203","DOI":"10.1023\/A:1022920129859","article-title":"Model checking programs","volume":"10","author":"Visser","year":"2003","journal-title":"Automat. Softw. Eng."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0260","series-title":"Proceedings of the 2008 23rd IEEE\/ACM International Conference on Automated Software Engineering","first-page":"248","article-title":"Inferring finite-state models with temporal constraints","author":"Walkinshaw","year":"2008"},{"issue":"22","key":"10.1016\/B978-0-12-408089-8.00001-X_b0265","article-title":"Automated comparison of state-based software models in terms of their language and structure","volume":"2","author":"Walkinshaw","year":"2013","journal-title":"ACM Trans. Softw. Eng. Methodol. (TOSEM)"},{"issue":"2","key":"10.1016\/B978-0-12-408089-8.00001-X_b0270","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1002\/stvr.380","article-title":"Automated discovery of state transitions and their functions in source code","volume":"18","author":"Walkinshaw","year":"2008","journal-title":"Softw. Test. Verif. Reliab."},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0275","series-title":"FM 2009: Formal Methods, Second World Congress, Eindhoven, The Netherlands, November 2\u20139, 2009","first-page":"305","article-title":"Iterative refinement of reverse-engineered models by model-based testing","volume":"vol. 5850","author":"Walkinshaw","year":"2009"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0280","series-title":"ICSM","first-page":"54","article-title":"Feature location and extraction using landmarks and barriers","author":"Walkinshaw","year":"2007"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0285","series-title":"Proceedings of the Fifth International Conference on Software Engineering","first-page":"439","article-title":"Program slicing","author":"Weiser","year":"1981"},{"issue":"7","key":"10.1016\/B978-0-12-408089-8.00001-X_b0290","doi-asserted-by":"crossref","first-page":"446","DOI":"10.1145\/358557.358577","article-title":"Programmers use slices when debugging","volume":"25","author":"Weiser","year":"1982","journal-title":"Commun. ACM"},{"key":"10.1016\/B978-0-12-408089-8.00001-X_b0295","volume":"vol. 1","author":"Woodcock","year":"1996"},{"issue":"2","key":"10.1016\/B978-0-12-408089-8.00001-X_b0300","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1002\/stvr.4370020204","article-title":"Inductive inference and software testing","volume":"2","author":"Zhu","year":"1993","journal-title":"J. Softw. Test. Verif. Reliab."}],"container-title":["Advances in Computers"],"original-title":[],"deposited":{"date-parts":[[2018,10,13]],"date-time":"2018-10-13T21:56:38Z","timestamp":1539467798000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/B978012408089800001X"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013]]},"references-count":60,"URL":"https:\/\/doi.org\/10.1016\/b978-0-12-408089-8.00001-x","relation":{},"ISSN":["0065-2458"],"issn-type":[{"value":"0065-2458","type":"print"}],"subject":[],"published":{"date-parts":[[2013]]}}}