Proceedings of the 13th International Conference on Software Engineering - ICSE '08 2008
DOI: 10.1145/1368088.1368195
|View full text |Cite
|
Sign up to set email alerts
|

A study of student strategies for the corrective maintenance of concurrent software

Abstract: Graduates of computer science degree programs are increasingly being asked to maintain large, multi-threaded software systems; however, the maintenance of such systems is typically not wellcovered by software engineering texts or curricula. We conducted a think-aloud study with 15 students in a graduate-level computer science class to discover the strategies that students apply, and to what effect, in performing corrective maintenance on concurrent software. We collected think-aloud and action protocols, and a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
14
0

Year Published

2008
2008
2018
2018

Publication Types

Select...
5
2

Relationship

1
6

Authors

Journals

citations
Cited by 16 publications
(14 citation statements)
references
References 25 publications
0
14
0
Order By: Relevance
“…For his thesis, Scott Fleming observed programmers debugging a multithreaded server application that had been seeded with a concurrency bug [10,11]. Interestingly, several participants were able to find and fix the flaw, but were not able to correctly describe the design defect that caused the problem.…”
Section: How Developers Use Analysis Toolsmentioning
confidence: 99%
“…For his thesis, Scott Fleming observed programmers debugging a multithreaded server application that had been seeded with a concurrency bug [10,11]. Interestingly, several participants were able to find and fix the flaw, but were not able to correctly describe the design defect that caused the problem.…”
Section: How Developers Use Analysis Toolsmentioning
confidence: 99%
“…Inspecting concurrent traces manually, however, is still tedious and timeconsuming. An empirical study of strategies commonly used for diagnosing and correcting faults in concurrent software shows that the primary concern of the programmer is to produce and analyze a failing trace by reasoning about potential thread interleavings based on some degree of program understanding [9]. In light of the complexity of this task, tool support is highly desirable.…”
Section: Introductionmentioning
confidence: 99%
“…However, much less is known of issues specific to the maintenance of these systems. Previously, we performed a think-aloud study [16] of programmers engaged in the corrective maintenance of a concurrent program [7]. This study strove to understand what behaviors correlate with success on task.…”
Section: Introductionmentioning
confidence: 99%
“…In addition to the think-aloud data we collected and used for this prior study, the participants took a posttest to assess the extent to which they understood the program. However, at the time of publication [7], we had yet to analyze these data. This paper reports the results of the posttest analysis and attempts to reconcile these results with the predictions of two well-known studies [10,17].…”
Section: Introductionmentioning
confidence: 99%