%0 Journal Article %J First International Workshop on REFactoring: Achievements, Challenges, Effects (REFACE) %D 2003 %T Refactoring using event-based profiling %A Nagarajan,A. %A Memon, Atif M. %X Refactoring is a disciplined process of restructuring soft-ware code in order to improve it, e.g., to make it more reusable, reliable and maintainable. The source of infor- mation that guides the refactoring process may be the soft- ware’s user profiles. An increasingly important class of soft- ware is event-based software. Event-based software take an event as an input, change their state, and perhaps output an event. They provide new opportunities for refactoring. For example, reorganizing the objects related to an event and restructuring the event handlers based on the behavior of the software. These opportunities require that we collect user profiles at the level of events rather than the code and model the software in such a way that allows refactoring of event handlers. We present new techniques to collect event- level profiles and organize event handlers. We describe our techniques on one class of event-based software – Graphi- cal User Interfaces (GUIs). We demonstrate the practicality and usefulness of our techniques on a large software system. %B First International Workshop on REFactoring: Achievements, Challenges, Effects (REFACE) %8 2003/// %G eng