0% found this document useful (0 votes)
6 views8 pages

FM RP

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views8 pages

FM RP

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

SINDH MADRASSATUL ISLAM UNIVERSITY

(SMIU)

SUBMITTED BY:
QUNTARA MUHAMMAD ASHRAF (BSE-22S-111)
MUSAWIR MOOSA BHUTTO (BSE-22S-104)
ABDUL REHMAN (BSE-22S-153)
VARISHA JUNAID (BSE-22S-140)
TAJAMUL ABBASI (BSE-22S-136)
ZAIN ZAIB (BSE-22S-145)
SUBMITTED TO:
“MISS MARIA MEMON”
DEPARTMENT:
“SOFTWARE ENGINEERING”
SEMESTER AND SECTION:
5TH (C)
SUBJECT:
“FORMAL METHODS”
PROJECT:
“RESEARCH PAPER”
DATE OF SUBMISSION:
“JUNE 05, 2024”
Title: Importance of Analysis, Well Formedness,
Completeness and Robustness in Software
Systems
Authors:
Quntara Muhammad Ashraf, Musawir Moosa Bhutto, Abdul Rahman, Varisha
Junaid, Tajamul, Zain Zaib.

Abstract:

Keywords:
1. How analysis, well-formedness,
Introduction: completeness and robustness
contribute to software quality?
Background:
2. How these properties depend on each
other?
In modern society, Software systems are an
3. What are the limitations and
important part but their complexity is
increasing at unexpected rates day by day. challenges that can be faced while
As software are becoming more critical, it's integrating these properties in
also important to maintain their quality, software systems?
maintainability and reliability. Analysis, 4. What will happen if we neglect one
or more properties in software
Well-formedness, Completeness and
systems?
robustness are the four essential properties
5. What are the best practices to ensure
of software systems that contribute to
these properties in software systems?
overall software system quality. Analysis
means analyzing properties and behavior of Research Objectives:
software systems by breaking it into
The primary objective of this paper is to
different components. Well-formedness
identify and analyze the importance of
refers to ensuring that the behavior and
analysis, well-formedness, completeness and
structure of system follows set of predefined
robustness in software systems. Some of the
rules. Completeness assures that the
other objectives that we will be focusing are:
software system consists of all the required
1. To analyze the relationships between
functional and non-functional requirements.
these properties.
Robustness estimate the ability of software
2. To identify the dependency of these
system to combat errors, faults and
properties upon each other.
unexpected inputs.
3. To identify each property
Motivation: contribution to overall software
Even being the important properties of a quality.
software system, many systems are fail to 4. Identifying challenges and
manifest them, which ultimately leads to limitations that may be encountered
errors, crashes and security issues. The when implementing these properties
motivation for this research paper is to in software systems
research on the importance of analysis, well-
formedness, completeness and robustness in 5. Establishing pathways for
the software systems. We will also explore Engineers, researchers, and
how these functions depend on each other developers concerning the
and their relationships. This study aim to integration of these properties
explore the best practices, challenges and (analysis, well-formedness,
future directions for ensuring these completeness, and robustness) in
properties in software systems. software systems.

Research Questions: Literature Review:


In this research paper, we are going to Pressman (2005) highlighted that
answer these questions especially: effective analysis is important for
reducing risks and reducing the end-users perspective can alert providers to
probability of unambiguous requirement potential problems in a software or product
that can lead to failures. [1] Somerville offering. For example, an analyst might
(2011) discusses various techniques such discover an error that prevents users from
as requirement elicitation, use case completing specific actions successfully. By
modeling, and requirements validation to finding these errors, they can make
ensure thorough analysis. [2] adjustments that ensure the system functions
as it's meant to for users.

Reduces errors or inefficiencies


