Efficient Identification of Design Patterns with Bit-vector Algorithm. Kaczor, O., Guéhéneuc, Y., & Hamel, S. In di Lucca, G. A. & Gold, N., editors, Proceedings of the 10<sup>th</sup> Conference on Software Maintenance and Reengineering (CSMR), pages 173–182, March, 2006. IEEE CS Press. 10 pages.Paper abstract bibtex Design patterns are important in software maintenance because they help in designing, in understanding, and in re-engineering programs. The identification of occurrences of a design pattern consists in identifying, in a program, classes which structure and organisation match—strictly or approximately—the structure and organisation of classes as suggested by the design pattern. We express the problem of design pattern identification with operations on finite sets of bit-vectors. We use the inherent parallelism of bit-wise operations to derive an efficient bit-vector algorithm that finds exact and approximate occurrences of design patterns in a program. We apply our algorithm on three small-to-medium size programs, \JHotDraw, \ygg@productJuzzle, and \ygg@productQuickUML, with the \ygg@patternAbstract Factory and \ygg@patternComposite design patterns and compare its performance and results with two existing constraint-based approaches.
@INPROCEEDINGS{Kaczor06-CSMR-EfficientIdentification,
author = {Olivier Kaczor and Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and Sylvie Hamel},
title = {Efficient Identification of Design Patterns with Bit-vector Algorithm},
booktitle = {Proceedings of the 10<sup>{th}</sup> Conference on Software Maintenance and Reengineering ({CSMR})},
year = {2006},
month = {March},
editor = {Giuseppe Antonio di Lucca and Nicolas Gold},
publisher = {IEEE CS Press},
note = {10 pages.},
abstract = {Design patterns are important in software maintenance because they help in designing, in understanding, and in re-engineering programs. The identification of occurrences of a design pattern consists in identifying, in a program, classes which structure and organisation match---strictly or approximately---the structure and organisation of classes as suggested by the design pattern. We express the problem of design pattern identification with operations on finite sets of bit-vectors. We use the inherent parallelism of bit-wise operations to derive an efficient bit-vector algorithm that finds exact and approximate occurrences of design patterns in a program. We apply our algorithm on three small-to-medium size programs, \JHotDraw{}, \ygg@product{Juzzle}, and \ygg@product{QuickUML}, with the \ygg@pattern{Abstract Factory} and \ygg@pattern{Composite} design patterns and compare its performance and results with two existing constraint-based approaches.},
grant = {NSERC DG},
keywords = {Design patterns ; CSMR},
kind = {MISA},
language = {english},
url = {http://www.ptidej.net/publications/documents/CSMR06a.doc.pdf},
pdf = {http://www.ptidej.net/publications/documents/CSMR06a.ppt.pdf},
pages = {173--182}
}
Downloads: 0
{"_id":"RHzQe25tamMmApo7i","bibbaseid":"kaczor-guhneuc-hamel-efficientidentificationofdesignpatternswithbitvectoralgorithm-2006","downloads":0,"creationDate":"2018-01-17T20:29:42.563Z","title":"Efficient Identification of Design Patterns with Bit-vector Algorithm","author_short":["Kaczor, O.","Guéhéneuc, Y.","Hamel, S."],"year":2006,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene (automatically cleaned).bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Olivier"],"propositions":[],"lastnames":["Kaczor"],"suffixes":[]},{"firstnames":["Yann-Gaël"],"propositions":[],"lastnames":["Guéhéneuc"],"suffixes":[]},{"firstnames":["Sylvie"],"propositions":[],"lastnames":["Hamel"],"suffixes":[]}],"title":"Efficient Identification of Design Patterns with Bit-vector Algorithm","booktitle":"Proceedings of the 10<sup>th</sup> Conference on Software Maintenance and Reengineering (CSMR)","year":"2006","month":"March","editor":[{"firstnames":["Giuseppe","Antonio"],"propositions":["di"],"lastnames":["Lucca"],"suffixes":[]},{"firstnames":["Nicolas"],"propositions":[],"lastnames":["Gold"],"suffixes":[]}],"publisher":"IEEE CS Press","note":"10 pages.","abstract":"Design patterns are important in software maintenance because they help in designing, in understanding, and in re-engineering programs. The identification of occurrences of a design pattern consists in identifying, in a program, classes which structure and organisation match—strictly or approximately—the structure and organisation of classes as suggested by the design pattern. We express the problem of design pattern identification with operations on finite sets of bit-vectors. We use the inherent parallelism of bit-wise operations to derive an efficient bit-vector algorithm that finds exact and approximate occurrences of design patterns in a program. We apply our algorithm on three small-to-medium size programs, \\JHotDraw, \\ygg@productJuzzle, and \\ygg@productQuickUML, with the \\ygg@patternAbstract Factory and \\ygg@patternComposite design patterns and compare its performance and results with two existing constraint-based approaches.","grant":"NSERC DG","keywords":"Design patterns ; CSMR","kind":"MISA","language":"english","url":"http://www.ptidej.net/publications/documents/CSMR06a.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/CSMR06a.ppt.pdf","pages":"173–182","bibtex":"@INPROCEEDINGS{Kaczor06-CSMR-EfficientIdentification,\n author = {Olivier Kaczor and Yann-Ga{\\\"e}l Gu{\\'e}h{\\'e}neuc and Sylvie Hamel},\n title = {Efficient Identification of Design Patterns with Bit-vector Algorithm},\n booktitle = {Proceedings of the 10<sup>{th}</sup> Conference on Software Maintenance and Reengineering ({CSMR})},\n year = {2006},\n month = {March},\n editor = {Giuseppe Antonio di Lucca and Nicolas Gold},\n publisher = {IEEE CS Press},\n note = {10 pages.},\n abstract = {Design patterns are important in software maintenance because they help in designing, in understanding, and in re-engineering programs. The identification of occurrences of a design pattern consists in identifying, in a program, classes which structure and organisation match---strictly or approximately---the structure and organisation of classes as suggested by the design pattern. We express the problem of design pattern identification with operations on finite sets of bit-vectors. We use the inherent parallelism of bit-wise operations to derive an efficient bit-vector algorithm that finds exact and approximate occurrences of design patterns in a program. We apply our algorithm on three small-to-medium size programs, \\JHotDraw{}, \\ygg@product{Juzzle}, and \\ygg@product{QuickUML}, with the \\ygg@pattern{Abstract Factory} and \\ygg@pattern{Composite} design patterns and compare its performance and results with two existing constraint-based approaches.},\n grant = {NSERC DG},\n keywords = {Design patterns ; CSMR},\n kind = {MISA},\n language = {english},\n url = {http://www.ptidej.net/publications/documents/CSMR06a.doc.pdf},\n pdf = {http://www.ptidej.net/publications/documents/CSMR06a.ppt.pdf},\n pages = {173--182}\n}\n\n","author_short":["Kaczor, O.","Guéhéneuc, Y.","Hamel, S."],"editor_short":["di Lucca, G. A.","Gold, N."],"key":"Kaczor06-CSMR-EfficientIdentification","id":"Kaczor06-CSMR-EfficientIdentification","bibbaseid":"kaczor-guhneuc-hamel-efficientidentificationofdesignpatternswithbitvectoralgorithm-2006","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/CSMR06a.doc.pdf"},"keyword":["Design patterns ; CSMR"],"metadata":{"authorlinks":{"gu�h�neuc, y":"https://bibbase.org/show?bib=http%3A%2F%2Fwww.yann-gael.gueheneuc.net%2FWork%2FPublications%2FBiblio%2Fcomplete-bibliography.bib&msg=embed","guéhéneuc, y":"https://bibbase.org/show?bib=http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene%20(automatically%20cleaned).bib"}},"downloads":0,"html":""},"search_terms":["efficient","identification","design","patterns","bit","vector","algorithm","kaczor","guéhéneuc","hamel"],"keywords":["design patterns ; csmr"],"authorIDs":["AfJhKcg96muyPdu7S","xkviMnkrGBneANvMr"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4"]}