ResearchMy research mainly focuses on two areas: Software Engineering and Web Engineering. In particular, my interests in Software Engineering include Version Control and Configuration Management, Software Maintenance and Evolution, Mining Software Repository, Software Architecture and Traceability, Secure Software Engineering, and Software Visualization. For the Web, my focuses are on Web Engineering, Web Security, Web Information Retrieval and Visualization, and Hypermedia Systems. 1. GrouMiner: Graph-based Mining of Multiple Object Usage Patterns: Our paper on GrouMiner is accepted at the 2009 ACM SIGSOFT Conference on the Foundations of Software Engineering - FSE 2009 ! The GrouMiner paper has also been selected to receive the ESEC/FSE 2009 Distinguished Paper Award ! 2. FixWizard: Recurring Bug Fixes in Object-Oriented Programs 3. NEW Clever: Clone-aware Configuration Management: Our paper on Clever is accepted at the 24th ACM/IEEE International Conference on Automated Software Engineering - ASE 2009 ! 4. ModelCD: Clone Detection in Model-based Development: Our paper on ModelCD is accepted at the 31th ACM/IEEE International Conference on Software Engineering - ICSE 2009 ! 5. Exas: Efficient Structural Characteristic Feature Extraction for Clone Detection : Exas has been successfully used in our model clone detection (ModelCD) and code clone detection tools.Our paper on Exas is accepted at the International Conference on Fundamental Approaches to Software Engineering - FASE 2009. 6. Incremental Latent Semantic Indexing for Maintaining Traceability Links in Evolving Software at ACM/IEEE ASE 2008 (the 23rd ACM/IEEE International Conference on Automated Software Engineering) 7. Cleman: Clone Group Evolution Management. Our paper on Incremental Clone Detection tool, ClemanX, is accepted at the 25th IEEE International Conference on Software Maintenance (ICSM 2009) and was demonstrated at ICSE 2009. 8. MolhadoRef at ICSE 2007 (the 29th ACM/IEEE International Conference on Software Engineering) MolhadoRef: is a refactoring-aware SCM tool that is capable of capturing and versioning of the semantics of Java program entities and refactoring operations that were performed on those entities. It helps track the history of refactored, fine-grained program entities, eliminates many conflicts when merging refactored versions in multi-user environments, and represents the history at a higher level. It uses the operation-based SCM approach to represent and record refactoring operations as first-class entities in the repository. MolhadoRef records the operations that were performed to transform one version into another and replays them when updating to that version.We presented MolhadoRef in premiere at OOPSLA'06 and FSE'06 during the tool demo and poster sessions. A short paper was presented at ETX'06. A full version can be found in IEEE Transactions in Software Engineering (TSE) May/June 2008. 9. Molhado: a Configuration Management and Version Control Infrastructure and methodology that facilitate the rapid development of object-oriented SCM systems.Unlike many existing text file-oriented SCM systems, which often treat a software system as a set of text files, the object-oriented SCM systems have the ability to manage the evolution of a software system in terms of logical abstractions, compositions, and their interrelations. With Molhado, one can quickly create the core of an object-oriented SCM system for any development or editing environment in any paradigm without worrying about the concrete level of actual file storing. Versions of objects are managed at various levels of abstraction and granularity. For example, any levels of structure in a program or a structured object can be versioned in a fine-grained manner. Configurations are maintained among logical objects (rather than among files), enabling the version control for complex software objects during design, implementation, etc.You can check out our ICSE 2005, ASE 2006, OOPSLA'04 papers at the ACM Digital Library. 10. WebSCM: provides Configuration Management and Versioning infrastructure supports for Web Engineering life cycle. The distinguished characteristic of this SCM system for Web engineering is its ability to manage the evolution of a Web-based application in terms of Web contents, as well as crucial structures such as navigational, compositional, internal, and logical structures.Check out our papers at WWW 2006, WWW 2004, and ICSM 2005. 11. WebSearchViz: is an interactive Web Information Retrieval, Analysis, and Visualization System for Web search results and to facilitate users' navigation and exploration. The metaphor in our model is the solar system with its planets and asteroids revolving around the sun. Location, color, movement, and spatial distance of objects in the visual space are used to represent the semantic relationships between a query and relevant Web pages. The movement of objects and their speeds add a new dimension to the visual space, illustrating the degree of relevance among a query and Web search results in the context of users' subjects of interest. By interacting with the visual space, users are able to observe the semantic relevance between a query and a resulting Web page with respect to their subjects of interest, context information, or concern. Users' subjects of interest can be dynamically changed, added, or deleted from the visual space. Check out our paper at IEEE Vis 2006. We are currently working on different technologies for Web Information Analysis, and using Visualization in information discovery. 12. Dynamic Refactoring Composition (DRC): This is a formal model for the dynamic refactoring composition in multi-user settings. It provides a theoretical foundation for our refactoring-aware source code merge tool, MolhadoRef, and API online update. More. |
Tien N. Nguyen (2005), tien@iastate.edu