Analysis of Software Systems A systems analysis can also help determine if
Definition: a system is efficient or viable. By looking at
System analysis is a review of a technological the overall architecture of the system,
system, like a software package, for analysts can assess its performance and
troubleshooting, development or workability. From there, they can make
improvement purposes. Through in-depth suggestions about ways to improve the
analysis, analysts can uncover errors in code, system or enhance its operation.
accessibility issues for end-users or design Identifies potential issues in code
incompatibilities. Performing an effective Analysis usually requires an in-depth review
systems analysis often requires experts to of a system's code. Often, errors in a system's
have knowledge of a software products or functions originate from its source code.
package's requirements so that they can Bugs or improperly typed code can cause a
approach their analysis effectively. Unlike system to behave in a way that differs from
systems administrators, who focus on day-to- its intended function. By finding these errors,
day system maintenance, systems analysts it's easier for system creators to remedy bugs
consider the viability and effectiveness of a and fix coding inconsistencies.
product overall. This allows them to suggest
changes or make fixes that improve the Helps businesses improve their systems
system. Sometimes, businesses hire analysts to
review their systems. The improvements,
With a systems analysis, considering the
changes and recommendations analysts
goals of the system is important for solving
provide can help businesses improve
problems and creating efficiencies. From
efficiency and keep their systems running
there, dividing a system into components can
effectively. This can lower costs associated
make it easier to perform individual analyses
with troubleshooting or system downtime. It
that influence the complete system.
can also ensure businesses consider every
Importance: factor associated with their system, like
usability, performance, scaling and business
Improves the user experience
impact.
Effective analysis often looks at a system
from the end user's perspective. It's important
for providers to maintain accessible systems Methods of Analysis:
that are easy to navigate and meet user Booch (1991) describes Object-Oriented
requirements. Conducting a review from the Analysis (OOA) [3] and Rumbaugh, Jacobson,
and Booch (1998) propose the Unified Modeling Dynamic analysis testing will indicate
Language (UML) [4] as some methodologies whether an application works well;
that have been developed to improve analysis. conversely, it will reveal errors indicating
For example, they offer an organized format for that an application doesn’t work as intended.
showing how systems should behave, besides
simplifying interactions between different Formal Methods:
users, such as developer’s stakeholders who Formal Methods could provide mathematical
share interests in specific projects or products. models for specifying and verifying designs-
hardware or software. Early on, formal
Static analysis: methods had more acceptance in hardware
Static analysis, also known as static code than software. Employing mathematical
analysis, involves debugging computer models in software to proof correctness or
programs by scrutinizing the code itself validate requirements reduces or eliminates
without running the program. This method errors at the early stages of development and
offers insights into the structure of the code also makes testing easier. Formal methods
and assists in verifying that it meets industry are powerful tools in introducing rigor that
standards. Static analysis is used in software would enforce correctness in design
engineering by software development and specification and help build confidence in
quality assurance teams. Automated tools can design. Indeed, formal method should be
assist programmers and developers in seriously considered in safety-critical
carrying out static analysis. The software will systems where there is zero tolerance for
scan all code in a project to check for failure. Formal methods have possibility of
vulnerabilities while validating the code. The gaining magnitude because of the capability
static analysis process is relatively simple, as to formulate accurate solutions. This work
long as it's automated. Generally, static proposes to look into the effects of
analysis occurs before software testing in mathematical models on software system
early development. designs from the perspective of formal
methods. Trends, benefits, state of the art and
Dynamic Analysis:
future prospects of formal method are
Dynamic analysis is the process of testing
considered. Formal methods might require
and evaluating a program while software is
much in terms of implementation, skills and
running. Also referred to as dynamic code
use but there is much benefit in terms of
scanning, dynamic analysis improves the
removing design ambiguity and
diagnosis and correction of bugs, memory
inconsistency and at the same time improving
issues, and crashes of an application during
correctness and accuracy.
its execution.
Developers are under tremendous pressure to Requirements Analysis:
deliver clean applications faster. Dynamic Requirements analysis or requirements
code analysis tools can help them achieve this engineering is a process used to determine the
with easy debugging of running threads and needs and expectations of a new product. It
processes. Dynamic analysis tools also help involves frequent communication with
illuminate performance problems and the stakeholder and end-users of the product
memory usage issues and memory leaks. to define expectations, resolve conflicts, and
document all the key requirements.
One of the greatest challenges faced by any Optimization Strategies:
organization is to share the vision of the final Improving Algorithm Efficiency:
product with the customers. Hence, Google has been making its search engine
a business requirements analysis involves a smarter by fine-tuning how it sorts through
team effort of all the key all the websites information. They have done
stakeholders, software developers, end-users, things like streamlining their algorithms to
and customer managers to achieve a shared work faster and more efficiently or using
understanding of what the product should do. tricks like caching commonly accessed data
This is always done in the early phase of and running tasks simultaneously to speed
any project to ensure that the final product things up. Now, they have strengthened their
conforms to all the requirements. data centers and networks, making sure they
can handle more searches without slowing
Case Studies down. They are also getting better at keeping
Case Study: Optimizing Google Search things fresh, quickly adding new stuff to
Engine Performance search results as it pops up online. It is all
about giving users the most relevant and up-
Background:
to-date info whenever they hit that search
Google Search reigns as the world's top button.
search engine, tackling billions of search
Outcome:
queries each day. But as internet use surges
and users demand quick and precise results,  Faster Results: By making these
Google encountered hurdles in maintaining improvements, Google Search now
top-notch performance. To tackle these delivers search results quicker than
challenges head-on, Google launched a ever before. Now google searches
project to optimize its search engine's are processed much faster.
performance.  Handling Growth: Google's upgrades
mean that even as more and more
Findings: content gets added to the web, the
Identifying Problems: search engine can keep up without
The analysis showed that even though the slowing down. So, no matter how
indexing and ranking algorithms are much the internet grows, Google
advanced, they were using too many system Search stays speedy and reliable.
resources, which slowed down the processing  Better Results: Thanks to these
of search queries. The heavy computational changes, the search results you get
needs of indexing a large number of web are more relevant and up-to-date.
pages were causing delays in updating the Now you get your desired result
search index with new content. Additionally, more easily, as Google constantly
the enormous number of web pages and user- updates to show you the latest
generated content created major scalability information.
challenges, making it difficult for Google to Quality Attributes:
keep search results fresh and relevant.
 Performance Optimization: Google
Search leverages advanced indexing
algorithms, distributed caching, and
efficient query processing techniques
to deliver lightning-fast and pertinent
search results.
 Scalability: Google's search
infrastructure, built on a distributed
architecture spanning numerous data
centers worldwide, smoothly
manages billions of search queries
daily with minimal latency.
 Fault Tolerance: Google employs
redundancy, load balancing, and
automatic failover mechanisms to
ensure uninterrupted service
availability and fault tolerance.
 Security: Stringent security measures,
including query and results
encryption, secure authentication,
and continuous threat monitoring,
safeguard user privacy and data
integrity.

Lessons Learned:
 Invest in Distributed Systems
Architecture: Scalability and fault
tolerance are bolstered by investing in
distributed systems architecture.
 Continuous Optimization: Ongoing
optimization of search algorithms and
infrastructure is vital for sustained
performance.
 Redundancy and Failover:
 Implement redundancy and failover
mechanisms to maintain service and
availability.
 Priority on Security: Prioritize
security measures to uphold user
privacy and data integrity.

You might also like