شماره ركورد كنفرانس :
4605
عنوان مقاله :
اجراي هدايت شده پويا نمادين برنامكهاي اندرويدي براي توليد خودكار ورودي آزمون
پديدآورندگان :
عدالت احسان ehsan.e.71@aut.ac.ir دانشكده مهندسي كامپيوتر و فناوري اطلاعات، دانشگاه صنعتي اميركبير، تهران، ايران؛ , اقوامي پناه محمود maghvami@aut.ac.ir دانشكده مهندسي كامپيوتر و فناوري اطلاعات، دانشگاه صنعتي اميركبير، تهران، ايران؛ , صادقيان بابك basadegh@aut.ac.ir دانشكده مهندسي كامپيوتر و فناوري اطلاعات، دانشگاه صنعتي اميركبير، تهران، ايران؛
كليدواژه :
اجراي پويا-نمادين , برنامكهاي اندرويدي , گراف فراخواني توابع , گراف كنترل جريان بين تابعي , ورودي آزمون
عنوان كنفرانس :
بيست و ششمين كنفرانس مهندسي برق ايران
چكيده فارسي :
اجراي پويا نمادين روشي پويا براي آزمون نرمافزار است كه ميتواند به پوشش بالايي از كد دست يابد. مشكل اين روش در برنامههاي واقعي انفجار مسير در اجرا است. بنابراين اجراي پويا نمادين صرف براي برنامه هاي واقعي كارآمد نيست. از جمله نرمافزارهاي محبوب، برنامكهاي اندرويدي هستند. آزمون برنامكهاي اندرويدي نسبت به برنامههاي ديگر داراي چالشهاي جديد رخدادمحوربودن و وابستگي زياد به SDK2 است كه سربار آزمون را بالا ميبرد. در اين مقاله ما يك هيوريستيك را ارائه كردهايم كه اجراي پويا نمادين را به صورت بهينه و هدايتشده روي برنامكهاي اندرويدي اعمال ميكند. همچنين با تحليل ايستا و استخراج گراف فراخواني توابع همراه با پيمايش روبهعقب آن، نقطه شروع برنامك3 را توليد مي كنيم. با استفاده از گراف كنترل جريان بين تابعي و پيمايش روبهعقب آن نيز، اطلاعات مسيرهاي داراي اولويت را در يك پشته ذخيره مي نماييم. در اين كار با ايده استفاده از كلاسهاي Mock، مسئله رخدادمحوربودن را حل كردهايم. ضمن آنكه اجراي پويا نمادين را با اطلاعات پشته مسيرهاي مطلوب به صورت هدايت شده انجام ميدهيم تا با محدود كردن فرايند آزمون به نقطه هاي شروع مشخص، سربار بالاي آزمون برنامكها را كاهش دهيم. براي ارزيابي راهكار ارائه شده، ابتدا 10 برنامك داراي خطا را مطرح و پياده سازي كرديم كه ابزار ما تمامي خطاها را تشخيص داد. همچنين 4 برنامك موردآزمون در ابزار Sig-Droid را با ابزار خود آزموديم. نتايج نشان ميدهد ابزار ما با سرعت بيشتري ميتواند خطاهاي برنامك را تشخيص دهد.