Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3123779.3123792acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecbsConference Proceedingsconference-collections
research-article

Employing issues and commits for in-code sentence based use case identification and remodularization

Published: 31 August 2017 Publication History

Abstract

Use case driven modularization improves code comprehension and maintenance and provides another view on software alongside object-oriented modularization. However, approaches enabling use case driven modularization require to modularize code manually. In this paper, we propose an approach to employing issues and commits for in-code sentence based use case identification and remodularization. The approach aims at providing use case based perspective on the existing code. The sentences of use case steps are compared to sentences of issue descriptions, while the sentences generated from the source code of issue commits are compared to sentences generated from the corresponding methods in source code in order to quantify the similarity between use case steps and methods in source code using different similarity calculation algorithms. The resulting level of similarity is used to remodularize source code according to use cases. We conducted a study on the OpenCart open source e-shop employing 16 use cases. The approach achieved the recall of 3.37% and precision of 75%. The success of the approach strongly depends on issues and commits assigned to them. The results would be better especially for the code that natively employs use case driven modularization.

References

[1]
S. Bird. NLTK: The natural language toolkit. In Proceedings of COLING/ACL on Interactive Presentation Sessions, COLING-ACL '06, Sydney, Australia, 2006.
[2]
M. Blšták and V. Rozinajová. Automatic question generation based on analysis of sentence structure. In Proceedings of 19th International Conference on Text, Speech, and Dialogue, TSD 2016, Brno, Czech Republic, 2016. Springer.
[3]
M. Bystrický and V. Vranić. Literal inter-language use case driven modularization. In MODULARITY Companion 2016, Companion Proceedings of 15th International Conference on Modularity, Modularity 2016, Málaga, Spain, 2016. ACM.
[4]
M. Bystrický and V. Vranić. Preserving use case flows in source code: Approach, context, and challenges. Computer Science and Information Systems Journal (ComSIS), 14(2):423--445, 2017.
[5]
M. Bystrický and V. Vranić. Use case driven modularization as a basis for test driven modularization. In Proceedings of 6th Workshop on Advances in Programming Languages (WAPL'17), Prague, Czech Republic, 2017. IEEE.
[6]
A. Cockburn. Writing Effective Use Cases. Addison-Wesley, 2001.
[7]
F. d'Amorim and P. Borba. Modularity analysis of use case implementations. Journal of Systems and Software, 85(4):1012--1027, 2012.
[8]
T. Dasgupta, M. Grechanik, E. Moritz, B. Dit, and D. Poshyvanyk. Enhancing software traceability by automatically expanding corpora with relevant documentation. In Proceedings of 2013 IEEE International Conference on Software Maintenance, ICSM 2013, Eindhoven, Netherlands, 2013. IEEE.
[9]
I. Jacobson and P.-W. Ng. Aspect-Oriented Software Development with Use Cases. Addison-Wesley, 2004.
[10]
Y. Li, D. McLean, Z. A. Bandar, J. D. O'Shea, and K. Crockett. Sentence similarity based on semantic nets and corpus statistics. IEEE Transactions on Knowledge and Data Engineering, 18(8):1138--1150, 2006.
[11]
H. Liu and H. Lieberman. Metafor: Visualizing stories as code. In Proceedings of 10th International Conference on Intelligent User Interfaces, IUI '05, San Diego, California, USA, 2005. ACM.
[12]
G. A. D. Lucca, A. R. Fasolino, and U. de Carlini. Recovering use case models from object-oriented code: A thread-based approach. In Proceedings of 7th Working Conference on Reverse Engineering, WCRE 2000. IEEE, 2000.
[13]
A. Mahmoud, N. Niu, and S. Xu. A semantic relatedness approach for traceability link recovery. In Proceedings of 2012 20th IEEE International Conference on Program Comprehension, ICPC 2012, Passau, Germany, 2012. IEEE.
[14]
A. Marcus and J. I. Maletic. Recovering documentation-to-source-code traceability links using latent semantic indexing. In Proceedings of 25th International Conference on Software Engineering, ICSE 2003, Portland, Oregon, USA, 2003. ACM.
[15]
P. W. McBurney and C. McMillan. Automatic source code summarization of context for java methods. IEEE Transactions on Software Engineering, 42(2):103--119, 2016.
[16]
G. A. Miller. WordNet: A lexical database for english. Communications of the ACM, 38(11):39--41, 1995.
[17]
A. Olszak and B. N. Jørgensen. Remodularizing java programs for comprehension of features. In Proceedings of 1st International Workshop on Feature-Oriented Software Development, FOSD '09, Denver, Colorado, USA, 2009. ACM.
[18]
I. Omoronyia, G. Sindre, M. Roper, J. Ferguson, and M. Wood. Use case to source code traceability: The developer navigation view point. In Proceedings of 2009 17th IEEE International Requirements Engineering Conference, RE 2009, Atlanta, Georgia, USA, 2009. IEEE.
[19]
T. Qin, L. Zhang, Z. Zhou, D. Hao, and J. Sun. Discovering use cases from source code using the branch-reserving call graph. In Proceedings of 10th Asia-Pacific Software Engineering Conference, APSEC 2003, Chiang Mai, 2003. IEEE CS.
[20]
M. M. Rahman and C. K. Roy. An insight into the pull requests of github. In Proceedings of 11th Working Conference on Mining Software Repositories, MSR 2014, Hyderabad, India, 2014. ACM.
[21]
T. Reenskaug and J. O. Coplien. The DCI architecture: A new vision of object-oriented programming. Artima Developer, 2009. http://www.artima.com/articles/dci_vision.html.
[22]
V. Rus, M. Lintean, R. Banjade, N. Niraula, and D. Stefanescu. SEMILAR: The semantic similarity toolkit. In Proceedings of 51st Annual Meeting of the Association for Computational Linguistics: System Demonstrations, ACL 2013, Sofia, Bulgaria, 2013.
[23]
S. M. Saad and S. S. Kamarudin. Comparative analysis of similarity measures for sentence level semantic measurement of text. In 2013 IEEE International Conference on Control System, Computing and Engineering, ICCSCE 2013. IEEE, 2013.
[24]
S. M. Saad and S. S. Kamarudin. Comparative analysis of similarity measures for sentence level semantic measurement of text. In Proceedings of 2013 IEEE International Conference on Control System, Computing and Engineering, ICCSCE 2013. IEEE, 2013.
[25]
D. Zahoranský and I. Polášek. Text search of surnames in some slavic and other morphologically rich languages using rule based phonetic algorithms. IEEE/ACM Transactions on Audio, Speech and Language Processing, 23(3):553--563, 2015.
[26]
L. Zhang, T. Qin, Z. Zhou, D. Hao, and J. Sun. Identifying use cases in source code. Journal of Systems and Software, 79(11):1588 -- 1598, 2006.
[27]
Y. Zhang, R. Witte, J. Rilling, and V. Haarslev. Ontological approach for the semantic recovery of traceability links between software artefacts. IET Software, 2(3):185--203, 2008.
[28]
J. Zhou, Y. Lu, and K. Lundqvist. A context-based information retrieval technique for recovering use-case-to-source-code trace links in embedded software systems. In Proceedings of 2013 39th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2013, 2013.
[29]
M. Zilberstein and E. Yahav. Leveraging a corpus of natural language descriptions for program similarity. In Proceedings of 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2016, Amsterdam, Netherlands, 2016. ACM.
[30]
M. Śmiałek, W. Nowakowski, N. Jarzębowski, and A. Ambroziewicz. From use cases and their relationships to code. In Proceedings of 2012 2nd IEEE International Workshop on Model-Driven Requirements Engineering, MoDRE 2012, Santander, Spain, 2012. IEEE.

Cited By

View all
  • (2024)Multi-type requirements traceability prediction by code data augmentation and fine-tuning MS-CodeBERTComputer Standards & Interfaces10.1016/j.csi.2024.10385090(103850)Online publication date: Aug-2024
  • (2023)Applications of natural language processing in software traceability: A systematic mapping studyJournal of Systems and Software10.1016/j.jss.2023.111616198(111616)Online publication date: Apr-2023
  • (2023)Use Case Driven Educational Content EngineeringLearning in the Age of Digital and Green Transition10.1007/978-3-031-26190-9_14(139-150)Online publication date: 23-Feb-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
ECBS '17: Proceedings of the Fifth European Conference on the Engineering of Computer-Based Systems
August 2017
177 pages
ISBN:9781450348430
DOI:10.1145/3123779
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 August 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. DCI
  2. aspect-oriented programming
  3. information retrieval
  4. intent
  5. modularization
  6. natural language processing
  7. remodularization
  8. text similarity
  9. traceability links
  10. use case

Qualifiers

  • Research-article

Conference

ECBS '17

Acceptance Rates

Overall Acceptance Rate 25 of 49 submissions, 51%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)2
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Multi-type requirements traceability prediction by code data augmentation and fine-tuning MS-CodeBERTComputer Standards & Interfaces10.1016/j.csi.2024.10385090(103850)Online publication date: Aug-2024
  • (2023)Applications of natural language processing in software traceability: A systematic mapping studyJournal of Systems and Software10.1016/j.jss.2023.111616198(111616)Online publication date: Apr-2023
  • (2023)Use Case Driven Educational Content EngineeringLearning in the Age of Digital and Green Transition10.1007/978-3-031-26190-9_14(139-150)Online publication date: 23-Feb-2023
  • (2022)Constraining peripheral perception in instant messaging during software development by continuous work context extractionUniversal Access in the Information Society10.1007/s10209-021-00862-822:2(511-524)Online publication date: 17-Jan-2022

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media