000 03031nam a2200265 a 4500
003 AR-LpUFIB
005 20240131183014.0
007 ta
008 230201s2005 xx do 000 0 eng d
024 8 _aDIF002597
040 _aAR-LpUFIB
_bspa
_cAR-LpUFIB
100 1 _aArévalo, Gabriela Beatriz
_9251819
245 1 0 _aHigh level views in object oriented systems using formal concept analysis [recurso electrónico]
260 _aBerna :
_b University of Berne,
_c2005
300 _aDatos electrónicos (1 archivo : 4,5 MB)
500 _aTesis doctoral -- University of Berne, 2005. --
505 0 _a Dependencies in Object-Oriented Systems -- Formal Concept Analysis in High-Level Views -- XRay Views -- Hierarchy Schemas -- Collaboration Patterns -- ConAn Framework -- Introduction to Formal Concept Analysis. -- Formato de archivo: PDF. -- Disponible también en línea (Cons. 20/03/2009)
520 _aWithin object-oriented systems there are different meaningful dependencies between different objects. These dependencies reveal contracts, collaborations and relationships between classes, methods, packages and any development unit in the systems. In most of the cases, these dependencies are not explicit in the code. This problem is due to inadequate or out-of-date documentation and mechanisms such as dynamic binding, inheritance and polymorphism that obscure the presence of existing dependencies. These dependencies play an important part in implicit contracts between the various software artifacts of the system. It is therefore essential that a developer, who has to make changes or extensions to an objectoriented system, understands the dependencies among the classes. Lack of understanding increases the risk that seemingly innocuous changes break the implicit existing contracts in the system. In short, implicit, undocumented dependencies lead to fragile systems that are difficult to extend or modify correctly. In this thesis we develop an approach – based on a methodology and a tool support – to recover this implicit information and generate high-level views of a system at different abstraction levels, using a formal clustering technique called Formal Concept Analysis (FCA). With these views, we help to build the first mental model of a system. Thus the implicit or lost information is made explicit and we are able to find uses of coding styles, possible bottlenecks and weakpoints of a system, identify eventual contracts between the entities, patterns based on the dependencies and – if possible – propose possible solutions to correct problems in the code. With this approach we also evaluate which are the advantages and disadvantages of using a clustering technique in software reverse engineering.
650 4 _aANÁLISIS FORMAL DE CONCEPTOS
_9253438
650 4 _aORIENTACIÓN A OBJETOS
_9253457
650 4 _aINGENIERÍA INVERSA
_9253440
650 4 _aMANTENIMIENTO DE SOFTWARE
_9248173
856 4 0 _u/www.lifia.info.unlp.edu.ar/papers/2005/Arevalo2005b.pdf
942 _cBK
999 _c844718
_d844718