MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  ARCHITECTURE-ORIENTED APPROACH

Download:
pdf | ps
by Mohlalefi Sefika, Mohlalefi Sefika Ph. D
ftp://choices.cs.uiuc.edu/Papers/Theses/PhD.Sefika.VisualSE.ps.Z
Add To MetaCart

Abstract:

Maintenance remains by far the most expensive phase of software products. One primary reason is because as a complex software system evolves, its implementation tends to diverge from the intended or documented design models. Such undesirable deviation makes the system hard to understand, modify, and maintain. This thesis presents a hybrid, tool-based approach for increasing confidence in a software system's faithfulness to its design commitments and rules. The approach closely integrates static analysis of structure and dynamic visualization, providing multiple code views and perspectives. I show that the hybrid technique helps monitor implementation evolution for conformance to a wide spectrum of design concerns, including performance, resource usage, design patterns, and cohesion and coupling heuristics. The task of design-implementation congruence assessment involves tracking the changing dynamics of frameworks, design patterns, architectural styles, and subsystems. Unfortunately, current programming tools are relatively oblivious to the rich architectural abstractions in a system. This thesis demonstrates that architecture-oriented visualization, the presentation of system statics and dynamics in terms of its architectural abstractions,

Citations

3620 Design Patterns. Elements of Reusable Object-Oriented Software – Gamma, Helm, et al. - 1998
1015 The C Programming Language – Kernighan, Ritchie
762 Object-Oriented Analysis and Design with Applications (Benjamin Cummings – Booch - 1994
697 The Art of Metaobject Protocol – Kiczales, Rivieres, et al. - 1991
465 Designing Reusable Classes – Johnson, Foote - 1988
344 The Java Language Environment: A White Paper – Gosling, McGilton - 1996
329 Context-sensitive interprocedural points-to analysis in the presence of function pointers – Enami, Ghiya, et al. - 1994
319 Visualizing the performance of parallel programs – Heath, Etheridge - 1995
307 The design and implementation of hierarchical software systems with reusable components – Batory, O’Malley - 1992
218 Smalltalk 80: The Language – Goldberg, Robson - 1989
182 Documenting frameworks using patterns – Johnson - 2001
168 Zeus: A System for Algorithm Animation and Multiview Editing (Research Report No – Brown - 1992
145 Programming-in-the-Large Versus Programming-in-the-Small – DeRemer, Kron - 1975
133 Exploting style in architectural design environments – Garlan, Allen, et al. - 1994
124 The Unix Programming Environment – Kernighan, Pike - 1984
120 Patterns generate architectures – Beck, Johnson - 1994
115 Debugging heterogeneous distributed systems using event-based models of behavior – Bates - 1995
112 Assuring Good Style for Object-Oriented Programs – Lieberherr, Holland - 1989
105 Design recovery for maintenance and reuse – Biggerstaff - 1989
99 Exploring Algorithms Using Balsa II – Brown - 1988
93 LCLint: A tool for using specifications to check code – Evans, Guttag, et al. - 2004
83 Experiences designing and implementing Choices: an objectoriented system in C – Campbell, Islam, et al. - 1993
79 Computational Reflection in Class Based Object Oriented Languages – Ferber - 1989
76 The visualiztion of parallel systems: An overview – Kraemer, Stasko - 1993
68 The concept assignment problem in program understanding – Biggerstaff, Mitbander, et al. - 1993
63 Visualizing and querying software structures – Consens, Mendelzon, et al. - 1992
59 Implementing Remote Procedure Call – Birrel, Nelson - 1984
59 Interactive visualization of design patterns can help in framework understanding – Lange, Nakamura - 1995
57 Outline of the social system – Parsons - 1961
57 Implementing relational views of programs – Linton - 1984
51 Design reverse-engineering and automated design pattern detection in smalltalk – Brown - 1996
50 KnowledgeBased Program Analysis – Harandi, Ning - 1990
49 Dotplot: A program for exploring self-similarity in millions of lines of text and code – Church, Helfman - 1993
48 E cient call graph analysis – Hall, Kennedy - 1992
46 Intention-Based Diagnosis of Novice Programming Errors – Johnson - 1986
45 The C++ information abstractor – Grass, Chen - 1990
38 Design reuse and frameworks in the Smalltalk-80 system – Deutsch - 1989
36 Reflective Facilities in Smalltalk-80 – Foote, Johnson - 1989
33 A Hygraph-based Query and Visualization System – Consens, Mendelzon, et al. - 1993
32 A framework for dynamic program analyzers – Bruegge, Gottschalk, et al. - 1993
32 Choices: an object-oriented multimedia operating system – Campbell, Tan - 1995
30 Constructing call multigraphs using dependence graphs – Lakhotia - 1993
28 Formal Verification of Ada Programs – Guaspari, Marceau, et al. - 1990
27 A program for identifying duplicated code – Baker - 1992
24 Reverse Engineering to the Architectural Level – Harris, Reubenstein, et al. - 1995
22 Research Directions in Software Architecture – Garlan - 1995
20 ET++ SwapsManager: Using object technology in the financial engineering domain – Eggenschwiler, Gamma - 1992
20 Automated program understanding by concept recognition – Kozaczynski, Ning - 1994
19 A logic-based approach to reverse engineering tools production – Canfora, Cimitile, et al. - 1992
17 Visualizing software systems – Baker, Eick - 1994