Code Search API, Base of Parallel Code Refactoring System For Safety Standards Compliance
DOI:
https://doi.org/10.13052/jcsm2245-1439.313Keywords:
software safety, parallel design patterns, code searchingAbstract
New technologies of multi-core and massively parallel processors are becoming common parts of today’s desktop computers. These state-of-the-art technologies allow programming of parallel applications and systems, however, creating parallel applications puts higher demands on programmers’ skills, project maintenance and modification of existing source codes. Program flaws entered on source codes could have fatal consequences, specifically in aviation or medicine systems, due to possible fatal impacts in case of systems failure.
This paper describes the current status of aviation and medicine software safety standards, points out the common requirements of all these standards, specially the requirement for reliability. Reliability can be easily achieved using design patterns with verified reliable source code modules. In our research, we propose system for implementation of concurrency and synchronization design patterns into existing code. We have created parallel source code search API which is described in this paper, and which is planned to be used in our parallel code refactoring system for safety standards compliance. This API enables us to define appropriate places in source codes for introduction of parallel design patterns into existing parallel source codes. In next design iteration, the proposed system will provide suggestions of refactoring operations of found source codes, based on static code analysis and formal description of parallel design patterns.
Downloads
References
Howard C. (2011). DO-178B safety certification and other software security tools drive avionics software designs. 2011. Available at: http://goo.gl/ZkzyF
Federal Aviation Administration. Advisory Circular 20-115B. 1993. Available at: http://goo.gl/C6d1k
General Principles of Software Validation; Final Guidance for Industry and FDA Staff, Available at: http://goo.gl/HjIKb
Guidance for the Content of Premarket Submissions for Software Contained in Medical Devices, Available at: http://goo.gl/JqkYr
SHARMAN, J. ET AL. (1992) Architecture of the XL C++ browser, CASCON '92 Proceedings, P: 369--379, IBM Press
REISS, P. STEVEN, (2009) Semantics-Based Code Search, ICSE 09 Proceedings, IEEE
LEMOS, OTAVIO AUGUSTO LAYYARINI, ET AL. (2009) Applying Test-Driven Code Search to the Reuse of Auxiliary Functionality, SAC 09 Proceedings, ACM
SUSHIL B., ET AL. (2006) Sourcerer: A Search Engine for Open Source Code Supporting Structure-Based Search, OOPSLA 06 Proceedings, ACM
BUSCHMANN, F. ET AL. (2007) Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing. John Wiley & Sons, Inc., New York, NY USA, ISBN: 978-0-470-05902-9.
J. Ossher, S. Bajracharya, E. Linstead, P. Baldi, and C. Lopes, ``SourcererDB: An aggregated repository of statically analyzed and cross-linked open source Java projects,'' in Proceedings of the International Workshop on Mining Software Repositories. Vancouver, Canada: IEEE Computer Society, 2009, pp. 183--186.
Y.-F. Chen, E. R. Gansner, and E. Koutsofios, ``A c++ data model supporting reachability analysis and dead code detection,'' IEEE Trans. Softw. Eng., vol. 24, no. 9, pp. 682--694, 1998