Analysing Anti-patterns Static Relationships with Design Patterns. Jaafar, F., Guéhéneuc, Y., Hamel, S., & Khomh, F. Electronic Communications of the EASST (ECEASST), European Association of Software Science and Technology, August, 2014. 26 pages.Paper abstract bibtex Anti-patterns are motifs that are usually thought to be good solutions to some design or implementation problems, but back-fires badly when applied. Previous studies have reported that anti-patterns make object oriented systems hard to maintain. Anti-patterns motifs usually have dependencies with other classes in the system. In this paper, we propose to analyse these dependencies (with in particular design patterns) in order to understand how developers can maintain programs containing anti-patterns. To the best of our knowledge, no substantial investigation of anti-pattern dependencies with design patterns has been done before. This paper presents the results of a study that we performed on three different systems, ArgoUML, JFreeChart, and XercesJ, written in Java, and of size ranges from 1,191 to 3,325 classes, to analyse the static relationships between anti-patterns and design patterns. We found that these relationships (1) exist, but (2) are temporary and (3) classes participating in such relationships are more change-prone but less fault-prone than other anti-pattern classes.
@ARTICLE{Jaafar14-ECEASST-AntipatternRelationships,
author = {Fehmi Jaafar and Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and Sylvie Hamel and Foutse Khomh},
title = {Analysing Anti-patterns Static Relationships with Design Patterns},
journal = {Electronic Communications of the EASST ({ECEASST})},
year = {2014},
month = {August},
volume = {59},
note = {26 pages.},
abstract = {Anti-patterns are motifs that are usually thought to be good solutions to some design or implementation problems, but back-fires badly when applied. Previous studies have reported that anti-patterns make object oriented systems hard to maintain. Anti-patterns motifs usually have dependencies with other classes in the system. In this paper, we propose to analyse these dependencies (with in particular design patterns) in order to understand how developers can maintain programs containing anti-patterns. To the best of our knowledge, no substantial investigation of anti-pattern dependencies with design patterns has been done before. This paper presents the results of a study that we performed on three different systems, ArgoUML, JFreeChart, and XercesJ, written in Java, and of size ranges from 1,191 to 3,325 classes, to analyse the static relationships between anti-patterns and design patterns. We found that these relationships (1) exist, but (2) are temporary and (3) classes participating in such relationships are more change-prone but less fault-prone than other anti-pattern classes.},
editor = {Aminata Saban{\'e} and Wei Wu and Tiziana Margaria and Julia Padberg and Gabriele Taentzer},
grant = {NSERC DG and CRC on Software Patterns},
keywords = {Code and design smells ; ECEASST},
kind = {RIAS},
language = {english},
publisher = {European Association of Software Science and Technology},
url = {http://www.ptidej.net/publications/documents/ECEASST14.doc.pdf}
}
Downloads: 0
{"_id":"E8cnRLn3PoCmGbbia","bibbaseid":"jaafar-guhneuc-hamel-khomh-analysingantipatternsstaticrelationshipswithdesignpatterns-2014","downloads":0,"creationDate":"2018-01-17T20:29:42.267Z","title":"Analysing Anti-patterns Static Relationships with Design Patterns","author_short":["Jaafar, F.","Guéhéneuc, Y.","Hamel, S.","Khomh, F."],"year":2014,"bibtype":"article","biburl":"http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene (automatically cleaned).bib","bibdata":{"bibtype":"article","type":"article","author":[{"firstnames":["Fehmi"],"propositions":[],"lastnames":["Jaafar"],"suffixes":[]},{"firstnames":["Yann-Gaël"],"propositions":[],"lastnames":["Guéhéneuc"],"suffixes":[]},{"firstnames":["Sylvie"],"propositions":[],"lastnames":["Hamel"],"suffixes":[]},{"firstnames":["Foutse"],"propositions":[],"lastnames":["Khomh"],"suffixes":[]}],"title":"Analysing Anti-patterns Static Relationships with Design Patterns","journal":"Electronic Communications of the EASST (ECEASST)","year":"2014","month":"August","volume":"59","note":"26 pages.","abstract":"Anti-patterns are motifs that are usually thought to be good solutions to some design or implementation problems, but back-fires badly when applied. Previous studies have reported that anti-patterns make object oriented systems hard to maintain. Anti-patterns motifs usually have dependencies with other classes in the system. In this paper, we propose to analyse these dependencies (with in particular design patterns) in order to understand how developers can maintain programs containing anti-patterns. To the best of our knowledge, no substantial investigation of anti-pattern dependencies with design patterns has been done before. This paper presents the results of a study that we performed on three different systems, ArgoUML, JFreeChart, and XercesJ, written in Java, and of size ranges from 1,191 to 3,325 classes, to analyse the static relationships between anti-patterns and design patterns. We found that these relationships (1) exist, but (2) are temporary and (3) classes participating in such relationships are more change-prone but less fault-prone than other anti-pattern classes.","editor":[{"firstnames":["Aminata"],"propositions":[],"lastnames":["Sabané"],"suffixes":[]},{"firstnames":["Wei"],"propositions":[],"lastnames":["Wu"],"suffixes":[]},{"firstnames":["Tiziana"],"propositions":[],"lastnames":["Margaria"],"suffixes":[]},{"firstnames":["Julia"],"propositions":[],"lastnames":["Padberg"],"suffixes":[]},{"firstnames":["Gabriele"],"propositions":[],"lastnames":["Taentzer"],"suffixes":[]}],"grant":"NSERC DG and CRC on Software Patterns","keywords":"Code and design smells ; ECEASST","kind":"RIAS","language":"english","publisher":"European Association of Software Science and Technology","url":"http://www.ptidej.net/publications/documents/ECEASST14.doc.pdf","bibtex":"@ARTICLE{Jaafar14-ECEASST-AntipatternRelationships,\n author = {Fehmi Jaafar and Yann-Ga{\\\"e}l Gu{\\'e}h{\\'e}neuc and Sylvie Hamel and Foutse Khomh},\n title = {Analysing Anti-patterns Static Relationships with Design Patterns},\n journal = {Electronic Communications of the EASST ({ECEASST})},\n year = {2014},\n month = {August},\n volume = {59},\n note = {26 pages.},\n abstract = {Anti-patterns are motifs that are usually thought to be good solutions to some design or implementation problems, but back-fires badly when applied. Previous studies have reported that anti-patterns make object oriented systems hard to maintain. Anti-patterns motifs usually have dependencies with other classes in the system. In this paper, we propose to analyse these dependencies (with in particular design patterns) in order to understand how developers can maintain programs containing anti-patterns. To the best of our knowledge, no substantial investigation of anti-pattern dependencies with design patterns has been done before. This paper presents the results of a study that we performed on three different systems, ArgoUML, JFreeChart, and XercesJ, written in Java, and of size ranges from 1,191 to 3,325 classes, to analyse the static relationships between anti-patterns and design patterns. We found that these relationships (1) exist, but (2) are temporary and (3) classes participating in such relationships are more change-prone but less fault-prone than other anti-pattern classes.},\n editor = {Aminata Saban{\\'e} and Wei Wu and Tiziana Margaria and Julia Padberg and Gabriele Taentzer},\n grant = {NSERC DG and CRC on Software Patterns},\n keywords = {Code and design smells ; ECEASST},\n kind = {RIAS},\n language = {english},\n publisher = {European Association of Software Science and Technology},\n url = {http://www.ptidej.net/publications/documents/ECEASST14.doc.pdf}\n}\n\n","author_short":["Jaafar, F.","Guéhéneuc, Y.","Hamel, S.","Khomh, F."],"editor_short":["Sabané, A.","Wu, W.","Margaria, T.","Padberg, J.","Taentzer, G."],"key":"Jaafar14-ECEASST-AntipatternRelationships","id":"Jaafar14-ECEASST-AntipatternRelationships","bibbaseid":"jaafar-guhneuc-hamel-khomh-analysingantipatternsstaticrelationshipswithdesignpatterns-2014","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/ECEASST14.doc.pdf"},"keyword":["Code and design smells ; ECEASST"],"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":["analysing","anti","patterns","static","relationships","design","patterns","jaafar","guéhéneuc","hamel","khomh"],"keywords":["code and design smells ; eceasst"],"authorIDs":["AfJhKcg96muyPdu7S","xkviMnkrGBneANvMr"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4"]}