Generating design pattern detectors from pattern specifications
We present our approach to support program understanding by a tool that generates static and dynamic analysis algorithms from design pattern specifications to detect design patterns in legacy code. We therefore specify the static and dynamic aspects of patterns as predicates, and represent legacy co...
Saved in:
Published in | 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings pp. 245 - 248 |
---|---|
Main Authors | , , |
Format | Conference Proceeding |
Language | English |
Published |
Piscataway, NJ, USA
IEEE Press
06.10.2003
IEEE |
Series | ACM Conferences |
Subjects | |
Online Access | Get full text |
ISBN | 0769520359 9780769520353 |
ISSN | 1938-4300 |
DOI | 10.1109/ASE.2003.1240313 |
Cover
Abstract | We present our approach to support program understanding by a tool that generates static and dynamic analysis algorithms from design pattern specifications to detect design patterns in legacy code. We therefore specify the static and dynamic aspects of patterns as predicates, and represent legacy code by predicates that encode its attributed abstract syntax trees. Given these representations, the static analysis is performed on the legacy code representation as a query derived from the specification of the static pattern aspects. It provides us with pattern candidates in the legacy code. The dynamic specification represents state sequences expected when using a pattern. We monitor the execution of the candidates and check their conformance to this expectation.
We demonstrate our approach and evaluate our tool by detecting instances of the Observer, Composite and Decorator patterns in Java code using Prolog to define predicates and queries. |
---|---|
AbstractList | We present our approach to support program understanding by a tool that generates static and dynamic analysis algorithms from design pattern specifications to detect design patterns in legacy code. We therefore specify the static and dynamic aspects of patterns as predicates, and represent legacy code by predicates that encode its attributed abstract syntax trees. Given these representations, the static analysis is performed on the legacy code representation as a query derived from the specification of the static pattern aspects. It provides us with pattern candidates in the legacy code. The dynamic specification represents state sequences expected when using a pattern. We monitor the execution of the candidates and check their conformance to this expectation. We demonstrate our approach and evaluate our tool by detecting instances of the observer, composite and decorator patterns in Java code using Prolog to define predicates and queries. We present our approach to support program understanding by a tool that generates static and dynamic analysis algorithms from design pattern specifications to detect design patterns in legacy code. We therefore specify the static and dynamic aspects of patterns as predicates, and represent legacy code by predicates that encode its attributed abstract syntax trees. Given these representations, the static analysis is performed on the legacy code representation as a query derived from the specification of the static pattern aspects. It provides us with pattern candidates in the legacy code. The dynamic specification represents state sequences expected when using a pattern. We monitor the execution of the candidates and check their conformance to this expectation. We demonstrate our approach and evaluate our tool by detecting instances of the Observer, Composite and Decorator patterns in Java code using Prolog to define predicates and queries. |
Author | Mandel, Stefan Löowe, Welf Heuzeroth, Dirk |
Author_xml | – sequence: 1 givenname: Dirk surname: Heuzeroth fullname: Heuzeroth, Dirk email: heuzer@ipd.info.uni-karlsruhe.de organization: Universität Karlsruhe, Karlsruhe, Germany – sequence: 2 givenname: Stefan surname: Mandel fullname: Mandel, Stefan organization: Universität Karlsruhe, Karlsruhe, Germany – sequence: 3 givenname: Welf surname: Löowe fullname: Löowe, Welf email: Welf.Lowe@msi.vxu.se organization: Växjö universitet, MSI, Växjö, Sweden |
BookMark | eNqNkDFPwzAQhS1RJNrSHYmlK0PSsy-O4wlVVVuQKjEAs-Uk58pAncrOwr8nVQszt5zu3n1Pujdho9AFYuyOQ8456MXydZ0LAMy5KAA5XrEJqFJLASj1iI25xiorEOCGzVL6gKEKKQvEMXvcUqBoex_285aS34f50fY9xTCMPTV9F9Pcxe7wt05HarzzzcB0Id2ya2e_Es0ufcreN-u31VO2e9k-r5a7zIpC9xlCKSzIsnSWWoRWqsrVqLVWpKBCoZvKokOlZCVUXdgSkTeuBCGtamvJccruz76eiMwx-oON3-by76AuzqptDqbuus9kOJhTNmbIxpyy-b01dfTkBuLhvwT-AGbrZB0 |
ContentType | Conference Proceeding |
DBID | 6IE 6IL CBEJK RIE RIL |
DOI | 10.1109/ASE.2003.1240313 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Xplore POP ALL IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP All) 1998-Present |
DatabaseTitleList | |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EndPage | 248 |
ExternalDocumentID | 1240313 |
GroupedDBID | 6IE 6IK 6IL AAJGR AAVQY ACM ADPZR ALMA_UNASSIGNED_HOLDINGS BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK GUFHI OCL RIB RIC RIE RIL 29I 6IF 6IH 6IM 6IN 6J9 AAWTH ABLEC ACREN ADYOE ADZIZ AFYQB AMTXH APO CHZPO IEGSK IPLJI M43 |
ID | FETCH-LOGICAL-a249t-3062a0566faed30d578fb39997e708329c8a3f3775827b4a6331cf6025a7db513 |
IEDL.DBID | RIE |
ISBN | 0769520359 9780769520353 |
ISSN | 1938-4300 |
IngestDate | Tue Aug 26 17:20:29 EDT 2025 Wed Jan 31 06:43:03 EST 2024 |
IsPeerReviewed | false |
IsScholarly | true |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-a249t-3062a0566faed30d578fb39997e708329c8a3f3775827b4a6331cf6025a7db513 |
PageCount | 4 |
ParticipantIDs | ieee_primary_1240313 acm_books_10_1109_ASE_2003_1240313_brief acm_books_10_1109_ASE_2003_1240313 |
PublicationCentury | 2000 |
PublicationDate | 20031006 20030000 |
PublicationDateYYYYMMDD | 2003-10-06 2003-01-01 |
PublicationDate_xml | – month: 10 year: 2003 text: 20031006 day: 06 |
PublicationDecade | 2000 |
PublicationPlace | Piscataway, NJ, USA |
PublicationPlace_xml | – name: Piscataway, NJ, USA |
PublicationSeriesTitle | ACM Conferences |
PublicationTitle | 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings |
PublicationTitleAbbrev | ASE |
PublicationYear | 2003 |
Publisher | IEEE Press IEEE |
Publisher_xml | – name: IEEE Press – name: IEEE |
SSID | ssj0000455433 ssj0051577 |
Score | 1.6712664 |
Snippet | We present our approach to support program understanding by a tool that generates static and dynamic analysis algorithms from design pattern specifications to... |
SourceID | ieee acm |
SourceType | Publisher |
StartPage | 245 |
SubjectTerms | Algorithm design and analysis Computer architecture Concrete Detectors Heuristic algorithms Java Pattern analysis Performance analysis Protocols Software systems |
Title | Generating design pattern detectors from pattern specifications |
URI | https://ieeexplore.ieee.org/document/1240313 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LS8NAEF5qT56qtmJ9EcSDB5NudpNs9iQiLUWoCFroLewTRKylTS_-emc3D1EEvWU3IY_J7s43szPfIHTJmY1FjGlotJJgoDADU4rEocKWGiXyGPs87tlDNp0n94t00UHXbS6MMcYHn5nIHfq9fP2uts5VNoodeZwrUbsDw6zK1Wr9KQBN0oS2qzCoaV91EfBJHiYU48pk5ylxnHU1807Tps3-Jeaj26exZwmN6oc5raXevtVe8apn0kOz5qWriJPXaFvKSH384HP871ftocFXkl_w2KqvfdQxywPUa6o8BPWk76ObipnahUcH2sd7BCtPyrmEZumd_pvAZam03S5700UgVc7AAZpPxs9307AuuxAKsMXKEIwIIgAXZVYYTbGGOW0l4BjODAPARrjKBbWUgaVBmExERmmsbAbgSTAt05geou7yfWmOUMC1TQlLYTQQh8tyTkRCE1g3tJCKYztEFyDcwtkTm8KbI5gX8AdccUxa1IIZoqu_Lyrk-sXA_fpOvsWqYupoTh7_3n2Cdn1onneonKJuud6aM4AYpTz3Y-sThpXCfQ |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LS8NAEF6KHvRUtRXrM4gHD6bdZPPak4i0VG2LYAu9hX2CiGlp04u_3tnNQxRBb9lNyGOyu_PN7Mw3CF3RWHvMw8RVUnAwUGIFU8r3XIE1UYIlHrZ53ONJNJwFj_Nw3kA3dS6MUsoGn6muObR7-XIhNsZV1vMMeZwpUbsNej8Ii2yt2qMC4CQMSL0Og6K2dRcBoSRuQDAujHYa-oa1ruTeqdqk2sHEtHf30rc8od3ycUZvifdv1Ves8hk00bh67SLm5K27yXlXfPxgdPzvd-2h9lean_NcK7B91FDZAWpWdR6cctq30G3BTW0CpB1pIz6cpaXlzKCZW7f_2jF5KnW3yd80MUiFO7CNZoP-9H7oloUXXAbWWO6CGeEzQEaRZkoSLGFWaw5IhsYqBsjmU5EwokkMtoYf84BFhHhCRwCfWCx56JFDtJUtMnWEHCp16MchjAffILOE-iwgAawcknFBse6gSxBuaiyKdWoNEkxT-AOmPCZJS8F00PXfF6V89argfi0j33RZcHVUJ49_775AO8PpeJSOHiZPJ2jXBupZ98op2spXG3UGgCPn53acfQLwUMXK |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=18th+IEEE+International+Conference+on+Automated+Software+Engineering%2C+2003.+Proceedings&rft.atitle=Generating+design+pattern+detectors+from+pattern+specifications&rft.au=Heuzeroth%2C+D.&rft.au=Mandel%2C+S.&rft.au=Lowe%2C+W.&rft.date=2003-01-01&rft.pub=IEEE&rft.isbn=9780769520353&rft.issn=1938-4300&rft.spage=245&rft.epage=248&rft_id=info:doi/10.1109%2FASE.2003.1240313&rft.externalDocID=1240313 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1938-4300&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1938-4300&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1938-4300&client=summon |