2:00 - 2:30 |
Objective Safety Compliance Checks for Source Code
Safety standards such as IEC 61508 are an important source for developing safety-critical systems. They provide requirements and recommendations to assist engineers in system and software development. Nevertheless, applying this standard in practice is difficult due to insufficient operationalization, namely unclear requirements and unclear or missing acceptance criteria. We systematically developed a quality model including proper measurement support that covers the code-related parts of IEC 61508 in [14]. In this paper, we present the assessment approach for automatic compliance checks of the code-related parts of the standard. We find in a validation study that the assessment results obtained by applying this approach to real-world projects are consistent with their externally granted certification. The results are valid for the vast majority of the modeled elements of the standard. Moreover, by drilling down into the assessment results, we are able to detect deficiencies in the certified real-world projects.
|
|
Alois Mayr, Reinhold Plösch and Matthias Saft |
|
2:30 - 3:00 |
A Case Study on Testing, Commissioning, and Operation of Very-Large-Scale Software Systems
An increasing number of software systems today are very-large-scale software systems (VLSS) with system-of-systems (SoS) architectures. Due to their heterogeneity and complexity VLSS are difficult to understand and analyze, which results in various challenges for development and evolution. For instance, existing software engineering processes, methods, and tools do not sufficiently address the characteristics of VLSS. Also, there are only few empirical studies on software engineering for VLSS. In this paper we report on results of an exploratory case study involving engineers and technical project managers of an industrial automation VLSS for metallurgical plants. The case study provides empirical evidence on how VLSS are tested, commissioned, and operated in practice and discusses practical challenges. The study also reports the needs and requirements of the participants regarding tool and process support. In particular, software processes and tools need to provide general guidance on VLSS level as well as specific methods and tools for systems part of the VLSS. Furthermore, processes and tools need to support multi-disciplinary engineering across system boundaries.
|
|
Michael Vierhauser, Rick Rabiser and Paul Gruenbacher |
|
3:00 - 3:30 |
Assessing Model-Based Testing -an Empirical Study Conducted in Industry
In this paper, we compare manual testing as performed by a tester at a software company with model-based testing as performed by a tester at a software research center. The system under test, of which two different versions were tested by each of the two testers, is a professionally developed web-based data collection system that has since been deployed. The two testers tested the same versions, had identical testing goals (to detect defects), had access to the same resources, but used different processes (manual vs. model-based) and did not interact with each other. We compare the effectiveness (issues found) and efficiency (effort spent) of the two approaches. The results show, for example, that the manual testing approach required less preparation time and that its test coverage was somewhat uneven. In contrast, the model-based approach required more preparation time, was more systematic, and detected more issues. While the manual approach detected more inconsistencies between specified and actual text labels, the model-based approach detected more functional issues. This is reflected in the severity score summary which was about 60% higher for MBT than Manual.
|
|
Christoph Schulze, Dharmalingam Ganesan, Mikael Lindvall, Rance Cleaveland and Daniel Goldman |
|
3:30 - 4:00 |
Collecting and Leveraging a Benchmark of Build System Clones to Aid in Quality Assessments
Build systems specify how sources are transformed into deliverables, and hence must be carefully maintained to ensure that deliverables are assembled correctly. Similar to source code, build systems tend to grow in complexity unless specifications are refactored. This paper describes how clone detection can aid in quality assessments that determine if and where build refactoring effort should be applied. We gauge cloning rates in build systems by collecting and analyzing a benchmark comprising 3,872 build systems. Analysis of the benchmark reveals that: (1) build systems tend to have higher cloning rates than other software artifacts, (2) recent build technologies tend to be more prone to cloning, especially of configuration details like API dependencies, than older technologies, and (3) build systems that have fewer clones achieve higher levels of reuse via mechanisms not offered by build technologies. Our findings aid in refactoring a large industrial build system containing 1.1 million lines.
|
|
Shane Mcintosh, Martin Poehlmann, Elmar Juergens, Audris Mockus, Bram Adams, Ahmed E. Hassan, Brigitte Haupt and Christian Wagner |
|