:::info نویسندگان:
:::
چکیده
1 مقدمه
2 مطالعه اصلی: سوالات تحقیق و روش شناسی
3 مطالعه اصلی: تهدیدهای اعتبار
4 مطالعه اصلی: نتایج
5 مطالعه تکرار شده: سوالات تحقیق و روش شناسی
6 مطالعه تکرار شده: تهدیدهای اعتبار
7 مطالعه تکرار شده: نتایج
8 بحث
9 کارهای مرتبط
10 نتیجه گیری و منابع
یک مشکل تکراری در توسعه نرم افزار، تصمیم گیری نادرست در مورد تکنیکها، روشها و ابزارهای مورد استفاده است. اکثراً، این تصمیمات بر اساس برداشتهای توسعه دهندگان درباره آنها است. عاملی که بر برداشتهای افراد تأثیر میگذارد تجربه گذشته است، اما تنها عامل نیست. در این تحقیق، ما قصد داریم کشف کنیم که برداشتهای مربوط به اثربخشی تشخیص نقص تکنیکهای مختلف چقدر با اثربخشی واقعی آنها در غیاب تجربه قبلی مطابقت دارد.
\ برای انجام این کار، ما یک مطالعه تجربی به علاوه یک تکرار انجام میدهیم. در طول مطالعه اصلی، ما یک آزمایش کنترل شده با دانشجویان انجام میدهیم که دو تکنیک تست و یک تکنیک بررسی کد را اعمال میکنند. در پایان آزمایش، آنها در یک نظرسنجی شرکت میکنند تا مشخص شود کدام تکنیک را موثرتر میدانند. نتایج نشان میدهد که برداشتهای شرکتکنندگان اشتباه است و این عدم تطابق از نظر کیفیت پرهزینه است.
\ برای کسب بینش بیشتر در مورد نتایج، ما آزمایش کنترل شده را تکرار میکنیم و نظرسنجی را گسترش میدهیم تا شامل سوالاتی در مورد نظرات شرکتکنندگان درباره تکنیکها و برنامهها باشد. نتایج مطالعه تکرار شده، یافتههای مطالعه اصلی را تأیید میکند و نشان میدهد که برداشتهای شرکتکنندگان ممکن است نه بر اساس نظرات آنها درباره پیچیدگی یا ترجیحات برای تکنیکها، بلکه بر اساس این باشد که چقدر فکر میکنند تکنیکها را خوب اعمال کردهاند.
یک روش روز به روز محبوبتر در حال حاضر این است که شرکتهای توسعه نرمافزار به توسعهدهندگان اجازه میدهند محیط فناوری خود را انتخاب کنند. این بدان معناست که توسعهدهندگان مختلف ممکن است از ابزارهای بهرهوری متفاوتی (زبان برنامهنویسی، IDE و غیره) استفاده کنند. با این حال، مهندسی نرمافزار (SE) یک رشته انسانمحور است که در آن تصمیمات اشتباه میتواند کیفیت نرمافزار نهایی را به خطر بیندازد. در SE، تصمیمات در مورد اینکه کدام روشها، تکنیکها و ابزارها در توسعه نرمافزار استفاده شوند، معمولاً بر اساس برداشتها و/یا نظرات توسعهدهندگان است تا شواهد، همانطور که توسط دیبا و همکاران [19] و زلکوویتز و همکاران [55] پیشنهاد شده است.
\ با این حال، شواهد تجربی ممکن است در دسترس نباشد، زیرا برخی روشها، تکنیکها یا ابزارها ممکن است در یک محیط خاص یا حتی اصلاً مورد مطالعه قرار نگرفته باشند. به طور جایگزین، توسعهدهندگان ممکن است به سادگی با چنین مطالعاتی آشنا نباشند، طبق گفته وگاس و باسیلی [49]. بر این اساس، مهم است که کشف کنیم برداشتهای توسعهدهندگان (باورها) چقدر با واقعیت مطابقت دارند و اگر ندارند، چه چیزی پشت این عدم تطابق است، همانطور که توسط دوانبو و همکاران [14] اشاره شده است. طبق روانشناسی، تجربه نقشی در برداشتهای افراد دارد. این موضوع توسط دوانبو و همکاران [14] در SE نیز مشاهده شده است.
\ با این حال، این تحقیق به دنبال کشف این است که در غیاب تجربه قبلی در فناوری مورد استفاده، برداشتها چقدر با واقعیت مطابقت دارند. این به چند دلیل منطقی است: 1) تجربه تنها عامل موثر بر برداشتهای توسعهدهندگان نیست؛ 2) تیمهای توسعه معمولاً از ترکیبی از افراد با و بدون تجربه تشکیل شدهاند؛ و 3) مشخص نیست چه نوع تجربهای بر برداشتها تأثیر میگذارد. به عنوان مثال، دیسته و همکاران [17] نتیجه میگیرند که تجربه دانشگاهی به جای تجربه حرفهای میتواند بر کیفیت خارجی کد تولید شده توسط توسعهدهندگان هنگام اعمال توسعه مبتنی بر تست تأثیر بگذارد.
\ ما قصد داریم بررسی کنیم که آیا برداشتها درباره اثربخشی سه تکنیک تشخیص نقص با واقعیت مطابقت دارد، و اگر نه، چه چیزی پشت این برداشتها است. تا آنجا که ما میدانیم، این اولین مقالهای است که به طور تجربی این موضوع را ارزیابی میکند. برای این منظور، ما یک مطالعه تجربی به علاوه یک تکرار با دانشجویان انجام دادیم. در طول مطالعه اصلی، ما (به عنوان بخشی از یک آزمایش کنترل شده) اثربخشی دو تکنیک تست و یک تکنیک بررسی کد را هنگام اعمال توسط شرکتکنندگان اندازهگیری کردیم. سپس تکنیک موثرترین درک شده (جمعآوری شده از طریق یک نظرسنجی) را در مقابل واقعی بررسی کردیم.
\ علاوه بر این، ما هزینه عدم تطابق بین برداشتها و واقعیت را از نظر از دست دادن اثربخشی تحلیل کردیم. یافتههای اصلی شامل:
– افراد مختلف تکنیکهای مختلفی را موثرتر میدانند. هیچ تکنیکی به عنوان موثرتر از دیگران درک نمیشود. – برداشتهای 50٪ از شرکتکنندگان (11 از 23) اشتباه است.
– برداشت اشتباه از تکنیکها میتواند اثربخشی را به طور متوسط 31 نقطه درصد کاهش دهد.
\ این یافتهها ما را به گسترش هدف مطالعه در یک تکرار برای بررسی آنچه میتواند پشت برداشتهای شرکتکنندگان باشد، هدایت کرد. برای انجام این کار، ما نظرات آنها را در مورد تکنیکهایی که اعمال کردند و برنامههایی که در تکرار آزمایش کنترل شده آزمایش کردند، بررسی کردیم. یافتههای اصلی شامل:
– نتایج تکرار، یافتههای مطالعه اصلی را تأیید میکند.
– شرکتکنندگان فکر میکنند که اثربخشی تکنیک منحصراً به عملکرد آنها بستگی دارد و نه به ضعفهای احتمالی خود تکنیک. – نظرات در مورد پیچیدگی تکنیک و ترجیحات برای تکنیکها به نظر نمیرسد نقشی در اثربخشی درک شده داشته باشند. این نتایج برای توسعهدهندگان و محققان مفید است. آنها پیشنهاد میکنند:
– توسعهدهندگان باید از محدودیتهای قضاوت خود آگاه شوند.
– ابزارهایی باید طراحی شوند که بازخورد به توسعهدهندگان در مورد اثربخشی تکنیکها ارائه دهند.
– بهترین ترکیب تکنیکها برای اعمال باید تعیین شود که در عین حال به راحتی قابل اجرا و موثر باشد. – ابزارهایی باید توسعه یابند تا نتایج تجربی را در دسترس توسعهدهندگان قرار دهند.
\ مواد مرتبط با مطالعات ارائه شده در اینجا را میتوان در https://github.com/GRISE-UPM/Misperceptions یافت. مقاله به شرح زیر سازماندهی شده است. بخش 2 مطالعه اصلی را توصیف میکند. بخش 3 تهدیدهای اعتبار آن را ارائه میدهد. بخش 4 نتایج را بحث میکند. بخش 5 مطالعه تکرار شده را بر اساس تغییرات انجام شده در مطالعه اصلی توصیف میکند. بخش 6 تهدیدهای اعتبار آن را ارائه میدهد. بخش 7 نتایج این مطالعه تکرار شده را گزارش میدهد. بخش 8 یافتههای ما و پیامدهای آنها را بحث میکند. بخش 9 کارهای مرتبط را نشان میدهد. در نهایت، بخش 10 نتیجهگیریهای این کار را مشخص میکند.
\ \
:::info این مقاله در arxiv تحت مجوز CC BY-NC-ND 4.0 در دسترس است.
:::
\


