Filters








22 Hits in 5.3 sec

An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, on Program Comprehension

Marwen Abbes, Foutse Khomh, Yann-Gael Gueheneuc, Giuliano Antoniol
2011 2011 15th European Conference on Software Maintenance and Reengineering  
and of their combinations: Blob and Spaghetti Code.  ...  We designed and conducted three experiments, with 24 subjects each, to collect data on the performance of developers on basic tasks related to program comprehension and assessed the impact of two antipatterns  ...  Acknowledgement This work has been partly funded by the Canada Research Chairs on Software Patterns and Patterns of Software and on Software Change and Evolution.  ... 
doi:10.1109/csmr.2011.24 dblp:conf/csmr/AbbesKGA11 fatcat:uxi63mdvlzfx7cgubffwp2q3wu

A Large Scale Empirical Study of the Impact of Spaghetti Code and Blob Anti-patterns on Program Comprehension

Cristiano Politowski, Foutse Khomh, Simone Romano, Giuseppe Scanniello, Fabio Petrillo, Yann-Gaël Guéhéneuc, Abdou Maiga
2020 Information and Software Technology  
Objective: In this work, we provide a complete assessment of the impact of two instances of two anti-patterns, Blob or Spaghetti Code, on program comprehension.  ...  Conclusions: We report that, although single occurrences of Blob or Spaghetti code anti-patterns have little effect on code comprehension, two occurrences of either Blob or Spaghetti Code significantly  ...  Acknowledgements The authors thank all the anonymous participants for their time and efforts. The authors have been partly supported by  ... 
doi:10.1016/j.infsof.2020.106278 fatcat:7epuwxxugbaulc4vl4yknmk754

Analyzing the Impact of Antipatterns on Change-Proneness Using Fine-Grained Source Code Changes

Daniele Romano, Paulius Raila, Martin Pinzger, Foutse Khomh
2012 2012 19th Working Conference on Reverse Engineering  
In particular we investigate: whether classes with antipatterns are more change-prone (in terms of SCC) than classes without; (2) whether the type of antipattern impacts the change-proneness of Java classes  ...  in the three antipatterns ComplexClass, SpaghettiCode, and SwissArmyKnife are more change-prone than classes affected by other antipatterns; and 3) certain types of changes are more likely to be performed  ...  This work has been partially funded by the NWO-Jacquard program within the ReSOS project.  ... 
doi:10.1109/wcre.2012.53 dblp:conf/wcre/RomanoRPK12 fatcat:bp64hz4vbneahc3b4rijqheeua

SMURF: A SVM-based Incremental Anti-pattern Detection Approach

Abdou Maiga, Nasir Ali, Neelesh Bhattacharya, Aminata Sabane, Yann-Gael Gueheneuc, Esma Aimeur
2012 2012 19th Working Conference on Reverse Engineering  
Indeed, through an empirical study involving three systems and four anti-patterns, we showed that the accuracy of SMURF is greater than that of DETEX and BDTEX when detecting anti-patterns occurrences.  ...  Anti-patterns impede development and maintenance activities by making the source code more difficult to understand.  ...  Motivation: Researchers have performed empirical studies to show that anti-patterns like Spaghetti Code and Blob create hurdles during program comprehension [5] , software evolution and maintenance activities  ... 
doi:10.1109/wcre.2012.56 dblp:conf/wcre/MaigaABSGA12 fatcat:tdlbtdmkknfofkrhjowyqvwgoi

An exploratory study of the impact of antipatterns on class change- and fault-proneness

Foutse Khomh, Massimiliano Di Penta, Yann-Gaël Guéhéneuc, Giuliano Antoniol
2011 Empirical Software Engineering  
We investigate the impact of antipatterns on classes in object-oriented systems by studying the relation between the presence of antipatterns and the change-and fault-proneness of the classes.  ...  than other classes, (2) to what extent these odds (if higher) are due to the sizes of the classes or to the presence of antipatterns, and (3) what kinds of changes affect classes participating in antipatterns  ...  We build on this previous work and propose a more detailed and extensive empirical study of the impact of antipatterns on code evolution phenomena.  ... 
doi:10.1007/s10664-011-9171-y fatcat:cbxtumvqevc67c662qyf44ckuu

