Guest

Some Areas of Interest

Software Engineering

Goals and Objectives

The goal of this research area is to further the understanding and management of large evolving software systems. Areas of interest include aspects of the product lifecycle, including requirements, design, implementation, validation, verification, maintenance, and evolution. The objective is to improve system quality (robustness, reliability, performance, etc.) and enhance the customer experience.

Software & Tools

PDF document View PDF version

Overview

Metrics and Tools for Assessing/Improving Software Attributes


We are interested in the following areas for research:

  • Methods, tools, and metrics that contribute to increased system robustness through modularity, testability, quality, security, etc.
  • Data collection heuristics evaluated on industrial-strength code bases (e.g. open source software)
  • Static, dynamic, and mixed analysis.

RFP: Automation of Source Code Analysis

Refactoring Tools and Processes


Typically as software ages, it grows organically reducing the initial modularity as architected/designed. Research areas of interest include:

  • Improved refactoring strategies, techniques, and tools to "improve" system robustness, quality, performance, security, etc.
  • Before/after refactoring - feature equivalency.

Multi-core and/or Virtualization in Embedded Systems


Research on the advantages and strategies to leverage a virtualized development environment for embedded systems based on multi-core platforms.

Software Validation and Verification Tools


We are interested in research to improve both software validation and verification techniques which currently lag those used in hardware (both in addressing complexity and time-to-market).

Software Architecture Description and Glue


Further researches in the following areas are also of interest:

  • Techniques for describing use cases and requirements as the basis for searchable component catalogs that index into implementations and other supporting information including tests, architectural descriptions, and other dependent components
  • Tools for the description of and matchmaking between component interfaces especially between components that were not designed to talk to one another, but, are targeted for reuse in new unanticipated combinations
  • Automated code generation for compiling interfaces between components.

If your research topic doesn't directly address any of the RFPs listed above, please submit it as a generic proposal for this area.

A useful resource for reporting on software engineering research may be found at this URL: Mary Shaw Mini-Tutorial. If you have comments, questions or feedback related to this area please don’t hesitate to contact us at research-software@cisco.com

Return to Top