• شماره ركورد
    23934
  • پديد آورنده

    سميه رحيمي

  • عنوان
    ارزيابي تأثير خطاخيزي در بهبود راهكارهاي مكان‌‌يابي خطاي مبتني بر طيف
  • مقطع تحصيلي
    كارشناسي ارشد
  • رشته تحصيلي
    مهندسي كامپيوتر- نرم افزار
  • تاريخ دفاع
    1399/12/5
  • استاد راهنما
    دكتر سعيد پارسا
  • دانشكده
    مهندسي كامپيوتر
  • چكيده
    اشكال‌‌زدايي يكي از فعاليت‌‌هاي زمان‌‌بر در توسعه‌‌ي نرم‌‌افزار است. ازاين‌روي، روش‌‌هاي بسياري براي مكان‌‌يابي خطا ارائه شده‌‌ كه هدف آن‌‌ها كاهش هزينه‌‌هاي توسعه است. يكي از روش‌‌هاي مؤثر در مكان‌يابي خطا، مكان‌يابي خطاي مبتني بر طيف است. روش‌‌هاي مبتني بر طيف از اطلاعات پوششي بدست ‌آمده در هنگام اجراي موردهاي آزمون مختلف بر روي برنامه، براي شناسايي مكان خطا در برنامه استفاده مي‌‌كنند. باوجود كارآمدي بالاي روش‌‌هاي مبتني بر طيف، دقت آن‌‌ها محدود است، زيرا نحو و معناي برنامه را در نظر نمي‌‌گيرند و تنها به اطلاعات اجرايي برنامه وابسته هستند. روش پيشنهادي در اين پايان‌نامه براي بهبود دقت مكان‌يابي خطا از ساختار ايستاي برنامه و تحليل خطاخيزي بخش‌هاي مختلف كد (تحليل ايستا) به‌‌عنوان دانشي در كنار روش‌‌هاي مبتني بر طيف (تحليل پويا) استفاده مي‌‌كند. به‌منظور تحليل خطاخيزي ايستاي كد دو رويكرد مدل‌‌هاي پيش‌بيني خطا و الگوهاي اشكال مورد بررسي قرار مي‌‌گيرند. در اين راستا، دو راهكار تركيبي نوين به نام‌‌هاي FP-SBFL و BP-SBFL ارائه مي‌‌شوند. هر دو راهكار پيشنهادي مي‌‌كوشند تا با در نظر گرفتن ساختار ايستاي برنامه در هنگام مدل‌سازي رفتاري برنامه، به‌طور هم‌زمان از نقاط قوت تحليل ايستا و پوياي برنامه براي مكان‌يابي نمودن خطا بهره‌مند شوند. راهكار FP-SBFL براي تحليل خطاخيزي ايستاي برنامه از يك مدل پيش‌بيني خطا استفاده مي‌كند. به‌‌منظور ساخت يك مدل‌‌ پيش‌بيني خطاي كارآمد، پركاربردترين الگوريتم‌‌هاي يادگيري ماشين بررسي مي‌‌شوند. با توجه به نتايج ارزيابي مي‌‌توان پي برد كه الگوريتم جنگل تصادفي بهترين عملكرد را در مقايسه با ديگر الگوريتم‌‌هاي يادگيري داشته است؛ بنابراين، اين الگوريتم براي ساخت مدل پيش‌‌بيني خطا در راهكار FP-SBFL به‌‌كار برده مي‌‌شود. راهكار BP-SBFL براي تحليل خطاخيزي ايستاي برنامه از الگوهاي اشكال استفاده مي‌‌كند. در اين راهكار، با استفاده از الگوهاي اشكال، اشكالات موجود در برنامه شناسايي شده و بر اساس شدت سختي هر يك از اشكالات، تحليل خطاخيزي ايستاي برنامه انجام مي‌‌گيرد. در پايان، براي برآورد امتيازهاي مظنون به خطايي جملات برنامه در هر دو راهكار FP-SBFL و BP-SBFL از تركيب خطي تحليل ايستا و پوياي برنامه استفاده مي‌‌شود. به‌منظور ارزيابي عملكرد راهكارهاي پيشنهادي، آزمايش‌‌هاي گوناگوني بر روي مجموعه آزمون Defects4J كه داراي خطاهاي واقعي است، انجام شده است. نتايج ارزيابي راهكارهاي تركيبي پيشنهادي و مقايسه‌ي آن‌ها با روش‌هاي برجسته‌‌ي مبتني بر طيف نشان مي‌‌دهد كه نوآوري به‌كاررفته در اين پايان‌نامه مي‌تواند سبب بهبود دقت مكان‌يابي خطا شود.
  • تاريخ ورود اطلاعات
    1400/04/03
  • عنوان به انگليسي
    On the evaluation of impact of fault-proneness on the improvement of spectrum-based fault localization techniques
  • تاريخ بهره برداري
    1/1/1900 12:00:00 AM
  • دانشجوي وارد كننده اطلاعات

    سميه رحيمي

  • چكيده به لاتين
    Debugging is one of the most time-consuming activities in software development. Hence, many fault localization methods have been proposed, aiming to reduce development costs. One of the effective fault localization methods is spectrum-based fault localization (SBFL). Spectrum-based methods use the coverage information obtained when running various test cases on the program to identify the fault location in the program. Despite the high efficiency of SBFL methods, their fault localization accuracy is limited, because they do not consider program syntax or semantics and depend only on the execution information of the program. The proposed method in this thesis uses the static structure of the program and fault-proneness analysis of different parts of the code (static analysis) as knowledge along with spectrum-based methods (dynamic analysis) to improve the accuracy of fault localization. Two approaches of fault prediction models and bug patterns are investigated to analyze the fault-proneness of code. Two new techniques, FP-SBFL and BP-SBFL, have been proposed in this regard. Both proposed techniques attempt to exploit the advantage of the strengths of static and dynamic program analysis to locate faults by considering the static structure of the program when modeling the behavior of the program. The FP-SBFL uses a fault prediction model to analyze the static fault-proneness of the program. To build an effective fault prediction model, well-known machine learning algorithms are investigated. According to the evaluation results, it can be concluded that the random forest algorithm outperforms other learning algorithms. Therefore, this learning algorithm is used to build the fault prediction model in the FP-SBFL. The BP-SBFL technique uses bug patterns to analyze the static fault-proneness of the program. In this technique, using bug patterns, bugs in the program are identified, and based on the severity of each bug, static fault-proneness analysis of the program is performed. Finally, to estimate the suspiciousness scores of the program statements in both FP-SBFL and BP-SBFL techniques, a linear combination of static and dynamic program analysis is used. To evaluate the performance of the proposed techniques, various experiments have been performed on the Defects4J suite, which has real faults. The results of the evaluation of the proposed hybrid techniques and comparison with state-of-the-art SBFL methods show that the innovation used in this thesis can improve the accuracy of fault localization.
  • كليدواژه هاي فارسي
    مكان‌‌يابي خطا , مبتني بر طيف , خطاخيزي , روش‌ آماري , پيش‌‌بيني خطا , الگوهاي اشكال
  • كليدواژه هاي لاتين
    Fault Localization , Spectrum-Based , Fault-Proneness , Statistical Method , Fault Prediction , Bug Patterns