ABSTRACT
In software development, bug reports provide crucial information to developers. However,these reports widely differ in their quality. We conducted a survey among developers and users of APACHE, ECLIPSE, and MOZILLA to find out what makes a good bug report. The analysis of the 466 responses revealed an information mismatch between what developers need and what users supply. Most developers consider steps to reproduce, stack traces, and test cases as helpful, which are at the same time most difficult to provide for users. Such insight is helpful to design new bug tracking tools that guide users at collecting and providing more helpful information. Our CUEZILLA prototype is such a tool and measures the quality of new bug reports; it also recommends which elements should be added to improve the quality. We trained CUEZILLA on a sample of 289 bug reports,rated by developers as part of the survey. In our experiments, CUEZILLA was able to predict the quality of 31–48% of bug reports accurately.
INTRODUCTION
Bug reports are vital for any software development. They allow users to inform developers of the problems encountered while using a software. Bug reports typically contain a detailed description of a failure and occasionally hint at the location of the fault in the code (in form of patches or stack traces). However, bug reports vary in their quality of content; they often provide inadequate or incorrect information. Thus, developers sometimes have to face bugs with descriptions such as “Sem Web” (APACHE bug COCOON-1254), “wqqwqw” (ECLIPSE bug #145133), or just “GUI” with comment “The page is too clumsy” (MOZILLA bug #109242). It is no surprise that developers are slowed down by poorly written bug reports
because identifying the problem from such reports takes more time.In this paper, we investigate the quality of bug reports from the perspective of developers. We expected several factors to impact the quality of bug reports such as the length of descriptions, formatting, and presence of stack traces and attachments (such as screenshots). To find out which matter most, we asked 872 developers from the APACHE, ECLIPSE, and MOZILLA projects to:
1. Complete a survey on important information in bug reports and the problems they faced with them. We received a total of 156 responses to our survey (Section 2 and 3).
2. Rate the quality of bug reports from very poor to very good onafive-point Likert scale[22]. We received a total of 1,186 votes for 289 randomly selected bug reports (Section 4).
In addition, we asked 1,354 reporters1 from the same projects to complete a similar survey,out of which 310 responded. The results of both surveys suggest that there is a mismatch between what developers consider most helpful and what users provide. To enable swift fixing of bugs, this mismatch should be bridged, for example with tool support for reporters to furnish information that developers want. We developed a prototype tool called CUEZILLA (seeFigure1),which gauges the quality of bug reports and suggests to reporters what should be added to make a bug report better.
1. CUEZILLA measures the quality of bug reports. We trained and evaluated CUEZILLA on the 289 bug reports rated by the developers (Section 5).
2. CUEZILLA provides incentives to reporters. We automatically mined the bug databases for encouraging facts such as “Bug reports with stack traces are fixed sooner” (Section 6).
บทคัดย่อ ในการพัฒนาซอฟต์แวร์ รายงานข้อผิดพลาดให้ข้อมูลสำคัญแก่นักพัฒนา อย่างไรก็ตาม รายงานเหล่านี้อย่างกว้างขวางแตกต่างกันในคุณภาพของพวกเขา เราได้ทำการสำรวจในหมู่นักพัฒนาและผู้ใช้ APACHE, ECLIPSE และ MOZILLA ออกสิ่งที่ทำให้รายงานข้อผิดพลาดที่ดีกับ การวิเคราะห์การตอบสนองที่ 466 เปิดเผยเป็นข้อมูลไม่ตรงกันระหว่างสิ่งที่ต้องพัฒนาและจัดหาของผู้ใช้ นักพัฒนาส่วนใหญ่พิจารณาขั้นตอนการทำซ้ำ กองร่องรอย และกรณีทดสอบเป็น ซึ่งเป็นเวลาเดียวกัน difficult มากที่สุดเพื่อให้ผู้ ความเข้าใจดังกล่าวเป็นประโยชน์ในการออกแบบบกพร่องใหม่ติดตามเครื่องมือที่แนะนำผู้ใช้ที่เก็บรวบรวม และให้ข้อมูลที่เป็นประโยชน์มากขึ้น ต้นแบบ CUEZILLA ของเราเป็นเครื่องมือ และวัดคุณภาพของรายงานข้อผิดพลาดใหม่ มันยังแนะนำควรเพิ่มองค์ประกอบที่ปรับปรุงคุณภาพ เราสามารถฝึก CUEZILLA ในตัวอย่างของรายงานข้อผิดพลาด 289 คะแนน โดยพัฒนาเป็นส่วนหนึ่งของการสำรวจ ในการทดลองของเรา CUEZILLA ก็สามารถทำนายคุณภาพ 31 – 48% ของรายงานข้อบกพร่องได้อย่างถูกต้องแนะนำ รายงานข้อผิดพลาดสำคัญสำหรับการพัฒนาซอฟต์แวร์ใด ๆ พวกเขาอนุญาตให้แจ้งปัญหาที่พบในขณะใช้ซอฟต์แวร์ของผู้ใช้ รายงานข้อผิดพลาดโดยทั่วไปประกอบด้วยคำอธิบายโดยละเอียดของความล้มเหลว และบางครั้งเดาตำแหน่งของความผิดพลาดในรหัส (ในรูปของซอฟต์แวร์หรือสแตก) อย่างไรก็ตาม รายงานข้อบกพร่องแตกต่างกันในคุณภาพของเนื้อหา พวกเขามักจะให้ข้อมูลไม่เพียงพอ หรือไม่ถูกต้อง ดังนั้น นักพัฒนาบางครั้งต้องเผชิญกับโรคจิตกับคำอธิบายเช่น "Sem เว็บ" (APACHE บักคูน-1254), "wqqwqw" (ECLIPSE bug #145133), หรือเพียงแค่ "GUI" พร้อมแสดงความคิดเห็น "หน้าคือซุ่มซ่ามเกินไป" (MOZILLA bug #109242) จึงไม่แปลกใจที่นักพัฒนาจะชะลอตัวลง โดยประกาศเขียนไม่ดีเพราะการระบุปัญหาจากรายงานดังกล่าว ใช้เวลาเพิ่มเติม ในกระดาษนี้ เราตรวจสอบคุณภาพของรายงานข้อผิดพลาดจากมุมมองของนักพัฒนา เราคาดว่าปัจจัยต่าง ๆ ที่ส่งผลกระทบต่อคุณภาพของรายงานข้อผิดพลาดเช่นความยาวของคำอธิบาย รูปแบบ และสถานะการออนไลน์ของสแตกและสิ่งที่แนบ (เช่นหน้าจอ) ออกเรื่องใดมากที่สุด เราถาม 872 นักพัฒนาจากโครงการ APACHE, ECLIPSE และ MOZILLA เพื่อ: 1. กรอกแบบสำรวจข้อมูลสำคัญในรายงานข้อผิดพลาดและปัญหาที่พวกเขาเผชิญหน้ากับพวกเขา เรารับทั้งหมด 156 คำตอบแบบสำรวจของเรา (ส่วนที่ 2 และ 3) 2. ประเมินคุณภาพของรายงานจุดบกพร่องจากแย่มากขนาด Likert onafive จุดดีมาก [22] เรารับทั้งหมด 1,186 คะแนนสำหรับรายงานข้อผิดพลาดแบบสุ่ม 289 (4 ส่วน) นอกจากนี้ เราถาม 1,354 reporters1 จากโครงการเดียวกันเพื่อทำการสำรวจที่คล้ายกัน จากที่ 310 ตอบ ผลการสำรวจทั้งสองแนะนำว่า มีตรงกันระหว่างนักพัฒนาอะไรพิจารณาประโยชน์มากที่สุด และสิ่งที่ผู้ใช้ให้ การเปิดใช้งาน fixing อย่างรวดเร็วของข้อบกพร่อง ไม่ตรงกันนี้ควรจะระหว่างกาล เช่น ด้วยการสนับสนุนเครื่องมือสำหรับผู้สื่อข่าวในการจัดเตรียมข้อมูลที่นักพัฒนาต้อง เราพัฒนาเครื่องมือต้นแบบที่เรียกว่า CUEZILLA (seeFigure1), ซึ่ง gauges คุณภาพของรายงานข้อบกพร่อง และแนะนำให้ผู้สื่อข่าวอะไรควรจะเพิ่มให้รายงานข้อผิดพลาดดีกว่า 1. CUEZILLA วัดคุณภาพของรายงานข้อผิดพลาด เราผ่านการฝึกอบรม และประเมินผล CUEZILLA การรายงานจุดบกพร่อง 289 คะแนน โดยนักพัฒนา (ส่วนที่ 5) 2. CUEZILLA ให้แรงจูงใจให้ผู้สื่อข่าว เราขุดโดยอัตโนมัติฐานข้อมูลข้อผิดพลาดสำหรับกระตุ้นให้ข้อเท็จจริงเช่น"รายงานข้อผิดพลาดกับสแตก fixed เร็ว" (มาตรา 6)
การแปล กรุณารอสักครู่..