RePOR: Mimicking humans on refactoring tasks. Are we there yet? [article]

Rodrigo Morales, Foutse Khomh, Giuliano Antoniol
2019 arXiv   pre-print
However, little quantitative evidence exists about the impact of automatically refactored code on program comprehension, and in which context automated refactoring can be as effective as manual refactoring  ...  Leveraging RePOR, an automated refactoring approach based on partial order reduction techniques, we performed an empirical study to investigate whether automated refactoring code structure affects the  ...  [1] performed an empirical study to determine the impact of Blob and Spaghetti Code anti-patterns on program comprehension.  ... 
arXiv:1808.04352v3 fatcat:t4cercvp4rhnll44lnpphggu7a

A Study on the Relation between Antipatterns and the Cost of Class Unit Testing

A. Sabane, M. Di Penta, G. Antoniol, Y. Gueheneuc
2013 2013 17th European Conference on Software Maintenance and Reengineering  
A study-carried out on four Java programs, Ant 1.8.3, ArgoUML 0.20, CheckStyle 4.0, and JFreeChart 1.0.13supports the evidence that, on the one hand, antipatterns unit testing requires, on average, a number  ...  Antipatterns are known as recurring, poor design choices; recent and past studies indicated that they negatively affect software systems in terms of understandability and maintainability, also increasing  ...  They discovered that the presence of Blob or Spaghetti Code does not have significantly negative impact on software understandability, but the combination of the two APs made programs significantly more  ... 
doi:10.1109/csmr.2013.26 dblp:conf/csmr/SabanePAG13 fatcat:pgzoxrzemfefjbufuyboegsnua

Does Python Smell Like Java? Tool Support for Design Defect Discovery in Python

Nicole Vavrová, Vadim Zaytsev
2017 The Art, Science, and Engineering of Programming  
Thus, the importance of the work is both in the unique open Python grammar of highest quality, tested on millions of lines of code, and in the design defect detection tool which works on something else  ...  specifications, implemented them all in a tool we have programmed and let it loose on a huge test set obtained from open source code from thousands of GitHub projects.  ...  "A Taxonomy and an Initial Empirical Study of Bad Smells in Code". In: Proceedings of the th International Conference on Software Maintenance (ICSM). Radu Marinescu.  ... 
doi:10.22152/programming-journal.org/2017/1/11 fatcat:4i7vnxo4wzhibd7pum3274p4s4

Investigating Design Anti-pattern and Design Pattern Mutations and Their Change- and Fault-proneness [article]

Zeinab Kermansaravi, Md Saidur Rahman, Foutse Khomh, Fehmi Jaafar, Yann-Gael Gueheneuc
2021 arXiv   pre-print
Many studies investigated the evolution of design patterns and design anti-patterns and their impact on software development.  ...  Therefore, we report our study of bidirectional mutations between design patterns and design anti-patterns and the impacts of these mutations on software change- and fault-proneness.  ...  Usually, developers prefer to add code to an existing method instead of creating a new one [15] , which means that another line is added and then another, giving birth to a tangle of spaghetti code.  ... 
arXiv:2104.00058v1 fatcat:2vuci5lfzbhbtmodbhin2ide3u

Toward a Smell-aware Bug Prediction Model

Fabio Palomba, Marco Zanoni, Francesca Arcelli Fontana, Andrea De Lucia, Rocco Oliveto
2017 IEEE Transactions on Software Engineering  
Previous studies empirically assessed the impact of smells on code quality and clearly indicate their negative impact on maintainability, including a higher bug-proneness of components affected by code  ...  We also compare the results achieved by the proposed model with the ones of an alternative technique which considers metrics about the history of code smells in files, finding that our model works generally  ...  At the same time, several empirical studies showed the negative effect of code smells on program comprehension [20] , as well as the impact of the interaction of more code smells on the reduction of the  ... 
doi:10.1109/tse.2017.2770122 fatcat:apzcac57ozfppb5ejmg4wlhefm

