Automatically Documenting Unit Test Cases
Maintaining unit test cases is important during the maintenance and evolution of a software system. In particular, automatically documenting these unit test cases can ameliorate the burden on developers maintaining them. For instance, by relying on up-to-date documentation, developers can more easil...
Saved in:
Published in | 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST) pp. 341 - 352 |
---|---|
Main Authors | , , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
01.04.2016
|
Subjects | |
Online Access | Get full text |
DOI | 10.1109/ICST.2016.30 |
Cover
Abstract | Maintaining unit test cases is important during the maintenance and evolution of a software system. In particular, automatically documenting these unit test cases can ameliorate the burden on developers maintaining them. For instance, by relying on up-to-date documentation, developers can more easily identify test cases that relate to some new or modified functionality of the system. We surveyed 212 developers (both industrial and open-source) to understand their perspective towards writing, maintaining, and documenting unit test cases. In addition, we mined change histories of C# software systems and empirically found that unit test methods seldom had preceding comments and infrequently had inner comments, and both were rarely modified as those methods were modified. In order to support developers in maintaining unit test cases, we propose a novel approach - UnitTestScribe - that combines static analysis, natural language processing, backward slicing, and code summarization techniques to automatically generate natural language documentation of unit test cases. We evaluated UnitTestScribe on four subject systems by means of an online survey with industrial developers and graduate students. In general, participants indicated that UnitTestScribe descriptions are complete, concise, and easy to read. |
---|---|
AbstractList | Maintaining unit test cases is important during the maintenance and evolution of a software system. In particular, automatically documenting these unit test cases can ameliorate the burden on developers maintaining them. For instance, by relying on up-to-date documentation, developers can more easily identify test cases that relate to some new or modified functionality of the system. We surveyed 212 developers (both industrial and open-source) to understand their perspective towards writing, maintaining, and documenting unit test cases. In addition, we mined change histories of C# software systems and empirically found that unit test methods seldom had preceding comments and infrequently had inner comments, and both were rarely modified as those methods were modified. In order to support developers in maintaining unit test cases, we propose a novel approach - UnitTestScribe - that combines static analysis, natural language processing, backward slicing, and code summarization techniques to automatically generate natural language documentation of unit test cases. We evaluated UnitTestScribe on four subject systems by means of an online survey with industrial developers and graduate students. In general, participants indicated that UnitTestScribe descriptions are complete, concise, and easy to read. |
Author | Linares-Vasquez, Mario Vendome, Christopher Boyang Li Poshyvanyk, Denys Kraft, Nicholas A. |
Author_xml | – sequence: 1 surname: Boyang Li fullname: Boyang Li email: boyang@cs.wm.edu organization: Coll. of William & Mary, Williamsburg, VA, USA – sequence: 2 givenname: Christopher surname: Vendome fullname: Vendome, Christopher email: cvendome@cs.wm.edu organization: Coll. of William & Mary, Williamsburg, VA, USA – sequence: 3 givenname: Mario surname: Linares-Vasquez fullname: Linares-Vasquez, Mario email: mlinarev@cs.wm.edu organization: Coll. of William & Mary, Williamsburg, VA, USA – sequence: 4 givenname: Denys surname: Poshyvanyk fullname: Poshyvanyk, Denys email: denys@cs.wm.edu organization: Coll. of William & Mary, Williamsburg, VA, USA – sequence: 5 givenname: Nicholas A. surname: Kraft fullname: Kraft, Nicholas A. email: nicholas.a.kraft@us.abb.com organization: ABB Corp. Res. Center, Raleigh, NC, USA |
BookMark | eNotzD1PwzAQAFAjwUALGxtLVoaEO397rAKUSpUYSOfK2GdkKXFQ4w799wwwve2t2HWZCzH2gNAhgnve9Z9DxwF1J-CKrVCBA7Tc4C172pzrPPmagx_HS_Myh_NEpeby3RxKrs1AS216v9Byx26SHxe6_3fNDm-vQ__e7j-2u36zbzMHW1v68k4poRVIZ1REbRMFTIG7pC0I0lok5IQUAzfcRBEBURqJkSuSpMSaPf69mYiOP6c8-dPlaBQqaZX4BSeEO8I |
CODEN | IEEPAD |
ContentType | Conference Proceeding |
DBID | 6IE 6IL CBEJK RIE RIL |
DOI | 10.1109/ICST.2016.30 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Xplore POP ALL IEEE Xplore All Conference Proceedings IEEE Xplore IEEE Proceedings Order Plans (POP All) 1998-Present |
DatabaseTitleList | |
Database_xml | – sequence: 1 dbid: RIE name: IEEE/IET Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
EISBN | 1509018271 9781509018277 |
EndPage | 352 |
ExternalDocumentID | 7515485 |
Genre | orig-research |
GroupedDBID | 6IE 6IL CBEJK RIE RIL |
ID | FETCH-LOGICAL-i208t-eba95536504975d168fec1fc29f6803e663f12e1edc2727d3d0114741d25e4e53 |
IEDL.DBID | RIE |
IngestDate | Thu Jun 29 18:37:31 EDT 2023 |
IsPeerReviewed | false |
IsScholarly | false |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-i208t-eba95536504975d168fec1fc29f6803e663f12e1edc2727d3d0114741d25e4e53 |
PageCount | 12 |
ParticipantIDs | ieee_primary_7515485 |
PublicationCentury | 2000 |
PublicationDate | 20160401 |
PublicationDateYYYYMMDD | 2016-04-01 |
PublicationDate_xml | – month: 04 year: 2016 text: 20160401 day: 01 |
PublicationDecade | 2010 |
PublicationTitle | 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST) |
PublicationTitleAbbrev | ICST |
PublicationYear | 2016 |
Publisher | IEEE |
Publisher_xml | – name: IEEE |
Score | 1.7465081 |
Snippet | Maintaining unit test cases is important during the maintenance and evolution of a software system. In particular, automatically documenting these unit test... |
SourceID | ieee |
SourceType | Publisher |
StartPage | 341 |
SubjectTerms | Documentation Electronic mail History Maintenance engineering natural language processing Open source software Software systems summarization unit test |
Title | Automatically Documenting Unit Test Cases |
URI | https://ieeexplore.ieee.org/document/7515485 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PS8MwFH5sO3lS2cTf9OBFsF3bNOlylOmYgiLYwW6jSV5AHJtoe9C_3pe0biAevIVHmuS1ab8v6fdeAC6YFEoqY0Pm3kLCWx2qjLHQODDTyiKWXiD7KKaz7H7O5x242sTCIKIXn2Hkiv5fvlnr2m2VDXPuCDbvQpemWROrtdGyy-Hd-LlwWi0ReUnz9qwUDxWTXXj46aRRiLxGdaUi_fUr_-J_R7EHg21QXvC0gZt96OCqD5fXdbX2WVfL5fIzuGmvpgqBY5NBQR_9YExI9TGA2eS2GE_D9vSD8CWNR1WIqpScM2JQmcy5ScTIok6sTqUVo5ghUQWbpJig0SmREMOMW9sQQTApxww5O4Dear3CQwhyy7I8FtJqnmeSVljUro1LJiRZS5EeQd-5uXhrElwsWg-P_zafwI67y4185RR61XuNZ4TMlTr3j-QbesiOpw |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NS8MwGH6Z86AnlU38tgcvgu3a5qPLUaZj020IdrDbaJM3II5VtD3orzdJ5wbiwVsI-Q7J8yR53jcAV0TwXORK-8SuQoO30s8pIb6yYCZzjZg5geyED6b0YcZmDbhZ28IgohOfYWCD7i1fFbKyV2WdhFmCzbZg2-A-ZbW11lrNLjrD3nNq1Vo8cKLmzW8pDiz6ezD-qabWiLwGVZkH8uuXB8b_tmMf2huzPO9pDTgH0MBlC65vq7JwflezxeLTu1vlNgk8yye91Gz7Xs9g1Ucbpv37tDfwV_8f-C9x2C19zDPBGDEcioqEqYh3NcpIy1ho3g0JGrKgoxgjVDI2NEQRZU83hiKomCFFRg6huSyWeAReoglNQi60ZAkV5oxlytVhRrgwsRmPj6Fluzl_q11czFc9PPk7-hJ2Bul4NB8NJ4-nsGtHvBaznEGzfK_w3OB0mV-46fkGKPyR9A |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2016+IEEE+International+Conference+on+Software+Testing%2C+Verification+and+Validation+%28ICST%29&rft.atitle=Automatically+Documenting+Unit+Test+Cases&rft.au=Boyang+Li&rft.au=Vendome%2C+Christopher&rft.au=Linares-Vasquez%2C+Mario&rft.au=Poshyvanyk%2C+Denys&rft.date=2016-04-01&rft.pub=IEEE&rft.spage=341&rft.epage=352&rft_id=info:doi/10.1109%2FICST.2016.30&rft.externalDocID=7515485 |