International Journal of Innovative Research in Computer Science and Technology (IJIRCST)
ISSN (Online): 2347-5552, Volume-13, Issue-1, January 2025
https://doi.org/10.55524/ijircst.2025.13.1.1
Article ID IRP-1576, Pages 1-11
http://www.ijircst.org
Innovative Research Publication 1
Development of an AI-Driven Model for Advancing Software
Engineering Practices
Aylin Güzel
1
, and Ahmet Egesoy
2
1
Research Scholar, Department of Computer Engineering, Ege University, Izmir, Turkiye
2
Assistant Professor, Department of Computer Engineering, Ege University, Izmir, Turkiye
Correspondence should be addressed to Ahmet Egesoy;
Received 11 November 2024; Revised 26 November 2024; Accepted 11 December 2024
Copyright © 2024 Made Ahmet Egesoy et al. 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.
ABSTRACT- This work introduces the Fuzzy
Specification Tree Model (FST), a general-purpose
framework designed to enhance AI-assisted software
engineering. The paper begins by examining the intricate
interplay between software engineering and artificial
intelligence (AI), emphasizing how AI technologies are
reshaping software development methodologies. Building
on a foundation of requirements-driven approaches, the
study presents a novel adaptation of classical feature
modelling to create a versatile, fuzzy logic-based
requirements specification model. This model not only
facilitates the definition of functionalities for partially
completed software but also supports formal methods for
project management, version control, and reuse. By
employing separate Fuzzy Specification Trees for
requirements and the current state of a project, developers
gain a dynamic perspective on project completeness and can
leverage AI assistance to prioritize tasks, ensuring efficient
progression toward project completion with minimal effort.
KEYWORDS- AI, Software Engineering, Requirements
Management, Fuzzy Logic.
I. INTRODUCTION
As software systems grow increasingly complex, traditional
methodologies encounter significant limitations in terms of
scalability and adaptability. The term "software crisis" is
commonly used as an umbrella phrase to describe the
persistent and ill-structured challenges associated with
software development processes. This crisis is often
characterized by the ongoing difficulty in meeting the ever-
growing demands for software. Addressing these demands
is the overarching goal of software engineering.
Artificial intelligence (AI) and formal methods are
revolutionizing software engineering by addressing many of
the challenges posed by the software crisis. AI techniques,
such as machine learning and natural language processing,
enable smarter automation of tasks like requirements
analysis, code generation, testing, and debugging, reducing
human error and increasing efficiency. Meanwhile, formal
methods bring mathematical rigor to software development,
allowing for precise specification, verification, and
validation of software systems. Together, these approaches
enhance the scalability and reliability of software
engineering processes, enabling the creation of more
complex and adaptive systems while maintaining high
levels of quality.
The Feature-Oriented Domain Analysis (FODA) method
was created by Dr. Kyo C. Kang and his colleagues at the
Software Engineering Institute (SEI) of Carnegie Mellon
University in 1990. They documented their work in the
report titled "Feature-Oriented Domain Analysis (FODA)
Feasibility Study”, [1] which introduced a systematic
approach to domain analysis by identifying common and
variable features within a software domain. It is our view
that a feature-driven point of view fostered by the use of AI
can provide a solution for the problems of software
engineering.
Our proposal employs a fuzzy version of the FODA tree
that is more in line with project management challenges.
The remainder of this paper is organized as follows: Section
II provides an overview of the role of AI in software
engineering. Section III discusses the advantages of a
requirements-based approach. Section IV presents the
proposed model which is an innovative diagram type (and
data structure) called Fuzzy Specification Tree Model.
Finally, Section V concludes the paper.
II. AI IN SOFTWARE ENGINEERING
Artificial intelligence (AI) is a branch of computer science
focused on creating intelligent systems capable of acting
and communicating in ways that resemble human behavior.
AI enables computer systems to explore and perform tasks
in domains traditionally driven by human labor. These
systems operate with high accuracy, reduce operational
costs, and enhance production processes, making them
more efficient and manageable. Consequently, it is expected
that AI technologies will bring comparable advancements
and efficiencies to the field of software engineering.
Determining what qualifies as intelligence is inherently
challenging, particularly in a domain already regarded as
ill-structured, even for humans. Any technique that
demonstrably aids in managing the inherent complexity of
software systems by offering developers valuable insights
or assistance can justifiably be classified as AI.
AI has a wide range of applications in software engineering.
The following sub-sections will explore several key areas
where AI can be utilized, including cost estimation, fault
prediction, test estimation, testing, software maintenance,
reuse, quality prediction, source code summarization, and
the detection of design and code bad smells.