|
|
تولید خودکار مجموعه داده آزمون با هدف بهبود مکانیابی خطا مبتنی بر تحلیل علّی-آماری
|
|
|
|
|
نویسنده
|
ذاکری نصرآبادی مرتضی ,پارسا سعید ,حیاتی زهرا
|
منبع
|
رايانش نرم و فناوري اطلاعات - 1402 - دوره : 12 - شماره : 3 - صفحه:74 -84
|
چکیده
|
روشهای آماری مکانیابی خطا در نرمافزار وابستگی زیادی به دادههای ورودی برنامه داشته و با تغییرات دادهها دچار ناپایداری میشوند. از این رو، تولید داده آزمون مناسب نقش کلیدی در کیفیت فرآیند مکانیابی خطای نرمافزار ایفاء میکند. در این مقاله، روشی برای بهبود مکانیابی خطا با تولید دادههای آزمون جدید ارائه میشود. مجموعه آزمون به صورت کمینه و هدفمند، جهت تعیین شاخه خطادار و پس از آن جملات مظنون به خطای درون شاخه، تولید میگردد. ابتدا، محدوده جملات مظنون به خطا در یک مسیر اجرایی مشخص میشود. برای این کار، در مسیر اجرایی خطادار، شرطها از انتها به ابتدا نقیض شده و با استفاده از حلکننده z3 داده آزمون برای مسیر مورد نظر ایجاد میگردد. سپس، برنامه مجدداً با داده آزمونهای به دست آمده توسط فن اجرای نمادین پویا اجرا میشود. با توجه به موفق و یا ناموفق بودن اجرا، مشخص میکنیم که کدام شاخه مظنون به خطا است. بدین ترتیب، محدوده جملات برای اعمال روش علّی-آماری به حداقل ممکن میرسد. ارزیابی روش پیشنهادی روی چهار پروژه از مجموعه محک defect4j، انجام شده است. نتایج نشان دهنده کشف %75 از خطاها با بررسی حداکثر یک درصد از کد این برنامهها است که در مقایسه با کارهای موجود %17.98 بهبود دارد. همچنین، متوسط جملات مورد بررسی جهت کشف خطا، در بدترین حالت به میزان %16.78 کاهش داشته است.
|
کلیدواژه
|
اشکالزدایی، مکانیابی خطای نرمافزار، تحلیل علّی-آماری، تولید داده آزمون، اجرای نمادین پویا
|
آدرس
|
دانشگاه علم و صنعت ایران, دانشکده مهندسی کامپیوتر, ایران, دانشگاه علم و صنعت ایران, دانشکده مهندسی کامپیوتر, ایران, دانشگاه علم و صنعت ایران, دانشکده مهندسی کامپیوتر, ایران
|
پست الکترونیکی
|
z_hayati@comp.iust.ac.ir
|
|
|
|
|
|
|
|
|
automatic test data generation to improve fault-localization based on causal-statistical analysis
|
|
|
Authors
|
zakeri-nasrabadi morteza ,parsa saeed ,hayati zahra
|
Abstract
|
the statistical-based software fault localization approaches highly depend on the program inputs and become unstable as input data changes. therefore, generating appropriate test data plays an essential role in the quality of the software fault-localization process. this paper presents an approach to improving program fault localization by generating new test data. the minimized test suite determines the faulty execution path and the fault suspiciousness of each statement in the path is generated. first, the suspicious statements in the faulty path are determined. to this aim, the conditions of the faulty execution path are contradicted from the end to the beginning, and test data is created for the desired path using the z3 solver. afterward, the program under test is executed with the generated test data using the concolic testing technique. the fault-suspicious branch is determined depending on the passing or failing of the program execution. as a result, the region of statements for applying the causal-statistical approach is minimized. the proposed approach is evaluated on the four projects in the defects4j benchmark. the results show that 75% of faults are localized by examining a maximum of 1% of the program’s source code. compared to the related work, the results have improved by 17.98%. moreover, the mean number of sentences examined for fault localization decreases by 16.78% in the worst case.
|
Keywords
|
debugging ,software fault localization ,statistical causal analysis ,test data generation ,concolic execution
|
|
|
|
|
|
|
|
|
|
|