A lightweight code analysis and its role in evaluation of a dependability case
Author(s)
Near, Joseph Paul; Milicevic, Aleksandar; Kang, Eunsuk; Jackson, Daniel
DownloadJackson_A lightweight code.pdf (484.7Kb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
A dependability case is an explicit, end-to-end argument, based on concrete evidence, that a system satisfies a critical property. We report on a case study constructing a dependability case for the control software of a medical device. The key novelty of our approach is a lightweight code analysis that generates a list of side conditions that correspond to assumptions to be discharged about the code and the environment in which it executes. This represents an unconventional trade-off between, at one extreme, more ambitious analyses that attempt to discharge all conditions automatically (but which cannot even in principle handle environmental assumptions), and at the other, flow- or context-insensitive analyses that require more user involvement. The results of the analysis suggested a variety of ways in which the dependability of the system might be improved.
Date issued
2011-05Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
Proceedings of the 33rd International Conference on Software Engineering (ICSE '11)
Publisher
Association for Computing Machinery (ACM)
Citation
Joseph P. Near, Aleksandar Milicevic, Eunsuk Kang, and Daniel Jackson. 2011. A lightweight code analysis and its role in evaluation of a dependability case. In Proceedings of the 33rd International Conference on Software Engineering (ICSE '11). ACM, New York, NY, USA, 31-40.
Version: Author's final manuscript
ISBN
978-1-4503-0445-0