{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,8]],"date-time":"2024-07-08T07:49:19Z","timestamp":1720424959951},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"2","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2006,4]]},"abstract":"To facilitate software maintenance and evolution, a helpful step is to locate features concerned in a particular maintenance task. In the literature, both dynamic and interactive approaches have been proposed for feature location. In this article, we present a static and noninteractive method for achieving this objective. The main idea of our approach is to use information retrieval (IR) technology to reveal the basic connections between features and computational units in the source code. Due to the imprecision of retrieved connections, we use a static representation of the source code named BRCG (branch-reserving call graph) to further recover both relevant and specific computational units for each feature. A premise of our approach is that programmers should use meaningful names as identifiers. We also performed an experimental study based on two real-world software systems to evaluate our approach. According to experimental results, our approach is quite effective in acquiring the relevant and specific computational units for most features.<\/jats:p>","DOI":"10.1145\/1131421.1131424","type":"journal-article","created":{"date-parts":[[2006,7,25]],"date-time":"2006-07-25T14:14:26Z","timestamp":1153836866000},"page":"195-226","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":111,"title":["SNIAFL"],"prefix":"10.1145","volume":"15","author":[{"given":"Wei","family":"Zhao","sequence":"first","affiliation":[{"name":"Peking University, Beijing, China"}]},{"given":"Lu","family":"Zhang","sequence":"additional","affiliation":[{"name":"Peking University, Beijing, China"}]},{"given":"Yin","family":"Liu","sequence":"additional","affiliation":[{"name":"Rensselaer Polytechnic Institute, Troy, NY"}]},{"given":"Jiasu","family":"Sun","sequence":"additional","affiliation":[{"name":"Peking University, Beijing, China"}]},{"given":"Fuqing","family":"Yang","sequence":"additional","affiliation":[{"name":"Peking University, Beijing, China"}]}],"member":"320","published-online":{"date-parts":[[2006,4]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the 20th International Conference on Software Engineering (Kyoto, April). IEEE Computer Society, Washington, D.C. 84--93","author":"Anquetil N.","unstructured":"Anquetil , N. and Lethbridge , T . 1998. Extracting concepts from file names: A new file clustering criterion . In Proceedings of the 20th International Conference on Software Engineering (Kyoto, April). IEEE Computer Society, Washington, D.C. 84--93 .]] Anquetil, N. and Lethbridge, T. 1998. Extracting concepts from file names: A new file clustering criterion. In Proceedings of the 20th International Conference on Software Engineering (Kyoto, April). IEEE Computer Society, Washington, D.C. 84--93.]]"},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the 16th International Conference on Software Maintenance.","author":"Antoniol G.","unstructured":"Antoniol , G. , Canfora , G. , Casazza , G. , and Delucia , A . 2000. Information retrieval models for recovering traceability links between code and documentation . In Proceedings of the 16th International Conference on Software Maintenance. ( San Jose, Calif. Oct.). IEEE Computer Society, Washington, D.C. 40--49.]] Antoniol, G., Canfora, G., Casazza, G., and Delucia, A. 2000. Information retrieval models for recovering traceability links between code and documentation. In Proceedings of the 16th International Conference on Software Maintenance. (San Jose, Calif. Oct.). IEEE Computer Society, Washington, D.C. 40--49.]]"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1041053"},{"key":"e_1_2_1_4_1","volume-title":"Modern Information Retrieval","author":"Baeza-Yates R.","unstructured":"Baeza-Yates , R. and Ribeiro-Neto , B. 1999. Modern Information Retrieval . ACM Press . New York.]] Baeza-Yates, R. and Ribeiro-Neto, B. 1999. Modern Information Retrieval. ACM Press. New York.]]"},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the 15th International Conference on Software Engineering","author":"Biggerstaff T.","unstructured":"Biggerstaff , T. , Mitbander , B. , and Webster , D . 1993. The concept assignment problem in program understanding . In Proceedings of the 15th International Conference on Software Engineering ( Baltimore, Md., May.). IEEE Computer Society, Los Alamitos, Calif. 482--498.]] Biggerstaff, T., Mitbander, B., and Webster, D. 1993. The concept assignment problem in program understanding. In Proceedings of the 15th International Conference on Software Engineering (Baltimore, Md., May.). IEEE Computer Society, Los Alamitos, Calif. 482--498.]]"},{"key":"e_1_2_1_6_1","unstructured":"Bohner S. A. and Arnold R. S. 1996. Software Change Impact Analysis. IEEE Computer Society Los Alamitos Calif.]] Bohner S. A. and Arnold R. S. 1996. Software Change Impact Analysis. IEEE Computer Society Los Alamitos Calif.]]"},{"key":"e_1_2_1_7_1","unstructured":"Breiman L. Friedman J. H. Olshen R. A. and Stone C. J. 1984. Classification and Regression Trees. Wadsworth Belmont Calif.]] Breiman L. Friedman J. H. Olshen R. A. and Stone C. J. 1984. Classification and Regression Trees. Wadsworth Belmont Calif.]]"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2001.972749"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the 8th International Workshop on Program Comprehension","author":"Chen K.","unstructured":"Chen , K. and Rajlich , V . 2000. Case study of feature location using dependence graph . In Proceedings of the 8th International Workshop on Program Comprehension ( Limerick, Ireland, June). IEEE Computer Society, Washington, D.C. 241--249.]] Chen, K. and Rajlich, V. 2000. Case study of feature location using dependence graph. In Proceedings of the 8th International Workshop on Program Comprehension (Limerick, Ireland, June). IEEE Computer Society, Washington, D.C. 241--249.]]"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.282.0294"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the 25th International Conference on Software Engineering (Portland, Oreg., May). IEEE Computer Society, Washington, D.C. 408--418","author":"Cubranic D.","unstructured":"Cubranic , D. and Murphy , G. C . 2003. Hipikat: Recommending pertinent software development artifacts . In Proceedings of the 25th International Conference on Software Engineering (Portland, Oreg., May). IEEE Computer Society, Washington, D.C. 408--418 .]] Cubranic, D. and Murphy, G. C. 2003. Hipikat: Recommending pertinent software development artifacts. In Proceedings of the 25th International Conference on Software Engineering (Portland, Oreg., May). IEEE Computer Society, Washington, D.C. 408--418.]]"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-4571(199009)41:6<391::AID-ASI1>3.0.CO;2-9"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.177365"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2001.972777"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2003.1183929"},{"key":"e_1_2_1_16_1","unstructured":"Fowler M. Beck K. Brant J. Opdyke W. and Roberts D. 1999. Refactoring---Improving the Design of Existing Code. Addison Wesley Boston Mass.]] Fowler M. Beck K. Brant J. Opdyke W. and Roberts D. 1999. Refactoring---Improving the Design of Existing Code. Addison Wesley Boston Mass.]]"},{"key":"e_1_2_1_17_1","unstructured":"Gnu DC. An Arbitrary Precision Calculator. http:\/\/www.gnu.org\/directory\/GNU\/bc.html.]] Gnu DC. An Arbitrary Precision Calculator. http:\/\/www.gnu.org\/directory\/GNU\/bc.html.]]"},{"key":"e_1_2_1_18_1","unstructured":"Gnu UnRTF. Converts from RTF to Other Formats. http:\/\/www.gnu.org\/software\/unrtf\/unrtf.html.]] Gnu UnRTF. Converts from RTF to Other Formats. http:\/\/www.gnu.org\/software\/unrtf\/unrtf.html.]]"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 23rd International Conference on Software Engineering","author":"Griswold W. G.","unstructured":"Griswold , W. G. , Yuan , J. J. , and Kato , Y . 2001. Exploiting the map metaphor in a tool for software evolution . In Proceedings of the 23rd International Conference on Software Engineering ( Toronto, Ont. May). IEEE Computer Society, Washington, D.C. 265--274.]] Griswold, W. G., Yuan, J. J., and Kato, Y. 2001. Exploiting the map metaphor in a tool for software evolution. In Proceedings of the 23rd International Conference on Software Engineering (Toronto, Ont. May). IEEE Computer Society, Washington, D.C. 265--274.]]"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/288195.288321"},{"key":"e_1_2_1_21_1","first-page":"332","article-title":"A dynamic programming based pruning method for decision trees","volume":"13","author":"Li X.-B.","year":"2001","unstructured":"Li , X.-B. , Sweigart , J. , Teng , J. , Donohue , J. , and Thombs , L. 2001 . A dynamic programming based pruning method for decision trees . J. Comput. 13 , 4, 332 -- 344 .]] Li, X.-B., Sweigart, J., Teng, J., Donohue, J., and Thombs, L. 2001. A dynamic programming based pruning method for decision trees. J. Comput. 13, 4, 332--344.]]","journal-title":"J. Comput."},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the 18th International Conference on Automated Software Engineering (Montreal, Que., Oct.). IEEE Computer Society, Washington, D.C. 281--285","author":"Licata D. R.","unstructured":"Licata , D. R. , Harris , C. D. , and Krishnamurthi , S . 2003. The feature signatures of evolving programs . In Proceedings of the 18th International Conference on Automated Software Engineering (Montreal, Que., Oct.). IEEE Computer Society, Washington, D.C. 281--285 .]] Licata, D. R., Harris, C. D., and Krishnamurthi, S. 2003. The feature signatures of evolving programs. In Proceedings of the 18th International Conference on Automated Software Engineering (Montreal, Que., Oct.). IEEE Computer Society, Washington, D.C. 281--285.]]"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 23rd International Conference on Software Engineering","author":"Maletic J. I.","unstructured":"Maletic , J. I. and Marcus , A . 2001. Supporting program comprehension using semantic and structural information . In Proceedings of the 23rd International Conference on Software Engineering ( Toronto, Ont., May). IEEE Computer Society, Washington, D.C. 103--112.]] Maletic, J. I. and Marcus, A. 2001. Supporting program comprehension using semantic and structural information. In Proceedings of the 23rd International Conference on Software Engineering (Toronto, Ont., May). IEEE Computer Society, Washington, D.C. 103--112.]]"},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of the 25th International Conference on Software Engineering (Portland, Oreg., May). IEEE Computer Society, Washington, D.C. 125--135","author":"Marcus A.","unstructured":"Marcus , A. and Maletic , J. I . 2003. Recovering documentation-to-source-code traceability links using latent semantic indexing . In Proceedings of the 25th International Conference on Software Engineering (Portland, Oreg., May). IEEE Computer Society, Washington, D.C. 125--135 .]] Marcus, A. and Maletic, J. I. 2003. Recovering documentation-to-source-code traceability links using latent semantic indexing. In Proceedings of the 25th International Conference on Software Engineering (Portland, Oreg., May). IEEE Computer Society, Washington, D.C. 125--135.]]"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the 11th Working Conference on Reverse Engineering (Delft, Nov.). IEEE Computer Society, Washington, D.C. 214--223","author":"Marcus A.","unstructured":"Marcus , A. , Sergeyev , A. , Rajlich , V. , and Maletic , J. I . 2004. An information retrieval approach to concept location in source code . In Proceedings of the 11th Working Conference on Reverse Engineering (Delft, Nov.). IEEE Computer Society, Washington, D.C. 214--223 .]] Marcus, A., Sergeyev, A., Rajlich, V., and Maletic, J. I. 2004. An information retrieval approach to concept location in source code. In Proceedings of the 11th Working Conference on Reverse Engineering (Delft, Nov.). IEEE Computer Society, Washington, D.C. 214--223.]]"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the 10th Asia-Pacific Software Engineering Conference","author":"Qin T.","unstructured":"Qin , T. , Zhang , L. , Zhou , Z. , Hao , D. , and Sun , J . 2003. Discovering use cases from source code using the branch-reserving call graph . In Proceedings of the 10th Asia-Pacific Software Engineering Conference ( Chiang Mai, Thailand, Dec.). IEEE Computer Society, Washington, D.C. 60--67.]] Qin, T., Zhang, L., Zhou, Z., Hao, D., and Sun, J. 2003. Discovering use cases from source code using the branch-reserving call graph. In Proceedings of the 10th Asia-Pacific Software Engineering Conference (Chiang Mai, Thailand, Dec.). IEEE Computer Society, Washington, D.C. 60--67.]]"},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of the 10th International Workshop on Program Comprehension","author":"Rajlich V.","unstructured":"Rajlich , V. and Wilde , N . 2002. The role of concepts in program comprehension . In Proceedings of the 10th International Workshop on Program Comprehension ( Paris, June). IEEE Computer Society, Washington, D.C. 271--278.]] Rajlich, V. and Wilde, N. 2002. The role of concepts in program comprehension. In Proceedings of the 10th International Workshop on Program Comprehension (Paris, June). IEEE Computer Society, Washington, D.C. 271--278.]]"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/581339.581390"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/321439.321441"},{"key":"e_1_2_1_30_1","volume-title":"The SMART Retrieval System---Experiments in Automatic Document Processing","author":"Salton G.","unstructured":"Salton , G. 1971. The SMART Retrieval System---Experiments in Automatic Document Processing . Prentice Hall , Englewood Cliffs , N.J.]] Salton, G. 1971. The SMART Retrieval System---Experiments in Automatic Document Processing. Prentice Hall, Englewood Cliffs, N.J.]]"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the 8th Asia-Pacific Software Engineering Conference","author":"Shan J.","unstructured":"Shan , J. , Wang , J. , and Qi , Z . 2001. On path-wise automatic generation of test data for both white-box and black-box testing . In Proceedings of the 8th Asia-Pacific Software Engineering Conference ( Macau, China, Dec.). IEEE Computer Society, Washington, D.C. 237--240.]] Shan, J., Wang, J., and Qi, Z. 2001. On path-wise automatic generation of test data for both white-box and black-box testing. In Proceedings of the 8th Asia-Pacific Software Engineering Conference (Macau, China, Dec.). IEEE Computer Society, Washington, D.C. 237--240.]]"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/949305.949308"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.4360060104"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010248"},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the 8th International Conference on Software Maintenance (Orlando, Fla., Nov.). IEEE Computer Society, Washington, D.C. 200--205","author":"Wilde N.","unstructured":"Wilde , N. , Gomez , J. A. , Gust , T. , and Strasburg , D . 1992. Locating user functionality in old code . In Proceedings of the 8th International Conference on Software Maintenance (Orlando, Fla., Nov.). IEEE Computer Society, Washington, D.C. 200--205 .]] Wilde, N., Gomez, J. A., Gust, T., and Strasburg, D. 1992. Locating user functionality in old code. In Proceedings of the 8th International Conference on Software Maintenance (Orlando, Fla., Nov.). IEEE Computer Society, Washington, D.C. 200--205.]]"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.4360070105"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(02)00052-3"},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the 2nd Symposium on Application-Specific Systems and Software Engineering Technology (Richardson, Tex., Mar.). IEEE Computer Society, Washington, D.C. 194--203","author":"Wong W. E.","unstructured":"Wong , W. E. , Gokhale , S. S. , Horgan , J. R. , and Trivedi , K. S . 1999. Locating program features using execution slices . In Proceedings of the 2nd Symposium on Application-Specific Systems and Software Engineering Technology (Richardson, Tex., Mar.). IEEE Computer Society, Washington, D.C. 194--203 .]] Wong, W. E., Gokhale, S. S., Horgan, J. R., and Trivedi, K. S. 1999. Locating program features using execution slices. In Proceedings of the 2nd Symposium on Application-Specific Systems and Software Engineering Technology (Richardson, Tex., Mar.). IEEE Computer Society, Washington, D.C. 194--203.]]"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.7624"},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of the 10th Asia-Pacific Software Engineering Conference","author":"Zhao W.","unstructured":"Zhao , W. , Zhang , L. , Liu , Y. , Luo , J. , and Sun , J . 2003. Understanding how the requirements are implemented in source code . In Proceedings of the 10th Asia-Pacific Software Engineering Conference ( Chiang Mai, Thailand, Dec.). IEEE Computer Society, Washington, D.C. 68--77.]] Zhao, W., Zhang, L., Liu, Y., Luo, J., and Sun, J. 2003. Understanding how the requirements are implemented in source code. In Proceedings of the 10th Asia-Pacific Software Engineering Conference (Chiang Mai, Thailand, Dec.). IEEE Computer Society, Washington, D.C. 68--77.]]"},{"key":"e_1_2_1_41_1","volume-title":"Proceedings of the 26th International Conference on Software Engineering","author":"Zhao W.","unstructured":"Zhao , W. , Zhang , L. , Liu , Y. , Sun , J. , and Yang , F . 2004. SNIAFL: Towards a static noninteractive approach to feature location . In Proceedings of the 26th International Conference on Software Engineering ( Edinburgh, UK, May). IEEE Computer Society, Washington, D.C. 293--303.]] Zhao, W., Zhang, L., Liu, Y., Sun, J., and Yang, F. 2004. SNIAFL: Towards a static noninteractive approach to feature location. In Proceedings of the 26th International Conference on Software Engineering (Edinburgh, UK, May). IEEE Computer Society, Washington, D.C. 293--303.]]"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1131421.1131424","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T20:40:31Z","timestamp":1672260031000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1131421.1131424"}},"subtitle":["Towards a static noninteractive approach to feature location"],"short-title":[],"issued":{"date-parts":[[2006,4]]},"references-count":41,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2006,4]]}},"alternative-id":["10.1145\/1131421.1131424"],"URL":"https:\/\/doi.org\/10.1145\/1131421.1131424","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2006,4]]},"assertion":[{"value":"2006-04-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}