CISC 615/CPEG 615 Software Testing and Maintenance - Spring 2012

Semester-long Project

Learning Objectives:

To observe software testing and maintenance practice through empirical study

Project

Each group chooses one of the three kinds of projects: empirical quantitative study using open-source software repositories, commercial qualitative study, or research project.

Empirical Study

The class will split up into project groups, some of the groups focusing on open-source software projects and some focusing on commercial software projects. The goal is to gather, analyze and present results on testing and maintenance in practice. Each group will focus on gathering different kinds of data. You may also choose as an alternative to this project, to do a research project in testing or maintenance, from a list of potential projects.

Deadline

  • Tues, 4/10: First draft of Question, Importance, and Methodology
  • Fri, 4/13: Revised Question, Importance and Methodology writeup
  • Mon, 4/23: Progress Report
  • Mon, 4/30: Progress Report
  • Mon, 5/7: Writeup of Implementation, Data, Results, Analysis put together with Earlier Writeup
  • Fri, 5/11: Electronic Poster draft
  • Finals Slot: Final poster printed, Poster Presentation and Final Version of Complete Report

    Open-Source Quantitative Study

    The Steps:

    • Choose a partner, 2 partners, or work by yourself.
    • Create a google doc that is shared with the instructor and your group members.
    • Develop an overall open question you want to investigate about programmer behavior during software evolution. Write a few paragraphs introducing your question and justifying the importance of providing evidence toward answering the question. What is learned by answering the question and how might that information be used to improve something (i.e., improve software development process, help educating students, provide direction for developing tools to help, analyze the feasibility of some kind of tool/change in process...). Describe a situation or two that would benefit from knowing that information.
    • Get feedback and acceptance of the question by the instructor.
    • Outline a methodology for your study:
      • What data will you collect? How/why do you think this data will help answer the question? What limitations do you see in this data answering the question?
      • How will you collect the data? What will you do to automate that process as much as possible to increase the amount of data you can collect for a stronger study?
      • What subjects will you gather the data on? What software projects? How many? How selected? Any restrictions/characteristics of the projects that you will use?
      • What do you have to implement for your methodology? How will you implement it?
      • How will you analyze your gathered data? Any calculations to be made? Graphs to be created?
    • Get feedback and acceptance of the methodology by the instructor.
    • Develop and test any implementations you need to gather data.
    • Gather your data.
    • Analyze your data.
    • Write your analysis.
    • Get feedback and acceptance by the instructor.
    • Create a professional poster on your study.
    • Finalize your google doc writeup of your study.
    • Present your poster at the class poster session.

    Commercial Qualitative Study

    The Steps:

    • Choose a partner, 2 partners, or work by yourself.
    • Create a google doc that is shared with the instructor and your group members.
    • Develop an overall open question you want to investigate about programmer behavior during software evolution. Write a few paragraphs introducing your question and justifying the importance of providing evidence toward answering the question. What is learned by answering the question and how might that information be used to improve something (i.e., improve software development process, help educating students, provide direction for developing tools t o help, analyze the feasibility of some kind of tool/change in process...). Describe a situation or two that would benefit from knowing that information.
    • Get feedback and acceptance of the question by the instructor.
    • Outline a methodology for your study:
      • What populations of human subjects do you want to target? Where are you going to recruit these people? How many people do you want in the study? How will you select the people to participate? Do you want the population from diverse backgrounds, institutions/companies, job positions,gender,nationality...?
      • What means will you use to gather information from the humans? Interviews? Surveys? Online? In-person?
      • What will your questions be? How will the questions provide information toward your open question?
      • How will you test out your question wording for non-bias (leading the human who answers them)?
      • How/when will you conduct your interview/survey?
      • Do you need other people involved to help you?
      • How will you analyze your gathered data? Any calculations to be made? Graphs to be created? Qualitative or quantitative?
    • Get feedback and acceptance by the instructor.
    • Develop and test your interview/survey instruments on a small set of local people.
    • Conduct your interviews/surveys to gather your data.
    • Analyze your data.
    • Write your analysis.
    • Get feedback and acceptance by the instructor.
    • Create a professional poster on your study.
    • Finalize your google doc writeup of your study.
    • Present your poster at the class poster session.

    Research Project

    The Steps:

    • Choose a partner, 2 partners, or work by yourself.
    • Choose a research project from the description on sakai wiki.
    • Discuss the project with the instructor.
    • Follow the general steps of the research project outline.
    • Create a professional poster on your research project.
    • finalize your google doc writeup of your research.
    • Present your poster at the class poster session.

    Grading Criteria:

    • Potential contribution of study results to learning about the state of the practice
    • Independent problem solving and creative thinking throughout the study design, implementation and analysis
    • Quality of implementations
    • Quality of data collection: extensiveness, thoroughness
    • Quality of data analysis: depth of analysis, organization, how related to open question
    • Quality of poster, report, and poster presentation
    • Quality of discussions with instructor
    • Participation as a group member
    • Timeliness of submissions
  • Copyright © 2007 University of Delaware