Title :
Understanding concerns in software: insights gained from two case studies
Author :
Revelle, Meghan ; Broadbent, Tiffany ; Coppit, David
Author_Institution :
Dept. of Comput. Sci., Coll. of William & Mary, Williamsburg, VA, USA
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.
Keywords :
object-oriented programming; reverse engineering; software metrics; GNU sort.c; Minesweeper game; aspect-oriented programming; programmer identification; software complexity; software concern understanding; Computer aided software engineering; Computer science; Concrete; Educational institutions; Functional programming; Guidelines; Programming profession; Software systems; Terminology;
Conference_Titel :
Program Comprehension, 2005. IWPC 2005. Proceedings. 13th International Workshop on
Print_ISBN :
0-7695-2254-8
DOI :
10.1109/WPC.2005.43