Automated and metric-based detection of code smells and antipatterns - Al-Rubaye, Samer Raad Azzaei (My University, 2018)
In software engineering, Patterns are techniques which are used to improve the design and enhance the reusability of a solution to commonly occurring problem design and they are general solutions which are used for common problems in object-oriented systems.Antipatterns and code smells are opposites of design patterns. Those are not bugs: They are not technically incorrect coding and they do not currently prevent the program from functioning.Instead, they indicate weaknesses in design that may be slowing down development or increasing the risk of bugs or failures in the future. They also make software maintenance more costly. The antipattern concept is introduced as poor solutions to solve recurring problems, even though developers think that they practice a design pattern. Code smells, also called also as bad smells, refer to any symptom in the source code of a program that possibly indicates a deeper problem. Poltergeist antipattern is one of the software development antipatterns. Poltergeists are classes with limited accountability and roles to be active in the system; thus, their efficient life period is quite short. Poltergeists are messy software design, make needless abstractions; they are overmuch complex, hard to know, and hard to look after. Our objective is to propose a metric based approach to determine whether a class is poltergeist or not. Keywords: In software engineering, Patterns are techniques which are used to improve the design and enhance the reusability of a solution to commonly occurring problem design and they are general solutions which are used for common problems in object-oriented systems.Antipatterns and code smells are opposites of design patterns. Those are not bugs: They are not technically incorrect coding and they do not currently prevent the program from functioning.Instead, they indicate weaknesses in design that may be slowing down development or increasing the risk of bugs or failures in the future. They also make software maintenance more costly. The antipattern concept is introduced as poor solutions to solve recurring problems, even though developers think that they practice a design pattern. Code smells, also called also as bad smells, refer to any symptom in the source code of a program that possibly indicates a deeper problem. Poltergeist antipattern is one of the software development antipatterns. Poltergeists are classes with limited accountability and roles to be active in the system; thus, their efficient life period is quite short. Poltergeists are messy software design, make needless abstractions; they are overmuch complex, hard to know, and hard to look after. Our objective is to propose a metric based approach to determine whether a class is poltergeist or not.
Tez (Yüksek Lisans) - Yıldız Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2018
Keywords: Antipatterns; Poltergeist; Object orientation