A study of student strategies for the corrective maintenance of concurrent software
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 well-covered by software engineering texts or curricula. We conducted a think-aloud study with 15 students in a gra...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Tagungsbericht |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 768 |
---|---|
container_issue | 24 |
container_start_page | 759 |
container_title | |
container_volume | 2008 |
creator | Fleming, Scott D. Kraemer, Eileen Stirewalt, R. E. K. Xie, Shaohua Dillon, Laura K. |
description | 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 well-covered 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 annotated the protocols for a number of behavioral attributes and maintenance strategies. We divided the protocols into groups based on the success of the participant in both diagnosing and correcting the failure. We evaluated these groups for statistically significant differences in these attributes and strategies.
In this paper, we report a number of interesting observations that came from this study. All participants performed diagnostic executions of the program to aid program comprehension; however, the participants that used this as their predominant strategy for diagnosing the fault were all unsuccessful. Among the participants that successfully diagnosed the fault and displayed high confidence in their diagnosis, we found two commonalities. They all recognized that the fault involved the violation of a concurrent-programming idiom. And, they all constructed detailed behavioral models (similar to UML sequence diagrams) of execution scenarios. We present detailed analyses to explain the attributes that correlated with success or lack of success. Based on these analyses, we make recommendations for improving software engineering curriculums by better training students how to apply these strategies effectively. |
doi_str_mv | 10.1145/1368088.1368195 |
format | Conference Proceeding |
fullrecord | <record><control><sourceid>proquest_6IE</sourceid><recordid>TN_cdi_ieee_primary_4814190</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>4814190</ieee_id><sourcerecordid>35043040</sourcerecordid><originalsourceid>FETCH-LOGICAL-a319t-3ba21dd08942a4d97238b5dcc91916c9a749f61626de271da67a16c3f90e32b93</originalsourceid><addsrcrecordid>eNqNkDtPwzAUhc1LopTODCyZEEuKrx9JPKKKl1SJAZgtx7mBQBMX2wH135PQDoxM5-ie79zhEHIGdA4g5BXwrKBFMR8VlNwjJ5BRKQuaK9gnExhsCozJg7_BIZlQltNUMpkfk1kI75RSAF4oChPydJ2E2FebxNW_Brs4qDcRXxsMSe18Et8wsc57tLH5wqQ1TRexM53FsWRdZ_shHHuujt_G4yk5qs0q4GynU_Jye_O8uE-Xj3cPi-tlajiomPLSMKgqWijBjKhUznhRyspaBQoyq0wuVJ1BxrIKWQ6VyXIz3HmtKHJWKj4lF9u_a-8-ewxRt02wuFqZDl0fNJdUcCroAJ5vwQYR9do3rfEbLQoQoMb0cpsa2-rSuY-ggepxcL0bXO8GH9D5P1Fd-gZr_gPQp3od</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype><pqid>35043040</pqid></control><display><type>conference_proceeding</type><title>A study of student strategies for the corrective maintenance of concurrent software</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Fleming, Scott D. ; Kraemer, Eileen ; Stirewalt, R. E. K. ; Xie, Shaohua ; Dillon, Laura K.</creator><creatorcontrib>Fleming, Scott D. ; Kraemer, Eileen ; Stirewalt, R. E. K. ; Xie, Shaohua ; Dillon, Laura K.</creatorcontrib><description>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 well-covered 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 annotated the protocols for a number of behavioral attributes and maintenance strategies. We divided the protocols into groups based on the success of the participant in both diagnosing and correcting the failure. We evaluated these groups for statistically significant differences in these attributes and strategies.
In this paper, we report a number of interesting observations that came from this study. All participants performed diagnostic executions of the program to aid program comprehension; however, the participants that used this as their predominant strategy for diagnosing the fault were all unsuccessful. Among the participants that successfully diagnosed the fault and displayed high confidence in their diagnosis, we found two commonalities. They all recognized that the fault involved the violation of a concurrent-programming idiom. And, they all constructed detailed behavioral models (similar to UML sequence diagrams) of execution scenarios. We present detailed analyses to explain the attributes that correlated with success or lack of success. Based on these analyses, we make recommendations for improving software engineering curriculums by better training students how to apply these strategies effectively.</description><identifier>ISSN: 0270-5257</identifier><identifier>ISBN: 1605580791</identifier><identifier>ISBN: 9781605580791</identifier><identifier>ISBN: 1424444861</identifier><identifier>ISBN: 9781424444861</identifier><identifier>EISSN: 1558-1225</identifier><identifier>EISBN: 1605580791</identifier><identifier>EISBN: 9781605580791</identifier><identifier>DOI: 10.1145/1368088.1368195</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Computer science ; Computing methodologies -- Concurrent computing methodologies -- Concurrent programming languages ; concurrent programming ; Fault diagnosis ; Maintenance engineering ; Permission ; Protocols ; Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management -- Software maintenance ; Software and its engineering -- Software creation and management -- Software post-development issues ; Software and its engineering -- Software notations and tools -- General programming languages -- Language types -- Concurrent programming languages ; Software engineering ; Software maintenance ; Software performance ; Software systems ; think-aloud method ; Unified modeling language</subject><ispartof>2008 ACM/IEEE 30th International Conference on Software Engineering, 2008, Vol.2008 (24), p.759-768</ispartof><rights>2008 ACM</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/4814190$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,776,780,785,786,2052,27902,54895</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/4814190$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Fleming, Scott D.</creatorcontrib><creatorcontrib>Kraemer, Eileen</creatorcontrib><creatorcontrib>Stirewalt, R. E. K.</creatorcontrib><creatorcontrib>Xie, Shaohua</creatorcontrib><creatorcontrib>Dillon, Laura K.</creatorcontrib><title>A study of student strategies for the corrective maintenance of concurrent software</title><title>2008 ACM/IEEE 30th International Conference on Software Engineering</title><addtitle>ICSE</addtitle><description>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 well-covered 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 annotated the protocols for a number of behavioral attributes and maintenance strategies. We divided the protocols into groups based on the success of the participant in both diagnosing and correcting the failure. We evaluated these groups for statistically significant differences in these attributes and strategies.
In this paper, we report a number of interesting observations that came from this study. All participants performed diagnostic executions of the program to aid program comprehension; however, the participants that used this as their predominant strategy for diagnosing the fault were all unsuccessful. Among the participants that successfully diagnosed the fault and displayed high confidence in their diagnosis, we found two commonalities. They all recognized that the fault involved the violation of a concurrent-programming idiom. And, they all constructed detailed behavioral models (similar to UML sequence diagrams) of execution scenarios. We present detailed analyses to explain the attributes that correlated with success or lack of success. Based on these analyses, we make recommendations for improving software engineering curriculums by better training students how to apply these strategies effectively.</description><subject>Computer science</subject><subject>Computing methodologies -- Concurrent computing methodologies -- Concurrent programming languages</subject><subject>concurrent programming</subject><subject>Fault diagnosis</subject><subject>Maintenance engineering</subject><subject>Permission</subject><subject>Protocols</subject><subject>Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management -- Software maintenance</subject><subject>Software and its engineering -- Software creation and management -- Software post-development issues</subject><subject>Software and its engineering -- Software notations and tools -- General programming languages -- Language types -- Concurrent programming languages</subject><subject>Software engineering</subject><subject>Software maintenance</subject><subject>Software performance</subject><subject>Software systems</subject><subject>think-aloud method</subject><subject>Unified modeling language</subject><issn>0270-5257</issn><issn>1558-1225</issn><isbn>1605580791</isbn><isbn>9781605580791</isbn><isbn>1424444861</isbn><isbn>9781424444861</isbn><isbn>1605580791</isbn><isbn>9781605580791</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2008</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNqNkDtPwzAUhc1LopTODCyZEEuKrx9JPKKKl1SJAZgtx7mBQBMX2wH135PQDoxM5-ie79zhEHIGdA4g5BXwrKBFMR8VlNwjJ5BRKQuaK9gnExhsCozJg7_BIZlQltNUMpkfk1kI75RSAF4oChPydJ2E2FebxNW_Brs4qDcRXxsMSe18Et8wsc57tLH5wqQ1TRexM53FsWRdZ_shHHuujt_G4yk5qs0q4GynU_Jye_O8uE-Xj3cPi-tlajiomPLSMKgqWijBjKhUznhRyspaBQoyq0wuVJ1BxrIKWQ6VyXIz3HmtKHJWKj4lF9u_a-8-ewxRt02wuFqZDl0fNJdUcCroAJ5vwQYR9do3rfEbLQoQoMb0cpsa2-rSuY-ggepxcL0bXO8GH9D5P1Fd-gZr_gPQp3od</recordid><startdate>20080101</startdate><enddate>20080101</enddate><creator>Fleming, Scott D.</creator><creator>Kraemer, Eileen</creator><creator>Stirewalt, R. E. K.</creator><creator>Xie, Shaohua</creator><creator>Dillon, Laura K.</creator><general>ACM</general><general>IEEE</general><scope>6IE</scope><scope>6IH</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIO</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20080101</creationdate><title>A study of student strategies for the corrective maintenance of concurrent software</title><author>Fleming, Scott D. ; Kraemer, Eileen ; Stirewalt, R. E. K. ; Xie, Shaohua ; Dillon, Laura K.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a319t-3ba21dd08942a4d97238b5dcc91916c9a749f61626de271da67a16c3f90e32b93</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2008</creationdate><topic>Computer science</topic><topic>Computing methodologies -- Concurrent computing methodologies -- Concurrent programming languages</topic><topic>concurrent programming</topic><topic>Fault diagnosis</topic><topic>Maintenance engineering</topic><topic>Permission</topic><topic>Protocols</topic><topic>Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management -- Software maintenance</topic><topic>Software and its engineering -- Software creation and management -- Software post-development issues</topic><topic>Software and its engineering -- Software notations and tools -- General programming languages -- Language types -- Concurrent programming languages</topic><topic>Software engineering</topic><topic>Software maintenance</topic><topic>Software performance</topic><topic>Software systems</topic><topic>think-aloud method</topic><topic>Unified modeling language</topic><toplevel>online_resources</toplevel><creatorcontrib>Fleming, Scott D.</creatorcontrib><creatorcontrib>Kraemer, Eileen</creatorcontrib><creatorcontrib>Stirewalt, R. E. K.</creatorcontrib><creatorcontrib>Xie, Shaohua</creatorcontrib><creatorcontrib>Dillon, Laura K.</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan (POP) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP) 1998-present</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Fleming, Scott D.</au><au>Kraemer, Eileen</au><au>Stirewalt, R. E. K.</au><au>Xie, Shaohua</au><au>Dillon, Laura K.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>A study of student strategies for the corrective maintenance of concurrent software</atitle><btitle>2008 ACM/IEEE 30th International Conference on Software Engineering</btitle><stitle>ICSE</stitle><date>2008-01-01</date><risdate>2008</risdate><volume>2008</volume><issue>24</issue><spage>759</spage><epage>768</epage><pages>759-768</pages><issn>0270-5257</issn><eissn>1558-1225</eissn><isbn>1605580791</isbn><isbn>9781605580791</isbn><isbn>1424444861</isbn><isbn>9781424444861</isbn><eisbn>1605580791</eisbn><eisbn>9781605580791</eisbn><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 well-covered 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 annotated the protocols for a number of behavioral attributes and maintenance strategies. We divided the protocols into groups based on the success of the participant in both diagnosing and correcting the failure. We evaluated these groups for statistically significant differences in these attributes and strategies.
In this paper, we report a number of interesting observations that came from this study. All participants performed diagnostic executions of the program to aid program comprehension; however, the participants that used this as their predominant strategy for diagnosing the fault were all unsuccessful. Among the participants that successfully diagnosed the fault and displayed high confidence in their diagnosis, we found two commonalities. They all recognized that the fault involved the violation of a concurrent-programming idiom. And, they all constructed detailed behavioral models (similar to UML sequence diagrams) of execution scenarios. We present detailed analyses to explain the attributes that correlated with success or lack of success. Based on these analyses, we make recommendations for improving software engineering curriculums by better training students how to apply these strategies effectively.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/1368088.1368195</doi><tpages>10</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | ISSN: 0270-5257 |
ispartof | 2008 ACM/IEEE 30th International Conference on Software Engineering, 2008, Vol.2008 (24), p.759-768 |
issn | 0270-5257 1558-1225 |
language | eng |
recordid | cdi_ieee_primary_4814190 |
source | IEEE Electronic Library (IEL) Conference Proceedings |
subjects | Computer science Computing methodologies -- Concurrent computing methodologies -- Concurrent programming languages concurrent programming Fault diagnosis Maintenance engineering Permission Protocols Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management -- Software maintenance Software and its engineering -- Software creation and management -- Software post-development issues Software and its engineering -- Software notations and tools -- General programming languages -- Language types -- Concurrent programming languages Software engineering Software maintenance Software performance Software systems think-aloud method Unified modeling language |
title | A study of student strategies for the corrective maintenance of concurrent software |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-07T12%3A33%3A09IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=A%20study%20of%20student%20strategies%20for%20the%20corrective%20maintenance%20of%20concurrent%20software&rft.btitle=2008%20ACM/IEEE%2030th%20International%20Conference%20on%20Software%20Engineering&rft.au=Fleming,%20Scott%20D.&rft.date=2008-01-01&rft.volume=2008&rft.issue=24&rft.spage=759&rft.epage=768&rft.pages=759-768&rft.issn=0270-5257&rft.eissn=1558-1225&rft.isbn=1605580791&rft.isbn_list=9781605580791&rft.isbn_list=1424444861&rft.isbn_list=9781424444861&rft_id=info:doi/10.1145/1368088.1368195&rft_dat=%3Cproquest_6IE%3E35043040%3C/proquest_6IE%3E%3Curl%3E%3C/url%3E&rft.eisbn=1605580791&rft.eisbn_list=9781605580791&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=35043040&rft_id=info:pmid/&rft_ieee_id=4814190&rfr_iscdi=true |