Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Simplifying the Structural Complexity of Software Systems

Published: 01 September 2019 Publication History

Abstract

Simplification of execution traces is peculiarly important in the case of software comprehension. The objective is to make execution traces in ways that are more tractable and less difficult. However, the simplification process is a difficult task, particularly, in object-oriented contexts. Due to coupling, execution traces of object-oriented systems involve the Spaghetti Architectures phenomenon, which is a very complicated structure of dependencies. Therefore, the simplification process needs a well-established approach to be helpful for software comprehension. Otherwise, the simplified execution traces will be informative as their structures will involve several gaps that lead to a misunderstanding process. This research uses decoupling to guide the simplification of object-oriented execution traces. Specifically, decoupling truthfully can decrease the complexity of execution traces without eliminating the trace components and making numerous gaps in the trace structure. Then, decoupling can solve the problem of the Spaghetti Architectures phenomenon. A controlled experiment was conducted to empirically validate the usefulness and effectivity of the suggested work. There was a significant statistical added value demonstrated in the time required and the accurate solutions of the tasks being solved. More precisely, 25% less time required with a 62% more correct solutions were achieved solving the experiment’s comprehension tasks.

References

[1]
1. Sommerville, I. Software Engineering. 10th Ed. New York, Pearson Education, 2015.
[2]
2. Bourque, P., R. Fairley. Guide to the Software Engineering Body of Knowledge. IEEE Computer Society, SWEBOK Version 3.0, 2014.
[3]
3. Storey, A. Tools and Research Methods in Program Comprehension: Past, Present and Future. – Software Quality Journal, Vol. 24, 2016, No 1, pp. 187-208.
[4]
4. Hamou-Lhadj, A., T. Lethbridge. Understanding the Complexity Embedded in Large Routine Call Traces with a Focus on Program Comprehension Tasks. – IET Software, Vol. 11, 2017, No 2, pp. 161-177.
[5]
5. Hassine, J., A. Hamou-Lhadj, L. Alawneh. A Framework for the Recovery and Visualization of System Availability Scenarios from Execution Traces. – Information and Software Technology, Vol. 96, 2018, No 1, pp. 78-93.
[6]
6. Abu Al-Ese, H., A. Ghani, R. Mahmod, M. Saman. Java-Based Static Analyzer for Object-Oriented Software Metrics. – In: Proc. of Information Technology Colloquim 99 (INTEC’99), UPM Malaysia,1999.
[7]
7. Al-Rousan, T., H. Al Ese. Impact of Cloud Computing on Educational Institutions: A Case Study. – Recent Patents on Computer Science, Vol. 8, 2015, No 2, pp. 106-111.
[8]
8. Cornelissen, B., A. Zaidman, A. Deursen. A Controlled Experiment for Program Comprehension through Trace Visualization. – Transactions on Software Engineering (TSE), Vol. 42, 2016, No 3, pp. 201-216.
[9]
9. IEEE 610.12-90. ANSI/IEEE Standard 610.12-1990. IEEE Standard for Glossary of Software Engineering, IEEE.1990.
[10]
10. Fregnan, E., T. Baumb, F. Palomba, A. Bacchelli. A Survey on Software Coupling Relations and Tools. – Information and Software Technology, Vol. 107, 2018, No 1, pp. 159-178.
[11]
11. Abdurazik, A. Coupling-Based Analysis of Object-Oriented Software. PhD Thesis, George Mason University, 2015.
[12]
12. Stevens, W., G. Meyers, L. Constantine. Structured Design. – IBM Systems Journal, Vol. 53, 2016, No 2, pp. 115-139.
[13]
13. Arenas, M. Database Theory Column Report on PODS. – ACM SIGACT News, Vol. 49, 2018, No 4, pp. 55-57.
[14]
14. Al-Rousan, T., H. Abualese. A New Technique for Utility-Class Detection in Object-Oriented Software. – Tem Journal – Technology, Education, Management, Informatics, Vol. 49, 2019, No 4, pp. 157-169.
[15]
15. Abualese, H., P. Sumari, T. Al-Rousan, M. Al-Mousa. Utility Classes Detection Metrics for Execution Trace Analysis. – In: Proc. of 8th International Conference on Information Technology (ICIT’17), IEEE, Amman, Jordan, 2017, pp. 147-159.
[16]
16. Pirzadeh, H., L. Alawneh, A. Hamou-Lhadj. Quality of the Source Code for Design and Architecture Recovery Techniques: Utilities are the Problem. – In: Proc. of 12th International Conference on Quality Software, IEEE, NY, USA, 2016.
[17]
17. Rohatgi, A., A. Hamou-Lhadj, J. Rilling. Approach for Solving the Feature Location Problem by Measuring the Component Modification Impact. – IET Software, Vol. 10, 2016, No 2, pp. 111-119.
[18]
18. Lee, B., K. Resnick, M. Bond, K. McKinley. Correcting the Dynamic Call Graph Using Control-Flow Constraints. Compiler Construction. – In: Lecture Notes in Computer Science, Vol. 4420, 2015, pp. 80-95.
[19]
19. Hamou-Lhadj, A., T. Lethbridge. An Efficient Algorithm for Detecting Patterns in Traces of Procedure Calls. – In: Proc. of 1st ICSE international Workshop on Dynamic Analysis, TX, USA, 2013, pp. 33-39.
[20]
20. Kali, P., A. Srinivasan, S. Bishnoi. Oracle International Corp. Pattern Matching across Multiple Input Data Streams. U.S. Patent 9,934,279, Accessed on 4 May 2018.
[21]
21. Pirzadeh, H. Trace Abstraction Framework and Techniques. Ph. D Thesis, Concordia University, Montreal, Quebec, Canada, 2016.
[22]
22. Patel, C., A. Hamou-Lhadj, J. Rilling. Software Clustering Using Dynamic Analysis and Static Dependencies. – In: Proc. of 13th European Conference on Software Maintenance and Reengineering (CSMR’09), Architecture-Centric Maintenance of Large-Scale Software Systems, 2017.
[23]
23. Delias, P., M. Doumpos, E. Grigoroudis., N. Matsatsinis. A Non-Compensatory Approach for Trace Clustering. – International Transactions in Operational Research, Vol. 26, 2019, No 5, pp. 1828-1846.
[24]
24. Abualese, H., P. Sumari, T. Al-Rousan, M. Al-Mousa. A Trace Simplification Framework. – In: Proc. of 8th International Conference on Information Technology (ICIT’17), IEEE, Amman, Jordan, 2017, pp. 63-72.
[25]
25. Basili, V. Software Modeling and Measurement: The Goal/Question/Metric Paradigm. University of Maryland, Technical Report, UMIACS-TR-92-96, 2011.
[26]
26. Penta, M., R. Stirewalt, E. Kraemer. Designing Your Next Empirical Study on Program Comprehension. – In: Proc. of 15th IEEE international Conference Program Comprehension, Japan, 2015, pp. 281-285.
[27]
27. Pacione, M., M. Roper, M. Wood. A Novel Software Visualisation Model to Support Software Comprehension. – In: Proc. of 11th Working Conference on Reverse Engineering (WCRE’11), IEEE, CS Press, USA, 2016, pp. 70-79.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Cybernetics and Information Technologies
Cybernetics and Information Technologies  Volume 19, Issue 3
Sep 2019
165 pages
ISSN:1314-4081
EISSN:1314-4081
Issue’s Table of Contents
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License.

Publisher

Walter de Gruyter GmbH

Berlin, Germany

Publication History

Published: 01 September 2019

Author Tags

  1. Decoupling
  2. execution trace analysis
  3. object-oriented
  4. software comprehension
  5. software maintenance

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media