Christopher Ackermann

Learn More
Empirical evidence and technology evaluation are needed to close the gap between the state of the art and the state of the practice in software engineering. However, there are difficulties associated with evaluating technologies based on empirical evidence: insufficient specification of context variables, cost of experimentation, and risks associated with(More)
Software architecture has become essential in the struggle to manage today’s increasingly large and complex systems. Software architecture views are created to capture important system characteristics on an abstract and, thus, comprehensible level. As the system is implemented and later maintained, it often deviates from the original design(More)
This paper presents experiences of verifying architectural design rules of the NASA Core Flight Software (CFS) product line implementation. The goal of the verification is to check whether the implementation is consistent with the CFS' architectural rules derived from the developer's guide. The results indicate that consistency checking helps a) identifying(More)
The evolution of a new technology depends upon a good theoretical basis for developing the technology, as well as upon its experimental validation. In order to provide for this experimentation, we have investigated the creation of a software testbed and the feasibility of using the same testbed for experimenting with a broad set of technologies. The testbed(More)
This extended poster abstract presents a software visualization tool (CodeVizard) that helps researchers and managers to analyze software repository data. The tool focuses on identifying areas of risks in software development projects, such as: Code Smells, degrading architectures, increasing software complexity, lack of documentation, process violations,(More)
This paper discusses the results of an application of a formally based verification technique, called Instrumentation-Based Verification (IBV), to a production automotive lighting controller. The goal of the study is to assess, from both a tools as well as a methodological perspective, the performance of IBV in an industrial setting. The insights obtained(More)
During its lifecycle, software experiences numerous changes that are either due to bug fixes or to the incorporation of new features. Implementing such changes is often more difficult than expected, which frequently leads to underestimation of the associated implementation effort. This paper describes work that aims to understand change impact based on the(More)
There are many technical challenges in ensuring high life-time quality of NASA’s systems. Some of NASA’s software-related challenges could potentially be addressed by the many powerful technologies that are being developed in software research laboratories. However, most such research technologies do not make the transition from the research lab to the(More)