A Specification Driven Slicing Process for Identifying Reusable Functions

1996; Wiley; Volume: 8; Issue: 3 Linguagem: Inglês

10.1002/(sici)1096-908x(199605)8

ISSN

1096-908X

Autores

ANIELLO CIMITILE, ANDREA DE LUCIA, Malcolm Munro,

Tópico(s)

Advanced Malware Detection Techniques

Resumo

Journal of Software Maintenance: Research and PracticeVolume 8, Issue 3 p. 145-178 Research Article A Specification Driven Slicing Process for Identifying Reusable Functions ANIELLO CIMITILE, Corresponding Author ANIELLO CIMITILE Department of 'Ingegneria dell'Informazione ed Ingegneria Elettrica', University of Salerno, Faculty of Engineering at Benevento, 821000 Benevento, ItalyDepartment of 'Ingegneria dell'Informazione ed Ingegneria Elettrica', University of Salerno, Faculty of Engineering at Benevento, 821000 Benevento, Italy===Search for more papers by this authorANDREA DE LUCIA, ANDREA DE LUCIA Department of 'Informatica e Sistemistica', University of Naples 'Federico II', Via Claudio 21, 80125 Naples, ItalySearch for more papers by this authorMALCOLM MUNRO, MALCOLM MUNRO Centre for Software Maintenance, University of Durham, South Road, DH1 3LE Durham, U.K.Search for more papers by this author ANIELLO CIMITILE, Corresponding Author ANIELLO CIMITILE Department of 'Ingegneria dell'Informazione ed Ingegneria Elettrica', University of Salerno, Faculty of Engineering at Benevento, 821000 Benevento, ItalyDepartment of 'Ingegneria dell'Informazione ed Ingegneria Elettrica', University of Salerno, Faculty of Engineering at Benevento, 821000 Benevento, Italy===Search for more papers by this authorANDREA DE LUCIA, ANDREA DE LUCIA Department of 'Informatica e Sistemistica', University of Naples 'Federico II', Via Claudio 21, 80125 Naples, ItalySearch for more papers by this authorMALCOLM MUNRO, MALCOLM MUNRO Centre for Software Maintenance, University of Durham, South Road, DH1 3LE Durham, U.K.Search for more papers by this author First published: May 1996 https://doi.org/10.1002/(SICI)1096-908X(199605)8:3 3.0.CO;2-9Citations: 45AboutPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinkedInRedditWechat Abstract We present a new program slicing process for identifying and extracting code fragments implementing functional abstractions. The process is driven by the specification of the function to be isolated, given in terms of a precondition and a postcondition. Symbolic execution techniques are used to abstract the preconditions for the execution of program statements and predicates. The recovered conditions are then compared with the precondition and the postcondition of the functional abstraction. The statements whose preconditions are equivalent to the pre and postconditions of the specification are candidate to be the entry and exit points of the slice implementing the abstraction. Once the slicing criterion has been identified the slice is isolated using algorithms based on dependence graphs. The process has been specialized for programs written in the C language. Both symbolic execution and program slicing are performed by exploiting the Combined C Graph (CCG), a fine-grained dependence based program representation that can be used for most software maintenance tasks. The work described in this paper is part of RE2, a research project aiming to explore reverse engineering and re-engineering techniques for reusing software components from existing systems. Citing Literature Volume8, Issue3May 1996Pages 145-178 RelatedInformation

Referência(s)