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...

Full description

Saved in:
Bibliographic Details
Published in2016 IEEE International Conference on Software Testing, Verification and Validation (ICST) pp. 341 - 352
Main Authors Boyang Li, Vendome, Christopher, Linares-Vasquez, Mario, Poshyvanyk, Denys, Kraft, Nicholas A.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.04.2016
Subjects
Online AccessGet full text
DOI10.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