ارزیابی ریسک کد نرم‌افزار سیستم‌های نهفته مبتنی بر چارجوب سیستم مدیریت ایمنی

نوع مقاله : مقاله پژوهشی

نویسندگان

1 کارشناسی ارشد دانشگاه آزاد اسلامی واحد تهران شمال

2 استادیار دانشکده و پژوهشکده پدافندغیرعامل، دانشگاه جامع امام حسین (ع)

چکیده

امروزه ایمنی در سیستم‌های فناوری اطلاعات اهمیت زیادی دارد و عدم تضمین ایمنی این سیستم‌ها و نقص‌های نرم‌افزاری و همین‏طور خطاها و اشتباهات برنامه‌نویسی می‌تواند باعث خسارت‌های سنگین مالی، روانی و حتی جانی در کشور شود. پیاده‌سازی کد بدون نقص و خطا، تقریبا کاری غیرممکن است، تعداد بسیار کمی از این اشتباهات برنامه‏نویسی به هنگام Compile شدن برنامه مشخص می‌شود اما بیشتر آن‏ها پنهان می‌مانند. نکته حائز اهمیت آن است که بتوان کد پرریسک را قبل از تولید محصول مشخص کرد و مانع از انتشار نسخه جدید شد. در این مقاله با استفاده از ابزار Source Monitor، پیچیدگی کد سیستم‌های نهفته، تعداد خطوط کد و تعداد دستورات در هر تابع مشخص می‌شود. بعد از این مرحله با بهره‌مندی از چارچوب سیستم مدیریت ایمنی یاSMS ، ریسک پروژه با استفاده از ماتریس ارزیابی ریسک، آنالیز می‌شود. همچنین خطاهای شایع و پرتکرار در سیستم‌های نهفته (سیستم‌های به زبان C) مورد بررسی قرار می‌گیرند.

کلیدواژه‌ها


