Building Better Software:Harnessing UI Design Patterns For Quality
Building Better Software:Harnessing UI Design Patterns For Quality
Abstract— Effective software development heavily relies on the challenging and critical to the success of a software project.
judicious selection and application of design patterns, which Incorrect design pattern choices may lead to inefficiencies,
streamline development processes by leveraging preexisting maintenance issues, and even project failure, especially for
solutions. However, inexperienced developers often struggle
with selecting appropriate design patterns, leading to project
inexperienced developers.
failures. To address this challenge, we propose a Machine
Learning (ML)-enabled solution integrated into a To address this challenge, a novel approach combining machine
web-based interface. Our system allows users to upload learning (ML) techniques and web-based modules has been
source code, which is then analyzed by ML algorithms to developed. This approach enables developers to predict suitable
predict suitable design patterns. We evaluated various ML design patterns by analyzing source code. Through a user-friendly
algorithms such as Support Vector Machines (SVM), web interface, developers can upload their source code, which is
Random Forest, and Decision Trees based on metrics like then processed by ML algorithms to rank and predict the most
accuracy, precision, recall, and F-score to ensure optimal
appropriate design pattern.The system employs various ML
performance.
algorithms, such as Support Vector Machines (SVM), Random
The system's workflow comprises several modules including Forest, and Decision Trees, which have been evaluated for
user authentication, dataset loading, conversion of source
accuracy, precision, recall, and F-score to ensure robust
code to numeric vectors, ML algorithm training, and design
pattern prediction. Upon login, users can upload datasets performance. Training these algorithms involves utilizing a dataset
containing design pattern information. These datasets are specifically curated for design pattern prediction, sourced from a
processed to convert source code into numeric vectors for publicly available repository.The workflow of the system consists
algorithm training. The ML models are trained and of several modules accessible through REST-based web services:
evaluated using a split of 80% for training and 20% for
testing. Once trained, users can upload their source code for
design pattern prediction. The system ranks the uploaded
1. User Login: Allows users to authenticate and access the
code against trained models to identify the most suitable system using credentials.
design pattern.
2. Load Design Patterns Code: Enables users to upload the
Our system aims to empower developers to make informed dataset containing information about project names, source code
decisions regarding design pattern selection, thereby
class names, and corresponding design patterns.
enhancing software quality and reducing development time.
The web-based interface provides a user-friendly platform 3. Code to Numeric Vector: Converts the source code into a
for seamless interaction with the ML-powered prediction
engine. Experimental results demonstrate the efficacy of our numeric vector representation, replacing words with their average
approach, with Random Forest consistently achieving high frequencies.
accuracy in pattern prediction. By leveraging ML
techniques, our system offers a valuable tool for both novice 4. Train ML Algorithms: Divides the processed dataset into
and experienced developers to optimize their software design training and testing sets, with 80% used for training the ML
processes and ensure project success. models. The trained models are then evaluated using the
Keywords— Machine Learning, Design Patterns, Software remaining 20% of the dataset to calculate accuracy and other
Development, Ontology-based Ranking, Web Application, metrics.
Source Code Analysis..
5. Predict Design Patterns: Allows users to upload their source
I. INTRODUCTION code files for pattern prediction. The ML algorithms rank the
uploaded code to identify the most suitable design pattern, which
Design patterns play a crucial role in software is then displayed to the user.
development by facilitating the reuse of proven solutions
to common design problems. However, selecting the This system empowers developers to make informed decisions
right design pattern for a given context can be about design pattern selection based on the characteristics of their
code. By leveraging ML and web technologies, it offers
a streamlined approach to improving software design
quality and efficiency, ultimately enhancing the success
rate of software projects.
.
II. DESIGN THINKING METHODS
IV. RESULT
Training the algorithms involves utilizing the provided In above screen user is login by using username and password
Java source code to predict design patterns. Ontology- as ‘admin and admin’ and then click on
based ranking calculations are employed to calculate the ‘Login’ button to get below page
rank between the dataset's source code and user-
uploaded source code. The highest-ranking design
pattern is then selected as the prediction.
VI. ACKNOWLEDGMENT
In above screen can see each algorithm performance in This research was supported by Chaithanya
tabular and graph format and in all algorithms Random Bharathi Institute of Technology
Forest got high accuracy and in graph x-axis represents
algorithm names and y-axis represents accuracy and VII. REFERENCE
other metrics in different colour bars and now click on
‘Predict • Mobile application revenue generation.
[Online].
Design Patterns’ link to get below page Available from: https://www.abiresearch.com/press/tabletswill-
generate-35-of-this-years-25-billion-/ [retrieved:
December,2019].
• S. Henninger and P. Ashokkumar, “An ontologybased
infrastructure for usability design patterns,” Proc. Semantic
Web Enabled Software Engineering (SWESE), Galway,Ireland,
pp. 41-55, 2005.
• T. A. Coleti et al., “Design Patterns to Support Personal
DataTransparency Visualization in Mobile
Applications, International Conference on Human-Computer
Interaction,Springer, Cham, pp. 46-62, 2019.
• T. Neil, “12 Standard Screen Patterns,”
http://designingwebinterfaces.com/designing-webinterfaces-
In above screen select and uploading any java source code 12-screen patterns, accessed November, 2012.
in UI/non-UI format and then click on ‘Submit’ button to • Patternry, “UI Design Patterns and Library Builder,”
predict names of design pattern http://patternry.com, accessed November, 2012. J. Tidwell,
Designing Interfaces. Sebastopol, CA: O’Reilly, 2011.
EVALUATION
• A. Toxboe, “UI Patterns - User Interface Design Pattern Library,”
The integration of Machine Learning and web http://ui-patterns.com, accessed November, 2012
modules for design pattern prediction in
software development addresses the critical
• Gómez, R.Y., D.C. Caballero, and J.-L. Sevillano,
Heuristic Evaluationon Mobile Interfaces: A New
Checklist. The Scientific World Journal,2014
• Nielsen, J. and R. Molich, Heuristic evaluation of user
interfaces, in Proceedings of the SIGCHI Conference
on Human Factors in Computing Systems. 1990,
ACM: Seattle, Washington, USA. p. 249-256.
• Advances in Space Technologies (RAST), Istanbul,
Turkey, 2015, pp. 539-544, doi:
10.1109/RAST.2015.7208403.
• A. Dutta, A. Negi, J. Harshith, D. Selvapandian, A. S.
Antony Raj and P. R. Patel,
"Evaluation Modelling of Asteroids’ Hazardousness using
ChaosNet," 2023 IEEE 8th International Conference for
Convergence in Technology (I2CT), Lonavla, India, 2023,
pp. 15, doi: 10.1109/I2CT57861.2023.10126386.