Open Access   Article Go Back

Software Comprehension Using Open Source Tools: A Study

Jyoti Yadav1

Section:Survey Paper, Product Type: Journal Paper
Volume-7 , Issue-3 , Page no. 657-668, Mar-2019

CrossRef-DOI:   https://doi.org/10.26438/ijcse/v7i3.657668

Online published on Mar 31, 2019

Copyright © Jyoti Yadav . This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

View this paper at   Google Scholar | DPI Digital Library

How to Cite this Paper

  • IEEE Citation
  • MLA Citation
  • APA Citation
  • BibTex Citation
  • RIS Citation

IEEE Style Citation: Jyoti Yadav, “Software Comprehension Using Open Source Tools: A Study,” International Journal of Computer Sciences and Engineering, Vol.7, Issue.3, pp.657-668, 2019.

MLA Style Citation: Jyoti Yadav "Software Comprehension Using Open Source Tools: A Study." International Journal of Computer Sciences and Engineering 7.3 (2019): 657-668.

APA Style Citation: Jyoti Yadav, (2019). Software Comprehension Using Open Source Tools: A Study. International Journal of Computer Sciences and Engineering, 7(3), 657-668.

BibTex Style Citation:
@article{Yadav_2019,
author = {Jyoti Yadav},
title = {Software Comprehension Using Open Source Tools: A Study},
journal = {International Journal of Computer Sciences and Engineering},
issue_date = {3 2019},
volume = {7},
Issue = {3},
month = {3},
year = {2019},
issn = {2347-2693},
pages = {657-668},
url = {https://www.ijcseonline.org/full_paper_view.php?paper_id=3898},
doi = {https://doi.org/10.26438/ijcse/v7i3.657668}
publisher = {IJCSE, Indore, INDIA},
}

RIS Style Citation:
TY - JOUR
DO = {https://doi.org/10.26438/ijcse/v7i3.657668}
UR - https://www.ijcseonline.org/full_paper_view.php?paper_id=3898
TI - Software Comprehension Using Open Source Tools: A Study
T2 - International Journal of Computer Sciences and Engineering
AU - Jyoti Yadav
PY - 2019
DA - 2019/03/31
PB - IJCSE, Indore, INDIA
SP - 657-668
IS - 3
VL - 7
SN - 2347-2693
ER -

VIEWS PDF XML
330 257 downloads 116 downloads
  
  
           

Abstract

Software applications developed in recent times are written in lakhs of lines of code and have become increasingly complex in terms of structure, behaviour and functionality. At the same time, development life cycles of such applications reveal a tendency of becoming increasingly shorter, due to factors such as rapid evolution of supporting and enabling technologies. As a consequence, an increasing portion of software development cost shifts from the creation of new artefacts to the adaptation of existing ones. A key component of this activity is the understanding of the design, operation, and behaviour of existing artefacts of the code. For instance, in the software industry, it is estimated that maintenance costs exceed 80% of the total costs of a software product’s lifecycle, and software understanding accounts for as much as half of these maintenance costs. Software Comprehension is a key subtask of software maintenance and evolution phase, which is driven by the need to change software. This paper will help in enhancing the ability of the developers to read and comprehend large pieces of software in an organized manner, even in the absence of adequate documentation by using existing open source tools. It highlights the program elements, components, its analytical solutions for understanding, comprehensions and extension.

Key-Words / Index Term

beautifiers, profilers, slicers, top-down, version control systems

References

[1] G. M. Weinberg, Editor, “The Psychology of Computer Programming”, vol. 932633420, 1971. New York: Van Nostrand Reinhold.
[2] M. A. Storey, “Theories, Tools and Research Methods in Program Comprehension: Past, Present and Future”, Software Quality Journal, vol.14 (3), pp. 187-208, 2006.
[3] T. J. Biggerstaff, B. G. Mitbander, and D. E. Webster,”Program Understanding and the Concept Assignment Problem”, Communications of the ACM, vol. 37(5), pp. 72-82, 1994.
[4] R. P. Gabriel, Editor, “Patterns of Software”, vol. 62, 1996, Newyork, Oxford University Press.
[5] S. Rugaber, “Program Comprehension for Reverse Engineering”, In AAAI Workshop on AI and Automated Program Understanding, San Jose, California, pp. 106-110, 1992.
[6] D. L. Parnas, “On the Criteria to be used in Decomposing Systems into Modules”, Coomunications of the ACM, vol. 15(12), pp. 1053-1058, 1972.
[7] V. Rajlich and N. Wilde, “The Role of Concepts in Program Comprehension”, In Program Comprehension, Proceedings, 10th International Workshop on IEEE, pp. 271-278, 2002.
[8] J. Siegmund, C. Kastner, S. Apel, A. Brechmann and G. Saake,” Experience from Measuring Program Comprehension-Toward a General Framework, 2013.
[9] B. Di Martino, C. W. Kebler, “Two Program Comprehension Tools for Automatic Parallelization,” IEEE Concurrency, vol. 8(1), pp. 37-47, 2000.
[10] X. Xia, L. Bao, D. Lo, Z. Xing, A. E. Hassan ans S. Li,” Measuring Program Comprehension: A Large-Scale Field Study with Professionals”, IEEE Transactions on Software Engineering, 2017.
[11] R. Schauer and R. K. Keller, “ Integrative Levels of Program Comprehension”, In Reverse Engineering, WCRE`08, 15th Working Conference on IEEE, pp. 145-154, 2008.
[12] N. Saroni, S. A. Aljunid, S. M. Shuhidan, and A. Shargabi, “An Empirical Study on Program Comprehension Task Classification of Novices”, In e-Learning, e-Management and e-Services (IC3e), 2015 IEEE Conference on IEEE, pp. 15-20, 2015.
[13] R. Wettel and M. Lanza, “Program Comprehension through Software Habitability”, in Program Comprehension, ICPC`07,15th IEEE International Conference on IEEE, pp. 231-240, 2007.
[14] N. Sasirekha, a. E. Robert and D. M. Hemlata, “Program Slicing Techniques and its Applications”, arXiv preprint arXiv: pp. 1108-1352, 2011.
[15] N. Carvalho, C. da Silva Sousa, J. S. Pinto and A. Tomb, “Formal Verification of kLIBC with the WP Frama-C Plug-in”, in NASA Formal Methods, pp. 343-358, 2014.
[16] M. A. Storey, K. Wong and H. A. Muller,” How do Program Understanding Tools Affect How Programmers Understand Programs?.”, In Reverse Engineering, Proceedings of the 4th Working Conference on IEEE, pp. 12-21, 1997.
[17] Y. Liu, X. Sun, X. Liu and Y. Li, ”Supporting Program Comprehension with Program Summarization”, In Computer and Information Science (ICIS), IEEE/ACIS 13th International Conference on IEEE, pp. 363-368, 2014.
[18] A. Von Mayrhauser and A. M. Vans, “Program Comprehension During Software Maintenance and Evolution,” Computer, vol. 28(8), pp. 44-55, 1995.
[19] B. Cornelissen, A. Zaidman, A. Van Deursen, L. Moonen and R. Koschke, “ Systematic Survey of Program Comprehension through Dynamic Analysis,” IEEE Transactions on Software Engineering, vol. 35(5), pp. 684-702, 2009.
[20] E. Soloway, K. Ehrlich, “Empirical Studies of Programming Knowledge,”IEEE Transactions on Software Engineering, vol. 5, pp. 595-609, 1984.
[21] F. Détienne,”Expert Programming Knowledge: A Schema-Based Approach”, Psychology of Programming, pp. 205-222, 1990.