Locating Core Modules through the Association between Software Source Structure and Execution
Source abstract
Abstract
To improve software quality, the source code that composes software has to be improved, and improving the important code that largely affects the software quality should be a cost-effective method. Static analysis defines important codes as those that occupy important positions in the source network, while dynamic analysis defines important codes as those with high execution frequency. However, neither method analyzes the association between network structure and execution frequency, and both have their disadvantages. Thus, this study analyzed the association between source network structure and execution frequency to solve their disadvantages. The source function of Notepad++ was analyzed, and the function ranking was derived using the association between network structure and execution frequency. For verification, the Spearman correlation between the newly derived function ranking and the function ranking of the network and execution frequency obtained with the conventional method was measured. By measuring the Spearman correlation, the newly derived function ranking had strong correlations with execution frequency and included the network structure’s characteristics. Moreover, similar to the Pareto principle, the analysis showed that 20% of Notepad++’s functions could be categorized as important functions, largely affecting the software’s quality.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software Engineering Research · Software Reliability and Analysis Research · Software System Performance and Reliability
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Graduate School of Public Policy and Information Technology, Seoul National University of Science and Technology, Gongneung-ro 232, Nowon-gu, Seoul 01811, Korea
Department of Industrial Engineering, Seoul National University of Science and Technology, Gongneung-ro 232, Nowon-gu, Seoul 01811, Korea
References (46)
Show source-provided references
1. Schulmeyer, G.G., and McManus, J.I. (1992). Handbook of Software Quality Assurance, Van Nostrand Reinhold Co.
2. Rahman, M. (2007). Application of Social Networking Algorithms in Program Analysis: Understanding Execution Frequencies. [Master’s Thesis, Colorado State University Libraries]. Available online: http://hdl.handle.net/10217/46906.
3. Rubin, J., and Chechik, M.A. (2013). Survey of feature location techniques. Domain Engineering, Springer.10.1007/978-3-642-36654-3_2 ↗
4. Koschke, R., and Quante, J. (2005, January 7–11). On dynamic feature location. Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering.10.1145/1101908.1101923 ↗
5. Chen, K., and Rajlich, V. (2000, January 10–11). Case study of feature location using dependence graph. Proceedings of the IWPC 2000, 8th International Workshop on Program Comprehension, Limerick, Ireland.
6. Robillard, M.P. (2005, January 5–9). Automatic generation of suggestions for program investigation. Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Lisbon, Portugal.10.1145/1081706.1081711 ↗
7. Saul, Z.M., Filkov, V., Devanbu, P., and Bird, C. (2007, January 3–7). Recommending random walks. Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, Dubrovnik, Croatia.10.1145/1287624.1287629 ↗
8. Software reconnaissance: Mapping program features to code10.1002/smr.4360070105 ↗
9. Wilde, N., and Casey, C. (1996, January 10–11). Early field experience with the software reconnaissance technique for program comprehension. Proceedings of the WCRE’96: 4th Working Conference on Reverse Engineering, Monterey, CA, USA.10.1109/ICSM.1996.565034 ↗
10. Stevenson, S. (2013). Investigating software reconnaissance as a technique to support feature location and program analysis tasks using sequence diagrams. [Master’s Thesis, Department of Computer Science, University of Victoria]. Available online: http://hdl.handle.net/1828/5112.
11. Wong, W.E., Gokhale, S.S., Horgan, J.R., and Trivedi, K.S. (1999, January 24–27). Locating program features using execution slices. Proceedings of the 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology, Richardson, TX, USA.
12. Locating features in source code10.1109/TSE.2003.1183929 ↗
13. Feature identification: An epidemiological metaphor10.1109/TSE.2006.88 ↗
14. Revelle, M., and Poshyvanyk, D. (2009, January 17–19). An exploratory study on assessing feature location techniques. Proceedings of the 2009 IEEE 17th International Conference on Program Comprehension, Vancouver, BC, Canada.10.1109/ICPC.2009.5090045 ↗
15. Liu, D., Marcus, A., Poshyvanyk, D., and Rajlich, V. (2007, January 5–9). Feature location via information retrieval based filtering of a single scenario execution trace. Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering, Atlanta, GA, USA.10.1145/1321631.1321667 ↗
16. Poshyvanyk, D., and Marcus, A. (2007, January 9). Combining formal concept analysis with information retrieval for concept location in source code. Proceedings of the 15th IEEE International Conference on Program Comprehension (ICPC’07), Banff, AB, Canada.10.1109/ICPC.2007.13 ↗
17. Ganter, B., and Wille, R. (2012). Formal Concept Analysis: Mathematical Foundations, Springer Science & Business Media.
18. Hill, E., Pollock, L., and Vijay-Shanker, K. (2007, January 4–9). Exploring the neighborhood with Dora to expedite software maintenance. Proceedings of the twenty-second IEEE/ACM International Conference on Automated Software Engineering, Atlanta, GA, USA.10.1145/1321631.1321637 ↗
19. 2006. SNIAFL: Towards a static noninteractive approach to feature location10.1145/1131421.1131424 ↗
20. Borgatti, S.P., Everett, M.G., and Johnson, J.C. (2018). Analyzing Social Networks, Sage.
21. Kim, Y., and Kim, Y. (2019). Social Network Analysis, PAKYOUNGSA. [4th ed.]. Available online: http://www.riss.kr/link?id=M15388176.
22. Nagappan, N., and Ball, T. (2007, January 20–21). Using software dependencies and churn metrics to predict field failures: An empirical case study. Proceedings of the First International Symposium on Empirical Software Engineering and Measurement, Madrid, Spain.10.1109/ESEM.2007.13 ↗
23. Zimmerman, T., and Nagappan, N. (2008, January 10–18). Predicting defects using network analysis on dependency graphs. Proceedings of the 30th International Conference on Software Engineering, Leipzig, Germany.10.1145/1368088.1368161 ↗
24. Li, F., and Yi, T. (2018, January 19–20). Apply PageRank algorithm to measuring relationship’s complexity. Proceedings of the 2008 IEEE Workshop Pacific-Asia Workshop on Computational Intelligence and Application, PACIIA, Wuhan, China.10.1109/PACIIA.2008.309 ↗
25. Kafle, S. (2015). Prioritization of component-to-component links for testing in component based systems. [Ph.D. Dissertation, George Washington University]. Available online: https://search.proquest.com/openview/44e0a634a287ca84b958f17a03d738df/1?pq-origsite=gscholar&cbl=18750&diss=y.
26. Hu, W. (2013). Using citation influence and social network analysis to predict software defects. [Master’s Thesis, Department of Computing Science, University of Alberta].10.1109/MSR.2013.6624058 ↗
27. Nguyen, T.H., Adams, B., and Hassan, A.E. (2010, January 12–18). Studying the impact of dependency network measures on software quality. Proceedings of the 2010 IEEE International Conference on Software Maintenance, Timioara, Romania.10.1109/ICSM.2010.5609560 ↗
28. Using software dependency to bug prediction
29. Priority analysis for software functions using social network analysis and DEA (Data Envelopment Analysis)
30. Renieres, M., and Reiss, S.P. (2003, January 6–10). Fault localization with nearest neighbor queries. Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE), Montreal, QC, Canada.
31. Harrold, M.J., Rothermel, G., Wu, R., and Yi, L. (1998, January 26). An empirical investigation of program spectra. Proceedings of the 1998 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, Montreal, QC, Canada.10.1145/277631.277647 ↗
32. Measuring the efficiency of decision-making units10.1016/0377-2217(78)90138-8 ↗
33. Some models for estimating technical and scale inefficiencies in data envelopment analysis10.1287/mnsc.30.9.1078 ↗
34. A study on an evaluation method for LCD TV products using axiomatic design based hybrid AHP/DEA model10.7737/KMSR.2012.29.1.033 ↗
35. Seo, K.-S., and Ahn, H.-M. (2016, January 20–22). Urban railway train operation efficiency studies using DEA. Proceedings of the Autumn Conference & Annual Meeting of The Korean Society for Railway, Available online: http://www.riss.kr/link?id=A102260697.
36. Design of advanced HITS algorithm by suitability for importance-evaluation of web-documents
37. (2021, January 20). CodeCover—An Open-source Glass-box Testing Tool. 2011. CodeCover. Available online: http://www.codecover.org.
38. Gprof: A call graph execution profiler10.1145/872726.806987 ↗
39. A survey and analysis of the first 40 years of scholarly literature in DEA: 1978–201610.1016/j.seps.2017.01.008 ↗
40. Efficiency analysis of ERP projects—Software quality perspective10.1016/j.ijproman.2014.10.011 ↗
41. Paschalidou, G., Stiakakis, E., and Chatzigeorgiou, A. (2013, January 19–21). An application of data envelopment analysis to software quality assessment. Proceedings of the 6th Balkan Conference in Informatics, Thessaloniki, Greece.10.1145/2490257.2490264 ↗
42. Classifier evaluation for software defect prediction10.24846/v21i2y201201 ↗
43. Evaluating the performance of open source software projects using data envelopment analysis10.1108/09685220810920530 ↗
44. Zhang, S., Wang, Y., Tong, J., Zhou, J., and Ruan, L. (2006). Evaluation of project quality: A DEA-based approach. Software Process Workshop, Springer.10.1007/11754305_10 ↗
45. Cao, Q. (2004, January 6–8). Assessing productivity of UML-based systems analysis and design: A DEA approach. Proceedings of the Americas Conference on Information Systems, New York, NY, USA.
46. DEA evaluation of a Y2K software retrofit program10.1109/TEM.2004.830843 ↗