کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
4956757 1444591 2017 30 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Computing reliability: On the differences between software testing and software fault injection techniques
ترجمه فارسی عنوان
قابلیت اطمینان محاسباتی: در مورد تفاوت بین تست نرم افزار و تکنیک های تزریق خطای نرم افزار
کلمات کلیدی
قابلیت اطمینان سیستم، سخت افزار، نرم افزار، آزمایش موتاسیون، تزریق گسل، اشتباهات نرم
ترجمه چکیده
قابلیت اطمینان سیستم در طول فرایند طراحی سیستم مبتنی بر رایانه به یک نگرانی اصلی تبدیل شده است. این یکی از مهمترین ویژگی های کیفیت سیستم است. افزایش مداوم پیچیدگی سیستم، ارزیابی قابلیت اطمینان بسیار گران است. بنابراین، نیاز به توسعه روش های جدید با هزینه و تلاش کمتر وجود دارد. علاوه بر این، سیستم آسیب پذیری در هر دو گسل نرم افزار و سخت افزار است. در حالی که گسل های نرم افزاری معمولا توسط برنامه نویس یا در مرحله طراحی یا اجرای نرم افزار معرفی می شوند، خطاهای سخت افزاری ناشی از پدیده های فیزیکی هستند که بر اجزای سخت افزاری نظیر اختلال های محیطی، نقص های تولیدی و پدیده های مربوط به پیری ایجاد می شود. گسل های نرم افزاری تنها می توانند بر اجزای نرم افزار تأثیر بگذارند. با این حال، گسل های سخت افزاری می توانند از طریق لایه های مختلف سیستم پخش شوند و بر سخت افزار و نرم افزار تأثیر بگذارند. این مقاله تفاوت بین تست نرم افزار و تکنیک های تزریق خطای نرم افزار مورد استفاده برای ارزیابی قابلیت اطمینان را مورد بحث قرار می دهد. ما تجزیه و تحلیل جهش را به عنوان یک روش عمدتا مورد استفاده در تست نرم افزار توصیف می کنیم. سپس، تزریق خطا را به عنوان یک روش برای ارزیابی قابلیت اطمینان سیستم معرفی می کنیم. در نهایت، ما در مورد نحوه استفاده از تجزیه و تحلیل جهش نرم افزاری برای ارزیابی، در سطح نرم افزار، قابلیت اطمینان سیستم در برابر خطاهای سخت افزاری بحث خواهیم کرد. مزیت اصلی این تکنیک قابلیت استفاده از آن در مرحله طراحی اولیه سیستم است، زمانی که معماری مجموعه دستورالعمل ها در دسترس نیست. نتایج تجربی برای ارزیابی گسل های رخ داده در حافظه نشان می دهد که رویکرد پیشنهادی به طور قابل توجهی پیچیدگی ارزیابی قابلیت اطمینان سیستم را از لحاظ زمان و هزینه کاهش می دهد.
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر شبکه های کامپیوتری و ارتباطات
چکیده انگلیسی
System reliability has become a main concern during the computer-based system design process. It is one of the most important characteristics of the system quality. The continuous increase of the system complexity makes the reliability evaluation extremely costly. Therefore, there is need to develop new methods with less cost and effort. Furthermore, the system is vulnerable to both software and hardware faults. While the software faults are usually introduced by the programmer either at the design or the implementation stage of the software, the hardware faults are caused by physical phenomena affecting the hardware components, such as environmental perturbations, manufacturing defects, and aging-related phenomena. The software faults can only impact the software components. However, the hardware faults can propagate through the different system layers, and affect both the hardware and the software. This paper discusses the differences between the software testing and the software fault injections techniques used for reliability evaluation. We describe the mutation analysis as a method mainly used in software testing. Then, we detail the fault injection as a technique to evaluate the system reliability. Finally, we discuss how to use software mutation analysis in order to evaluate, at software level, the system reliability against hardware faults. The main advantage of this technique is its usability at early design stage of the system, when the instruction set architecture is not available. Experimental results run to evaluate faults occurring the memory show that the proposed approach significantly reduces the complexity of the system reliability evaluation in terms of time and cost.
ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Microprocessors and Microsystems - Volume 50, May 2017, Pages 102-112
نویسندگان
, , , , , ,