Aspect-Oriented Programming (AOP) is a newprogramming paradigm that improves separation of concerns by decomposing the crosscutting concerns in aspect modules. Bad smells are metaphors to describe software patterns that are generally associated with bad design and bad programming of Object-Oriented Programming (OOP). New notions and different ways of thinking for developing Aspect-Oriented (AO) software inevitably introduce bad smells which are specific bad design and bad programming in AO software called AO bad smells. Software metrics have been used to measure software artifact for a better understanding of its attributes and to assess its quality. Bad-smell metrics should be used as indicators for determining whether a particular fraction of AO code contains bad smells or not. Therefore, this paper proposes definition of metrics corresponding to the characteristic of each AO bad smell as a means to detecting them. The proposed bad-smell metrics are validated and the results show that the proposed badsmell metrics can preliminarily indicate bad smells hidden in AO software.
Bad Smells are software patterns that are generally associated with bad design and bad programming. They can be removed by using the refactoring technique which improves the quality of software. Aspect-Oriented (AO) software development, which involves new notions and the different ways of thinking for developing software and solving the crosscutting problem, possibly introduces different kinds of design flaws. Defining bad smells hidden in AO software in order to point out bad design and bad programming is then necessary. This paper proposes the definition of new AO bad smells. Moreover, appropriate existing AO refactoring methods for eliminating each bad smell are presented. The proposed bad smells are validated. The results show that after removing the bad smells by using appropriate refactoring methods, the software quality is increased.
Clustering analysis has rarely been studied as a technique for object identification method, although it has long been broadly employed in data classification in a wide range of research areas. In this paper, we propose a review of clustering analysis method and a scheme for applying hierarchical clustering analysis to facilitate identification of candidate objects in procedural source code. The study shows that clustering analysis is able to correctly group functions to meaningful clusters even though functions are written in an interleaved order Clustering analysis can work well with the modular case and the tangled case without any additional support.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.