{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T23:12:58Z","timestamp":1725577978384},"publisher-location":"Berlin, Heidelberg","reference-count":29,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540356318"},{"type":"electronic","value":"9783540356325"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2006]]},"DOI":"10.1007\/11783596_12","type":"book-chapter","created":{"date-parts":[[2006,6,28]],"date-time":"2006-06-28T10:35:02Z","timestamp":1151490902000},"page":"162-179","source":"Crossref","is-referenced-by-count":6,"title":["Fission for Program Comprehension"],"prefix":"10.1007","author":[{"given":"Jeremy","family":"Gibbons","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"volume-title":"The New Hacker\u2019s Dictionary","year":"1991","key":"12_CR1","unstructured":"Raymond, E.S. (ed.): The New Hacker\u2019s Dictionary. MIT Press, Cambridge (1991)"},{"issue":"22","key":"12_CR2","first-page":"35","volume":"18","author":"A. Eastwood","year":"1992","unstructured":"Eastwood, A.: It\u2019s a hard sell\u2014and hard work too (software re-engineering). Computing Canada\u00a018(22), 35 (1992)","journal-title":"Computing Canada"},{"issue":"4","key":"12_CR3","doi-asserted-by":"crossref","first-page":"487","DOI":"10.1145\/1780.1781","volume":"6","author":"R.S. Bird","year":"1984","unstructured":"Bird, R.S.: The promotion and accumulation strategies in transformational programming. ACM Trans. on Program. Lang. and Syst. 6(4), 487\u2013504 (1984); Addendum in 7(3), 490\u2013492 (1985)","journal-title":"ACM Trans. on Program. Lang. and Syst."},{"key":"12_CR4","volume-title":"An Introduction to Functional Programming","author":"R.S. Bird","year":"1988","unstructured":"Bird, R.S., Wadler, P.L.: An Introduction to Functional Programming. Prentice Hall, Englewood Cliffs (1988)"},{"issue":"5","key":"12_CR5","doi-asserted-by":"publisher","first-page":"413","DOI":"10.1007\/BF01211391","volume":"4","author":"L. Meertens","year":"1992","unstructured":"Meertens, L.: Paramorphisms. Formal Aspects of Comput.\u00a04(5), 413\u2013424 (1992)","journal-title":"Formal Aspects of Comput."},{"key":"12_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"124","DOI":"10.1007\/3540543961_7","volume-title":"Functional Programming Languages and Computer Architecture","author":"E. Meijer","year":"1991","unstructured":"Meijer, E., Fokkinga, M., Paterson, R.: Functional programming with bananas, lenses, envelopes and barbed wire. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol.\u00a0523, pp. 124\u2013144. Springer, Heidelberg (1991)"},{"key":"12_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"355","DOI":"10.1007\/3-540-57499-9_26","volume-title":"Formal Program Development","author":"S.D. Swierstra","year":"1993","unstructured":"Swierstra, S.D., de Moor, O.: Virtual data structures. In: M\u00f6ller, B., Schuman, S., Partsch, H. (eds.) Formal Program Development. LNCS, vol.\u00a0755, pp. 355\u2013371. Springer, Heidelberg (1993)"},{"key":"12_CR8","doi-asserted-by":"publisher","first-page":"231","DOI":"10.1016\/0304-3975(90)90147-A","volume":"73","author":"P. Wadler","year":"1990","unstructured":"Wadler, P.: Deforestation: Transforming programs to eliminate trees. Theor. Comput. Sci.\u00a073, 231\u2013248 (1990)","journal-title":"Theor. Comput. Sci."},{"key":"12_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"149","DOI":"10.1007\/3-540-47797-7_5","volume-title":"Algebraic and Coalgebraic Methods in the Mathematics of Program Construction","author":"J. Gibbons","year":"2002","unstructured":"Gibbons, J.: Calculating functional programs. In: Blackhouse, R., Crole, R.L., Gibbons, J. (eds.) Algebraic and Coalgebraic Methods in the Mathematics of Program Construction. LNCS, vol.\u00a02297, pp. 149\u2013203. Springer, Heidelberg (2002)"},{"key":"12_CR10","volume-title":"The C Programming Language","author":"B.W. Kernighan","year":"1988","unstructured":"Kernighan, B.W., Ritchie, D.M.: The C Programming Language. Prentice Hall, Englewood Cliffs (1988)"},{"issue":"4","key":"12_CR11","doi-asserted-by":"publisher","first-page":"352","DOI":"10.1109\/TSE.1984.5010248","volume":"10","author":"M. Weiser","year":"1984","unstructured":"Weiser, M.: Program slicing. IEEE Trans. on Softw. Engin.\u00a010(4), 352\u2013357 (1984)","journal-title":"IEEE Trans. on Softw. Engin."},{"key":"12_CR12","doi-asserted-by":"publisher","first-page":"35","DOI":"10.1109\/WCRE.2001.957808","volume-title":"Proc. of 8th Working Conf. on Reverse Engineering, WCRE 2001","author":"G. Villavicencio","year":"2001","unstructured":"Villavicencio, G., Oliveira, J.N.: Reverse program calculation supported by code slicing. In: Proc. of 8th Working Conf. on Reverse Engineering, WCRE 2001, pp. 35\u201348. IEEE, Los Alamitos (2001)"},{"key":"12_CR13","doi-asserted-by":"crossref","unstructured":"Gibbons, J.: Origami programming. In: Gibbons, J., de Moor, O. (eds.) The Fun of Programming. Cornerstones in Computing, Palgrave, pp. 41\u201360 (2003)","DOI":"10.1007\/978-1-349-91518-7_3"},{"key":"12_CR14","doi-asserted-by":"publisher","first-page":"273","DOI":"10.1145\/289423.289455","volume-title":"Proc. of 3rd ACM SIGPLAN Int. Conf. on Functional Programming, ICFP 1988","author":"J. Gibbons","year":"1998","unstructured":"Gibbons, J., Jones, G.: The under-appreciated unfold. In: Proc. of 3rd ACM SIGPLAN Int. Conf. on Functional Programming, ICFP 1988, pp. 273\u2013279. ACM Press, New York (1998)"},{"key":"12_CR15","unstructured":"Nelson, M.L.: A survey of reverse engineering and program comprehension. Techn. Report cs.SE\/0503068, arXiv.org (1996)"},{"key":"12_CR16","volume-title":"Structured Programming: Theory and Practice","author":"R.C. Linger","year":"1979","unstructured":"Linger, R.C., Mills, H.D., Witt, B.I.: Structured Programming: Theory and Practice. Addison-Wesley, Reading (1979)"},{"key":"12_CR17","volume-title":"How to Solve It by Computer","author":"R.G. Dromey","year":"1982","unstructured":"Dromey, R.G.: How to Solve It by Computer. Prentice Hall, Englewood Cliffs (1982)"},{"issue":"2","key":"12_CR18","doi-asserted-by":"publisher","first-page":"97","DOI":"10.1093\/comjnl\/27.2.97","volume":"27","author":"D.E. Knuth","year":"1984","unstructured":"Knuth, D.E.: Literate programming. Computer J.\u00a027(2), 97\u2013111 (1984)","journal-title":"Computer J."},{"key":"12_CR19","doi-asserted-by":"crossref","unstructured":"Deimel, L.E., Naveda, J.F.: Reading computer programs: Instructor\u2019s guide and exercises. Techn. Report CMU\/SEI-90-EM-3. Software Engineering Inst., Carnegie-Mellon University (1990)","DOI":"10.21236\/ADA228026"},{"issue":"8","key":"12_CR20","doi-asserted-by":"publisher","first-page":"650","DOI":"10.1093\/comjnl\/42.8.650","volume":"42","author":"M.P. Ward","year":"1999","unstructured":"Ward, M.P., Bennett, K.H.: Recursion removal\/introduction by formal transformation: An aid to program development and program comprehension. Computer J.\u00a042(8), 650\u2013673 (1999)","journal-title":"Computer J."},{"issue":"8","key":"12_CR21","first-page":"754","volume":"7","author":"J.N. Oliveira","year":"2001","unstructured":"Oliveira, J.N.: Bagatelle in C arranged for VDM SoLo. J. of Univ. Comput. Sci.\u00a07(8), 754\u2013781 (2001)","journal-title":"J. of Univ. Comput. Sci."},{"key":"12_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/10704973_1","volume-title":"Advanced Functional Programming","author":"L. Augusteijn","year":"1999","unstructured":"Augusteijn, L.: Sorting morphisms. In: Swierstra, S.D., Oliveira, J.N. (eds.) AFP 1998. LNCS, vol.\u00a01608, pp. 1\u201327. Springer, Heidelberg (1999)"},{"key":"12_CR23","unstructured":"Gibbons, J.: Patterns in datatype-generic programming. In: Striegnitz, J., Davis, K. (eds.) Multiparadigm Programming 2003: Joint Proc. of 3rd Int. Wksh. on Multiparadigm Programming with Object-Oriented Languages, MPOOL 2003, and 1st Int. Wksh. on Declarative Programming in the Context of Object-Oriented Languages (PD-COOL 2003). NIC Series. John von Neumann Institute for Computing (NIC), vol.\u00a027, pp. 277\u2013289 (2003)"},{"key":"12_CR24","doi-asserted-by":"crossref","unstructured":"Gibbons, J.: Design patterns as higher-order datatype-generic programs (submitted for publication, 2006)","DOI":"10.1145\/1159861.1159863"},{"key":"12_CR25","doi-asserted-by":"publisher","first-page":"63","DOI":"10.1145\/141936.141943","volume-title":"Proc. of 7th Ann. Conf. on Object-Oriented Programming Systems, Languages and Applications, OOPSLA 1992","author":"R. Johnson","year":"1992","unstructured":"Johnson, R.: Documenting frameworks using patterns. In: Proc. of 7th Ann. Conf. on Object-Oriented Programming Systems, Languages and Applications, OOPSLA 1992, pp. 63\u201376. ACM Press, New York (1992)"},{"key":"12_CR26","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E. Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)"},{"key":"12_CR27","unstructured":"Bobeff, G., Noy\u00e9, J.: Molding components using program specialization techniques. In: Bosch, J., Szyperski, C., Weck, W. (eds.) Proc. of 8th Int. Wksh. on Component-Oriented Programming, WCOP 2003 (2003)"},{"issue":"8","key":"12_CR28","doi-asserted-by":"publisher","first-page":"751","DOI":"10.1109\/32.83912","volume":"17","author":"K.B. Gallagher","year":"1991","unstructured":"Gallagher, K.B., Lyle, J.R.: Using program slicing in software maintenance. IEEE Trans. on Softw. Engin.\u00a017(8), 751\u2013761 (1991)","journal-title":"IEEE Trans. on Softw. Engin."},{"key":"12_CR29","unstructured":"PURe research group: Program understanding and re-engineering: Calculi and applications (1999-2005), Web site: \n                    \n                      http:\/\/wiki.di.uminho.pt\/wiki\/bin\/view\/PURe\/"}],"container-title":["Lecture Notes in Computer Science","Mathematics of Program Construction"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/11783596_12.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,17]],"date-time":"2020-11-17T15:07:48Z","timestamp":1605625668000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/11783596_12"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006]]},"ISBN":["9783540356318","9783540356325"],"references-count":29,"URL":"https:\/\/doi.org\/10.1007\/11783596_12","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2006]]}}}