Understanding Concerns in Software: Insights Gained from Two Case Studies

  • Authors:
  • Meghan Revelle;Tiffany Broadbent;David Coppit

  • Affiliations:
  • The College of William and Mary, Williamsburg, VA;The College of William and Mary, Williamsburg, VA;The College of William and Mary, Williamsburg, VA

  • Venue:
  • IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Much of the complexity of software arises from the interactions between disparate concerns. Even in well-designed software, some concerns can not always be encapsulated in a module. Research on separation of concerns seeks to address this problem, but we lack an understanding of how programmers conceptualize the notion of a concern and then identify that concern in code. In this work, we have conducted two exploratory case studies to better understand these issues. The case studies involved programmers identifying concerns and associated code in existing, unfamiliar software: GNU's sort.c and the game Minesweeper. Based on our experiences with these two case studies, we have identified several types of concerns and have detailed a number of factors that impact programmer identification of concerns. Based on these insights, we have created two sets of guidelines: one to help programmers identify relevant concerns and another to help programmers identify code relating to concerns.