Research


Software Development Laboratory <SDML>.

Topics of Interest: Research Statement:
The research program focuses on the construction of methods, tools, and environments to assist in the process of software evolution and maintenance of large-scale systems. Topics of current investigation include the following:

Source Code Representations and Syntactic Differencing - XML is used to augment source code with syntactic information from the parse tree as a means to add explicit structure to program source code. This underlying representation, srcML (Source Code Markup Language), supports light-weight fact extraction, source code transformation, and source code difference analysis. The src2srcml translator works for C/C++ and Java. It is very robust and efficient, running faster than compilers on the same input. The translator is used by a large number of researchers and a commercial version is in use to support software porting. srcML forms the basis for an efficient syntactic differencing method. This is being used to analyze differences between software versions.

Textual Analysis in Software Engineering - The research focuses on investigating the combined use of textual and static information of programs to support the comprehension tasks involved in the maintenance and reengineering of software systems. Advanced information retrieval (IR) and natural language processing (NLP) methods, such as latent semantic indexing (LSI), are used for textual analysis of software artifacts.

Mining Software Repositories - Data mining techniques are being utilized to analyze multiple versions of a software's history to uncover latent trends and evolutionary couplings. The techniques have been applied to the problems of defect identification, software localization, and traceability link recovery.

Software Traceability - A holistic view of how to combine traceability link recovery with conformance analysis is facilitated by a formal hypertext model. This hypertext model not only supports complex linking structures (e.g., multi links) but also supports versioning of individual links. Such a model preserves and maintains over time the results of the reverse engineered traceability links. It also supports the development of a traceability query lanaguage (TQL) that is built upon XML technologies. This work aims to support long term evolution of large software systems.

Software Visualization - Source Viewer 3D (sv3D) is a software visualization framework that builds on the SeeSoft metaphor. It brings a number of enhancements and extensions over SeeSoft-type representations. In particular it creates 3D renderings of the raw data and various artifacts of the software system and their attributes can be mapped to the 3D metaphors at different abstraction levels. It implements improved, object-based user interactions, is independent of the analysis tool, and it accepts a simple and flexible input in XML format. The output of numerous analysis tools can be easily translated to sv3D input format and the design and implementation of our system is extensible.

Eye tracking to Assess Comprehensibility - Eye tracking equipment is being used to assess the comprehensibility of design documents (UML class diagrams) in a non-obtrusive manner. This work augments the work on software visualization and supports a means to measure the quality of UML class diagram layout techniques.


Return Jonathan's home page.
Published By: J. Maletic
Last update: Thu Jun 27 17:13:37 2013 EST