|
ABSTRACT
One difficulty in software maintenance is that the relationship between observed program behavior and source code is not always clear. In this paper we are concerned specifically with the maintenance of graphical user interfaces (GUIs). User interface code can crosscut the decomposition of applications making GUIs hard to maintain. A popular approach to develop and maintain GUIs is to use "What you see is what you get" editors. They allow developers to work directly with a graphical design view instead of scattered source elements. Unfortunately GUI editors are limited by their ability to statically reconstruct dynamic collaborations between objects. In this paper we investigate the combination of a hybrid dynamic and static approach to allow for view-based maintenance of GUIs. Dynamic analysis reconstructs object relationships, providing a concrete context in which maintenance can be performed. Static checking restricts that only changes in the design view which can meaningfully be translated back to source are allowed. We implemented a prototype IDE plug-in and evaluate our approach by applying it to five open source projects.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
|
| |
3
|
|
| |
4
|
CrosswordSage V0.3.5, http://crosswordsage.sourceforge.net/, Visited 10/6/2007.
|
 |
5
|
|
 |
6
|
|
| |
7
|
FreeMind V0.8.0, http://freemind.sourceforge.net/wiki/index.php/Main_Page, Visited 10/6/2007.
|
| |
8
|
|
| |
9
|
GanttProject V2.0.1, http://sourceforge.net/projects/ganttproject/, Visited 10/6/2007.
|
| |
10
|
Elnar Hajiyev, Mathieu Verbaere, and Oege de Moor. Code-Quest: Scalable source code queries with DataLog. In Procs. of the European Conference on Object-Oriented Programming, 2006.
|
 |
11
|
|
 |
12
|
|
| |
13
|
Janzen, D. and De Volder, K. Programming with Crosscutting Effective Views. In Proc. of the European Conference on Object-Oriented Programming, 2004.
|
| |
14
|
Java Chess (JChess) V1.01a3, Harald Faber, Andreas Rueckert, Thomas Dalichow, http://www.java-chess.de/, Visited 10/6/2007.
|
| |
15
|
Jigloo SWT/Swing GUI Editor for Eclipse and WebSphere, CloudGarden V4.0.2, http://www.cloudgarden.com/jigloo/, Visited 10/6/2007.
|
| |
16
|
JMSN V0.9.9b2, http://sourceforge.net/projects/jmsn/, Visited 10/6/2007.
|
 |
17
|
|
 |
18
|
|
 |
19
|
|
| |
20
|
|
| |
21
|
McCarthy, J. Automata Studies. Princeton University Press, 1956, pp. 177--181.
|
| |
22
|
|
 |
23
|
|
| |
24
|
Ettore Merlo , Pierre-Yves Gagné , Jean-Francois Girard , Kostas Kontogiannis , Laurie Hendren , Prakash Panangaden , Renato De Mori, Reengineering User Interfaces, IEEE Software, v.12 n.1, p.64-73, January 1995
[doi> 10.1109/52.363164]
|
 |
25
|
|
 |
26
|
|
| |
27
|
E. V. Paesschen, W. D. Meuter, and M. D'Hondt. Selfsync: a dynamic roundtrip engineering environment. In Proc. International Conference on Model-Driven Engineering Languages and Systems, 2005.
|
| |
28
|
S. M. Selkow. The tree-to-tree editing problem. Inform. Process. Lett., 6(6):184--186, 1977
|
| |
29
|
|
| |
30
|
M. Stuart. Java GUI Builders. http://www.fullspan.com/articles/java-gui-builders.html, Visited 10/6/2007.
|
| |
31
|
Swing Designer V6.4.1, Instantiations, http://www.instantiations.com/swingdesigner/home_content.html, Visited 10/6/2007.
|
| |
32
|
|
 |
33
|
|
 |
34
|
Peri Tarr , Harold Ossher , William Harrison , Stanley M. Sutton, Jr., N degrees of separation: multi-dimensional separation of concerns, Proceedings of the 21st international conference on Software engineering, p.107-119, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302457]
|
| |
35
|
Visual Editor V1.2, IBM, http://www.eclipse.org/vep/WebContent/main.php, Visited 10/6/2007.
|
| |
36
|
M. Weiser. Program slicing. IEEE Transactions on Software Engingeering, 10(4):352--357, July 1984.
|
| |
37
|
|
|