Bug Selection

From Foss2Serve
Revision as of 17:53, 8 March 2017 by Lori.postner (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Title

Bug Selection

Overview

One way to contribute to an open source project is to select a bug, fix it, and submit the solution back to the community. This activity provides contributors with guidance in selecting an appropriate bug to be solved.

Prerequisites

Students should be familiar with how bug trackers work -- see Intro to Bug Trackers (Activity).

Learning Objectives After successfully completing this activity, the learner should be able to:
  1. Review a list of bugs and identify five relevant bugs that they have the skills to solve.
Process Skills Practiced


Background

Directions

  1. In order to identify an appropriate bug to be solved, you must first identify the criteria you should use to select an appropriate bug. Spend some time thinking about the following questions before you start searching the bug tracker:
    • What platform is the application run on?
    • What parts of the application are you familiar with?
    • What programming language is used?
    • What database is used?
    • What other technologies are used?
    • How complex is the code base?
    • Where is the documentation?
    • What kinds of things are you able to contribute?
      • Test cases?
      • Design?
      • Documentation?
      • Code?
      • Installation instructions?
  2. Once you have some understanding of the types bugs that you are comfortable addressing, find the bug tracker for the project.
  3. Peruse the bug tracker and identify a set of five possible bugs. You may need to ask the community to ensure that the bugs are still relevant.

Deliverables

A list of bugs including bug number, brief description (in your own words, not copied from the bug report), and a feasibility assessment of how likely you will be able to solve the bug. The feasibility should include an explanation of why you think that you have the skills to solve the bug. The list should be organized in order from easiest to solve to most difficult. One possible format for the deliverable might be:

Bug Number Short Description Bug Status URL for Bug Analysis

Alternative submission Could also ask for estimate of resources, time, and/or lines of code needed to solve the bug and/or set of test cases to test solution.

Comments

If you're working with a specific open source project:

  • ask the project (via IRC or mailing list) if there are a particular set of bugs that your students should focus on. Providing a subset of bugs for students to investigate will reduce time students spend searching for bugs.
ACM Body of Knowledge
Area & Unit(s)

Software Development Fundamentals (SDF) // Software Engineering (SE)

ACM Topic(s)

Development Methods, Verification and Validation (Defect tracking)

Level of Difficulty

Medium (requires some understanding of the intended functionality of the software, ability to use bug tracking software, and critical thinking skills)

Estimated Completion Time

60-90 minutes

Environment / Materials

Student needs access to the project's bug tracker, internet access.

Author(s)

Heidi Ellis, based on Gina Likins

Source

Bug Gardening

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png


Suggestions for the Open Source Project

Your community should have specific expectations around [support] that are published [somewhere]. For example, if your code will only work on Fedora versions newer than 19, then specify that.

If there are a set of bugs that it would be more helpful to have someone verify, then marking those in some way would help the instructor.

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox