Research in Software Engineering, Maintenance, and Evolution
- Source-Code Analysis, Transformation, and Differencing
- Software Traceability
- Reverse Engineering and Reengineering
- Program Comprehension and Understanding
- Emprical Software Engineering and Mining Software Repositories
- Software Visualization to Support Understanding of Large Software Systems
Research Statement
The research program focuses on the construction of methods, tools, and environments that assist in the process of software evolution. A source code viewpoint is taken to support understanding, analysis, and transformation of large software systems undergoing evolution. An XML representation, namely srcML, is leveraged to manipulate and analyze source code in a lightweight manner. srcML forms the core of a number of tools that analyze, refactor, and reverse engineer source code (most typically C++). The objective is to develop very efficient and useable tools that provide high value to software engineers and researchers.
Tools
- srcML - Source Code Markup Language - C/C++/C#/Java translator
- MosaiCode - Visualization of software concepts such as lines of code, functions, files, and subsystems
Data Sets and other Software
- Downloads - Folder with various data sets and documents