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...

Full description

Saved in:
Bibliographic Details
Published in18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings pp. 245 - 248
Main Authors Heuzeroth, Dirk, Mandel, Stefan, Löowe, Welf
Format Conference Proceeding
LanguageEnglish
Published Piscataway, NJ, USA IEEE Press 06.10.2003
IEEE
SeriesACM Conferences
Subjects
Online AccessGet full text
ISBN0769520359
9780769520353
ISSN1938-4300
DOI10.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