[1] Choi, H. J., Lee, H., & Choi, J.-Y. (2021). Is a False Positive really False Positive? 2021 23rd International Conference on Advanced Communication Technology (ICACT), 145–149. https://doi.org/10.23919/ICACT51234.2021.9370442
[2] Nikolić, D., Stefanović, D., Dakić, D., Sladojević, S., & Ristić, S. (2021). Analysis of the Tools for Static Code Analysis. IEEE. https://ieeexplore.ieee.org/abstract/document/9400688
[3] Nunes, P., Medeiros, I., Fonseca, J., Neves, N., Correia, · Miguel, Vieira, M., & Correia, M. (n.d.). An empirical study on combining diverse static analysis tools for web security vulnerabilities based on development scenarios. https://link.springer.com/article/10.1007/s00607-018-0664-z
[4] Fatima, A., Bibi, S., & Hanif, R. (2018). Comparative Study on Static Code Analysis Tools for C/C++. IEEE
[5] Imparato, A., Maietta, R. R., Scala, S., & Vacca, V. (2017). A comparative study of static analysis tools for AUTOSAR automotive software components development. Proceedings - 2017 IEEE 28th International Symposium on Software Reliability Engineering Workshops, ISSREW 2017, 65–68.
[6] A Simple Understanding of Code Complexity - Codegrip. (n.d.). Codegrip. Retrieved April 24, 2023, from https://www.codegrip.tech/productivity/a-simple-understanding-of-code-complexity/
[7] Caglayan, B., Turhan, B., Bener, A., Habayeb, M., Miransky, A., & Cialini, E. (2015). Merits of Organizational Metrics in Defect Prediction: An Industrial Replication. IEEE/ACM. https://ieeexplore.ieee.org/abstract/document/7202953
[8] A Simple Understanding of Code Complexity - Codegrip. (n.d.). Codegrip. Retrieved April 24, 2023, from https://www.codegrip.tech/productivity/a-simple-understanding-of-code-complexity/
[9] Kumar, N. (n.d.). Code complexity - a comprehensive guide - Hatica. Hatica. Retrieved April 24, 2023, from https://www.hatica.io/blog/code-complexity/
[10] Barr, M. (2010, April 1). Five top causes of nasty embedded software bugs - Embedded.com. Embedded Staff. https://www.embedded.com/five-top-causes-of-nasty-embedded-software-bugs/
[11] Most common Errors in embedded systems. (n.d.). Firmcodes. Retrieved April 23, 2023, from http://www.firmcodes.com/common-errors-embedded-systems/
[12] Barr, M. (2016, May 5). Top 10 Causes of Nasty Embedded Software Bugs. Barrgroup. https://barrgroup.com/embedded-systems/how-to/top-ten-nasty-firmware-bugs
[13] Erickson, C. (2002, August 31). Memory Leak Detection in Embedded Systems | Linux Journal. Linux Journal. https://www.linuxjournal.com/article/6059
[14] James Wanner. (2021). SourceMonitor (Version 3.5). Campwood Software. https://www.campwoodsw.com/SourceMonitor.html
[15] MacConnell, S. (1993). Code Complete: A practical handbook of software construction. Microsoft Press Redmont, WA
[16] McConnell, S. (2004). Code complete. Pearson Education.
[17] Chakib, M. (2018). SAFETY MANAGEMENT SYSTEM.
]18[ وحیدی اصل, م., دهقانی تفتی, م., & خلیلیان, ع. (2020). رویکردی جدید مبتنی‌بر سنجه‌های نرم‌افزاری جهت افزایش سودمندی آزمون بازگشت. مجله مهندسی برق دانشگاه تبریز, 50(1), 463–476.  
]19[ چگونه پیچیدگی کد را در یک شرکت نرم‌افزار مدیریت کنیم؟(2017/05/09). خط جدید. از چگونه پیچیدگی کد را در یک شرکت نرم‌افزار مدیریت کنیم؟ (khatedid.com)
]20[ شاکری فر، پرشان. 2023. سیستم مدیریت ایمنی (SMS) چیست؟. eiqm. از سیستم مدیریت ایمنی (SMS) چیست؟ (eiqm.ir)
[21] J. Kollewe and G. Wearden, “Bloomberg IT meltdown leaves financial world in the dark,” the Guardian, Apr. 17, 2015. https://www.theguardian.com/business/2015/apr/17/uk-halts-bond-sale-bloomberg-terminals-crash-worldwide
[22] J. Hirsch, “Nissan recalls 1 million cars to fix air bags that may not trigger,” Los Angeles Times, Mar. 26, 2014. https://www.latimes.com/business/la-xpm-2014-mar-26-la-fi-hy-nissan-recalls-altima-sentra-pathfinder-leaf-20140326-story.html (accessed Dec. 17, 2023).
[23] T. Soper, “Starbucks lost millions in sales because of a ‘system refresh’ computer problem,” GeekWire, Apr. 24, 2015. https://www.geekwire.com/2015/starbucks-lost-millions-in-sales-because-of-a-system-refresh-computer-problem/
[24] K. O. Osborn, “Software Glitch Causes F-35 to Incorrectly Detect Targets in Formation,” Military.com, Mar. 24, 2015. https://www.military.com/defensetech/2015/03/24/software-glitch-causes-f-35-to-incorrectly-detect-targets-in-formation
[25] “Crash of an Airbus A300-622R in Nagoya: 264 killed | Bureau of Aircraft Accidents Archives,” www.baaa-acro.com. https://www.baaa-acro.com/crash/crash-airbus-a300-622r-nagoya-264-killed (accessed Dec. 17, 2023).
[26] R. Bajpai, “What are some recent major computer system failures caused by software bugs?,” www.siliconindia.com. https://www.siliconindia.com/online-courses/tutorials/What-are-some-recent-major-computer-system-failures-caused-by-software-bugs-id-74.html (accessed Dec. 17, 2023).
of Massachusetts, Amherst, MA, CMPSCI Tech. Rep. 99-02, 1999.