Key research themes
1. How can software metrics effectively identify key classes to support focused reengineering of legacy systems?
This research area focuses on leveraging combinations of complexity and coupling software metrics to identify the crucial or 'key' classes within large, object-oriented legacy software systems. Identifying these classes helps practitioners prioritize areas for reengineering efforts, thereby making the reengineering process more efficient and effective. Understanding the structural significance of classes through such metrics provides actionable insights for maintenance, refactoring, and system comprehension.
2. What models and platforms facilitate comprehensive static and dynamic software analysis for bug detection, security assessment, and verification?
This theme covers the development and utilization of integrated platforms and frameworks that unify static and dynamic program analysis techniques to facilitate automated detection of software vulnerabilities, performance bottlenecks, and other quality defects. The research investigates how abstraction levels and unified intermediate representations enable scalable, precise analyses, including symbolic execution, SMT-solving, and integration of multiple analysis engines, enhancing the efficiency and applicability of software verification in real-world settings.
3. How can runtime and partial observation analyses aid in software architecture recovery and model building for complex or binary-only systems?
This research investigates approaches to reconstructing software architectural models from systems where source code is partially or fully unavailable, such as proprietary binary formats or legacy monolithic applications. Techniques involving dynamic runtime instrumentation, partial observation via IDEs or reverse engineering runtimes, and clustering are studied to extract, model, and analyze system components, dependencies, and interactions. These methods facilitate maintenance, migration, and comprehension of complex legacy software under limited observability conditions.