Applying Formal Software Engineering Methods to Improve Java-Based Web Application Quality

Authors

  • Lalith Sriram Datla Independent researcher, USA. Author
  • Rishi Krishna Thodupunuri Application Development Analyst at Accenture, India. Author

DOI:

https://doi.org/10.63282/3050-9262.IJAIDSML-V2I4P103

Keywords:

Formal Methods, Java Web Applications, Software Quality, Model Checking, Specification Languages, Web Engineering, Application Reliability, Code Verification, Software Testing, Formal Specification

Abstract

Quality Assurance for Java-based web applications is the main roadblock, as they are intricate, user requirements are continuously changing and also the web technologies are so dynamic. The adoption of conventional development and testing strategies provides an opportunity for bugs, performance problems, and security vulnerabilities to be ascertained. In order to improve the software reliability and correctness of the program, we propose using formal software engineering methods like formal specification, model checking, and mathematical verification, which are structured and strictly logical procedures. As part of the research, an investigation of the usability of the mentioned formal methods in a real case of the Java-based web application was carried out. The main parts of the system were modeled, and then the meeting conditions for the problem were evaluated through the verification process. In a case prepared specifically, it is shown, for example, that this form of specification is able to identify faults in the design quite early and tools like model checkers are able to directly test the logic of deformed aspects in practice that could remain hidden under normal testing. The investigation identifies that although the application of formal means is at first slightly laborious and entails costs, the benefits in the long run are numerous, for instance, higher programming efficiency, reduced rates of defects, and valid software structure. It is further revealed that adding formal methods into existing agile workflows is an approach that can be adopted without facing large challenges while instead producing valuable outcomes, especially in cases of business logic and user data, which are the most critical areas of the system. This method should be seen as an addition and not as an alternative to traditional methods, and it is a way of obtaining a kind of compound assurance

References

[1] Möller, Michael, et al. "Integrating a formal method into a software engineering process with UML and Java." Formal Aspects of Computing 20.2 (2008): 161-204.

[2] Bhargav, Abhay, and Balepur Venkatanna Kumar. Secure Java: for web application development. CRC Press, 2010.

[3] Shan, Tony C., and Winnie W. Hua. "Taxonomy of java web application frameworks." 2006 IEEE International Conference on e-Business Engineering (ICEBE'06). IEEE, 2006.

[4] Bruegge, Bernd, and Allen H. Dutoit. Object oriented software engineering: Using UML patterns and Java. Prentice Hall, 2010.

[5] Williams, Nicholas S. Professional Java for Web Applications. John Wiley & Sons, 2014.

[6] Yasodhara Varma Rangineeni, and Manivannan Kothandaraman. “Automating and Scaling ML Workflows for Large Scale Machine Learning Models”. JOURNAL OF RECENT TRENDS IN COMPUTER SCIENCE AND ENGINEERING ( JRTCSE), vol. 6, no. 1, May 2018, pp. 28-41

[7] Broemmer, Darren. J2EE best practices: Java design patterns, automation, and performance. Vol. 8. John Wiley & Sons, 2003.

[8] Anusha Atluri. “Extending Oracle HCM With APIs: The Developer’s Guide to Seamless Customization”. JOURNAL OF RECENT TRENDS IN COMPUTER SCIENCE AND ENGINEERING ( JRTCSE), vol. 8, no. 1, Feb. 2020, pp. 46–58

[9] White, Jules, Douglas C. Schmidt, and Aniruddha Gokhale. "Simplifying autonomic enterprise java bean applications via model-driven engineering and simulation." Software & Systems Modeling 7 (2008): 3-23.

[10] Kupunarapu, Sujith Kumar. "AI-Enabled Remote Monitoring and Telemedicine: Redefining Patient Engagement and Care Delivery." International Journal of Science And Engineering 2.4 (2016): 41-48.

[11] Tahvildari, Ladan, and Kostas Kontogiannis. "Improving design quality using meta‐pattern transformations: a metric‐based approach." Journal of Software Maintenance and Evolution: Research and Practice 16.4‐5 (2004): 331-361.

[12] Garneau, Tony, and Sylvain Delisle. "A new general, flexible and java-based software development tool for multiagent systems." Proceedings of the International Conference on Information Systems and Engineering (ISE 2003). 2003.

[13] Paidy, Pavan. “Zero Trust in Cloud Environments: Enforcing Identity and Access Control”. American Journal of Autonomous Systems and Robotics Engineering, vol. 1, Apr. 2021, pp. 474-97

[14] Tipson, Shaun Richard. An Empirical Study of Java-Based Web Application Architectures. Diss. Australian National University, 2001.

[15] Talakola, Swetha. “Challenges in Implementing Scan and Go Technology in Point of Sale (POS) Systems”. Essex Journal of AI Ethics and Responsible Innovation, vol. 1, Aug. 2021, pp. 266-87

[16] Anusha Atluri. “The Security Imperative: Safeguarding HR Data and Compliance in Oracle HCM”. JOURNAL OF RECENT TRENDS IN COMPUTER SCIENCE AND ENGINEERING ( JRTCSE), vol. 7, no. 1, May 2019, pp. 90–104

[17] Cai, Xia, Michael R. Lyu, and Kam-Fai Wong. "Component-based embedded software engineering: development framework, quality assurance and a generic assessment environment." International Journal of Software Engineering and Knowledge Engineering 12.02 (2002): 107-133.

[18] Sangeeta Anand, and Sumeet Sharma. “Automating ETL Pipelines for Real-Time Eligibility Verification in Health Insurance”. Essex Journal of AI Ethics and Responsible Innovation, vol. 1, Mar. 2021, pp. 129-50

[19] Sacha, Krzysztof, ed. Software engineering techniques: design for quality. Vol. 227. Springer Science & Business Media, 2006.

[20] Ali Asghar Mehdi Syed. “Impact of DevOps Automation on IT Infrastructure Management: Evaluating the Role of Ansible in Modern DevOps Pipelines”. JOURNAL OF RECENT TRENDS IN COMPUTER SCIENCE AND ENGINEERING ( JRTCSE), vol. 9, no. 1, May 2021, pp. 56–73

[21] Mkaouer, Mohamed Wiem, et al. "On the use of many quality attributes for software refactoring: a many-objective search-based software engineering approach." Empirical Software Engineering 21 (2016): 2503-2545.

[22] Veluru, Sai Prasad. “AI-Driven Data Pipelines: Automating ETL Workflows With Kubernetes”. American Journal of Autonomous Systems and Robotics Engineering, vol. 1, Jan. 2021, pp. 449-73

[23] Ouni, Ali, et al. "Multi-criteria code refactoring using search-based software engineering: An industrial case study." ACM Transactions on Software Engineering and Methodology (TOSEM) 25.3 (2016): 1-53.

[24] Zschaler, Steffen, Birgit Demuth, and Lothar Schmitz. "Salespoint: A Java framework for teaching object-oriented software development." Science of Computer Programming 79 (2014): 189-203.

Published

2021-12-30

Issue

Section

Articles

How to Cite

1.
Datla LS, Thodupunuri RK. Applying Formal Software Engineering Methods to Improve Java-Based Web Application Quality. IJAIDSML [Internet]. 2021 Dec. 30 [cited 2025 Oct. 29];2(4):18-26. Available from: https://ijaidsml.org/index.php/ijaidsml/article/view/154