Search form

Teaching software inspections to NASA engineers

"A long history of applied research has helped us to understand the parameters for
effective software inspections. We have trained engineers at multiple NASA centers
to perform effective inspections and have created inspection programs tailored to
fit the NASA development process."

Evaluating architectures of implemented systems

"We have applied our architecture evaluation methods to analyze the software implementation
quality with respect to testability, legal compliance and security at several organizations
including NASA, the FDA and JHU/APL. We have also applied our technology to migrate existing
stand-alone software systems into a common product line architecture and to integrate open-source
and closed-source solutions in several domains, such as engine control systems and photo copy machines."

Evaluating IT strategies at EcoPetrol

"EcoPetrol chose to improve their IT infrastructure so that it can provide higher information
quality as part of a strategy to increase their business revenue. We applied our GQM+Strategies
method to define concrete measures of the information quality (e.g., uniqueness, completeness,
consistency, and timeliness) generated by the IT processes, to help understand the impact of
their chosen strategy in achieving their strategic business goal, and to concretely demonstrate
the value of IT-related activities within the overall EcoPetrol business"

Gaining early insight into software safety risks

"We analyzed hazard reports on the NASA Constellation program and provided metrics to Safety,
Reliability and Quality Assurance management to gain early insight into potential software
safety risk during the preliminary design phase. We also created a two-page 'user guide'
to help safety engineers provide more clear and uniform descriptions of how software can cause safety hazards."

Securing medical devices

We work with medical device companies to secure their products against malicious
hacking and data theft. Fraunhofer has developed an analysis methodology that enable
us to detect security vulnerabilities and provide countermeasures.​

Implementing high-maturity concepts at Keymind

"Fraunhofer has collaborated with several organizations on process improvement initiatives.
At Keymind, we contributed software development and measurement expertise and provided automated
solutions to effectively implement CMMI®-compliant and high maturity processes. As a result,
Keymind is seeing measurable positive impact on their business goals and was rated CMMI®-DEV Maturity Level 5."

Evaluating the risk of modifying code in the NASA Space Network

"We applied our SAVE technology suite to evaluate the NASA Space Network legacy code to
help NASA engineers understand the risk of modifiying components in their system.
We delivered interactive media to Space Network project managers that contained custom
metrics and models of risk in their system, and allowed them to visually display and step
through the high-risk portions of their architecture."

Developing software acquisitions plans at NASA

​"We developed the Software Acquisition Management Plan to allow NASA to gain insight into
the software development activities for the complete replacement of the Space Network ground
station at White Sands. NASA project management follows this plan to mitigate technical,
cost and schedule risks in the software-intensive Space Network Ground Support Segment (SGSS) project."

The Software Architecture Visualization and Evaluation (SAVE) tool visualizes and evaluates software architectures. It extracts the software architecture from your software systems and visualizes it in a powerful graphical user interface. The architecture can then be compared to a planned design.

Dr. Forrest Shull, division director for Measurement and Knowledge Management at CESE, has co-edited a book on methods for empirical software engineering research. This reference book includes chapters from some of the top international empirical software engineering researchers and focuses on the practical knowledge necessary for conducting, reporting and using empirical methods in software engineering.