Identifying traits with formal concept analysis
Material type: ArticleSeries: ^p Datos electrónicos (1 archivo : 210 KB)Publication details: ref_localidad@37940 : , 2005Subject(s): Online resources: Summary: Traits are basically mixins or interfaces but with method bodies. In languages that support traits, classes are composed out of traits. There are two main advantages with traits. Firstly, decomposing existing classes into traits from which they can be recomposed improves the factoring of hierarchies. Secondly it increases the library reuse potential by providing more reusable traits. Identifying traits and decomposing class hierarchies into traits is therefore an important and challenging task to facilitate maintainability and evolution. In this paper we present how we use Formal Concept Analysis to identify traits in inheritance hierarchies. Our approach is two-staged: first we identify within a hierarchy maximal groups of methods that have a set of classes in common, second we cluster cohesive groups of methods based on method invocations as potential traits. We applied our approach on two significant hierarchies and compare our results with the manual refactorization of the same code which was done by the authors of traits. -- Kewyords: Traits, Mixins, Formal Concept Analysis, Logical Views.Item type | Current library | Call number | Status | Date due | Barcode |
---|---|---|---|---|---|
Capítulo de libro | Biblioteca Fac.Informática | A0182 (Browse shelf(Opens below)) | Available | DIF-A0182 |
Formato de archivo: PDF. -- Este documento es producción intelectual de la Facultad de Informática-UNLP (Colección BIPA / Biblioteca.) -- Disponible también en línea (Cons. 30/03/2009)
Traits are basically mixins or interfaces but with method bodies. In languages that support traits, classes are composed out of traits. There are two main advantages with traits. Firstly, decomposing existing classes into traits from which they can be recomposed improves the factoring of hierarchies. Secondly it increases the library reuse potential by providing more reusable traits. Identifying traits and decomposing class hierarchies into traits is therefore an important and challenging task to facilitate maintainability and evolution. In this paper we present how we use Formal Concept Analysis to identify traits in inheritance hierarchies. Our approach is two-staged: first we identify within a hierarchy maximal groups of methods that have a set of classes in common, second we cluster cohesive groups of methods based on method invocations as potential traits. We applied our approach on two significant hierarchies and compare our results with the manual refactorization of the same code which was done by the authors of traits. -- Kewyords: Traits, Mixins, Formal Concept Analysis, Logical Views.
Proceedings of ASE ’05 (20th Conference on Automated Software Engineering), 62–71, IEEE Computer Society Press, 2005.
There are no comments on this title.