{"title":"Achieving Better Requirements to Code Traceability: Which Refactoring Should Be Done First?","authors":"Farina Faiz, Rubaida Easmin, Alim Ul Gias","doi":"10.1109/QUATIC.2016.012","DOIUrl":null,"url":null,"abstract":"During system evolution, trace links among requirements and source code could get distorted due to vocabulary mismatch problem. Nevertheless, researchers have shown that those links can be recovered by code refactoring. Moreover, it is shown that refactoring methods like rename identifier has positive impact in supporting traceability. This leads to the question that will other refactoring methods will have same impact on traceability? If yes, then which refactoring technique should be applied first? For this investigation, we used four refactoring techniques - introducing parameter object, pull up field, inline class and decompose conditional. The methods were applied on two different code bases namely iTrust and eTour. The traceability links were generated by an automated tool named TraceME. From the experiment, we observed that introducing parameter object improves requirements to code traceability. Inline class and decompose conditional show a little but positive influence. Pull up method shows no improvements in traceability. We conclude that introducing parameter object should have high priority to achieve better traceability.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QUATIC.2016.012","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7
Abstract
During system evolution, trace links among requirements and source code could get distorted due to vocabulary mismatch problem. Nevertheless, researchers have shown that those links can be recovered by code refactoring. Moreover, it is shown that refactoring methods like rename identifier has positive impact in supporting traceability. This leads to the question that will other refactoring methods will have same impact on traceability? If yes, then which refactoring technique should be applied first? For this investigation, we used four refactoring techniques - introducing parameter object, pull up field, inline class and decompose conditional. The methods were applied on two different code bases namely iTrust and eTour. The traceability links were generated by an automated tool named TraceME. From the experiment, we observed that introducing parameter object improves requirements to code traceability. Inline class and decompose conditional show a little but positive influence. Pull up method shows no improvements in traceability. We conclude that introducing parameter object should have high priority to achieve better traceability.