Do They Really Smell Bad? A Study on Developers' Perception of Bad Code Smells

Fabio Palomba, Gabriele Bavota, Massimiliano Di Penta, Rocco Oliveto, Andrea De Lucia
2014 2014 IEEE International Conference on Software Maintenance and Evolution  
This paper presents a study aimed at providing empirical evidence on how developers perceive bad smells.  ...  In this study, we showed to developers code entities-belonging to three systemsaffected and not by bad smells, and we asked them to indicate whether the code contains a potential design problem, and if  ...  [3] investigate the impact of two types bad smells-Blob and Spaghetti Codeon program comprehension.  ... 
doi:10.1109/icsme.2014.32 dblp:conf/icsm/PalombaBPOL14 fatcat:qc4b53qs25guxnvfgkrsx7jhp4

Code smells for Model-View-Controller architectures

Maurício Aniche, Gabriele Bavota, Christoph Treude, Marco Aurélio Gerosa, Arie van Deursen
2017 Empirical Software Engineering  
Previous studies have shown the negative effects that low-quality code can have on maintainability proxies, such as code change-and defect-proneness.  ...  One of the symptoms of low-quality code are code smells, defined as sub-optimal implementation choices.  ...  , and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.  ... 
doi:10.1007/s10664-017-9540-2 fatcat:el26zqxg3zh5phjwlg3t6esvsi

How We Design Interfaces, and How to Assess It

Hani Abdeen, Houari Sahraoui, Osama Shata
2013 2013 IEEE International Conference on Software Maintenance  
In this paper, we empirically study interfaces' design and its impact on the design quality of implementing classes (i.e., class cohesion) analyzing twelve Java object-oriented applications.  ...  Moreover, we use other metrics that evaluate the conformance of interfaces to the well-known design principles "Program to an Interface, not an implementation" and "Interface Segregation Principle".  ...  [23] performed an empirical study on the impact of Blob and Spaghetti antipatterns on program comprehension.  ... 
doi:10.1109/icsm.2013.19 dblp:conf/icsm/AbdeenSS13 fatcat:vdihyvohkbevfm3zrtblutljfm

Tracking Design Smells: Lessons from a Study of God Classes

Stephane Vaucher, Foutse Khomh, Naouel Moha, Yann-Gael Gueheneuc
2009 2009 16th Working Conference on Reverse Engineering  
In this paper, we study in two open-source systems the "life cycle" of GCs: how they arise, how prevalent they are, and whether they remain or they are removed as the systems evolve over time, through  ...  GCs are generally thought to be examples of bad code that should be detected and removed to ensure software quality.  ...  This work has been partly funded by the Natural Sciences and Engineering Research Council of Canada (NSERC), and the Canada Research Chair on Software Patterns and Patterns of Software.  ... 
doi:10.1109/wcre.2009.23 dblp:conf/wcre/VaucherKMG99a fatcat:mfempp3c3jhtvgycl6g4kxasqi

Improving multi-objective code-smells correction using development history

Ali Ouni, Marouane Kessentini, Houari Sahraoui, Katsuro Inoue, Mohamed Salah Hamdi
2015 Journal of Systems and Software  
We evaluate our approach using a benchmark composed of five medium and large-size open-source systems and four types of codesmells (Blob, spaghetti code, functional decomposition, and data class).  ...  One of the widely used techniques to improve the quality of software systems is refactoring. Software refactoring improves the internal structure of the system while preserving its external behavior.  ...  Acknowledgements This work is partially supported by Japan Society for the Promotion of Science, Grant-in-Aid for Scientific Research (S) (No. 25220003), and also by Osaka University Program for Promoting  ... 
doi:10.1016/j.jss.2015.03.040 fatcat:itujkbxyb5dmdop7efnxt7bove
« Previous Showing results 1 — 15 out of 22 results