2008 · 20 citations · 22 references
ComputingComputer ScienceInteraction DesignProgramming LanguagesSoftware EngineeringInterface DesignMaintainability EngineeringSoftware DesignSoftware EvolutionSoftware MaintenanceDynamic Program AnalysisDynamic User InterfacesGraphical User InterfacesInterface MaintenanceMaintenanceOpen Source Software MaintenanceSoftware Maintenance ProcessView Design
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.
22
Mark Weiser · IEEE Transactions on Software Engineering · 1984 · 3.2K citations
<i>N</i> degrees of separation
Peri Tarr, Harold Ossher, William Harrison et al. · 1999 · 1.2K citations · Full text
Hiralal Agrawal, J.R. Horgan · 1990 · 879 citations · Full text
The tree-to-tree editing problem
Stanley M. Selkow · Information Processing Letters · 1977 · 418 citations