Swarm Computing Applications in Software Engineering By Chaitanya.
-
Upload
magdalen-stokes -
Category
Documents
-
view
222 -
download
2
Transcript of Swarm Computing Applications in Software Engineering By Chaitanya.
![Page 1: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/1.jpg)
Swarm Computing Swarm Computing Applications in Software Applications in Software
EngineeringEngineering
ByChaitanya
![Page 2: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/2.jpg)
ContentsContentsIntroductionSwarm ComputingAnt colony optimization
algorithmsApplications in Software
Engineering
2
![Page 3: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/3.jpg)
IntroductionIntroductionSoftware testing is an important
and valuable part of the software development life cycle.
Due to the time and cost constraints, it is not possible to test the software manually and fix the defects. Thus the use of test automation plays a very important role in the software testing process.
3
![Page 4: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/4.jpg)
Swarm ComputingSwarm ComputingSwarm Computing/ Swarm Intelligence
is defined as the collective behavior of decentralized, self-organized systems, natural or artificial. The concept is employed in work on artificial intelligence.
The inspiration often comes from nature, especially biological systems.
4
![Page 5: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/5.jpg)
Swarm ComputingSwarm ComputingThe agents follow very simple rules, and
although there is no centralized control structure dictating how individual agents should behave, local, and to a certain degree random, interactions between such agents lead to the emergence of "intelligent" global behavior.
Natural examples of Swarm Intelligence include ant colonies, bird flocking, animal herding, bacterial growth, and fish schooling.
5
![Page 6: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/6.jpg)
6
![Page 7: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/7.jpg)
FeaturesFeaturesInherent parallelismStochastic natureAdaptivity Use of positive feedbackAutocatalytic in nature
7
![Page 8: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/8.jpg)
Ant Colony Optimization Ant Colony Optimization (ACO) Algorithms(ACO) AlgorithmsACOAs have been introduced as powerful
tools to solve order-based problems, such as the traveling salesman problem (TSP) and the quadratic assignment problems.
The main characteristics of ACSA are positive feedback, distributed computation, and the use of a constructive greedy heuristic.
ACOAs, to some extent, mimic the behavior of real ants.
8
![Page 9: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/9.jpg)
Natural AntsNatural AntsReal ants are capable of finding the
shortest path from food sources to the nest without using visual cues.
They are also capable of adapting to changes in the environment.
9
![Page 10: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/10.jpg)
10
Food
![Page 11: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/11.jpg)
11
![Page 12: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/12.jpg)
12
![Page 13: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/13.jpg)
Natural AntsNatural AntsThese capabilities ants have are
essentially due to what is called “pheromone trails” that ants use to communicate information among individuals regarding path and to decide where to go.
Ants deposit a certain amount of pheromone while walking, and each ant probabilistically prefers to follow a direction rich in pheromone rather than a poorer one.
13
![Page 14: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/14.jpg)
Agents in ACOAgents in ACOThe ant colony optimization algorithm
(ACO) is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs.
The individual agents are rather simple. However, when the entire colony foraging towards the bait site complicated dynamics are exhibited, achieving a super–nonlinear increase in performance.
14
![Page 15: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/15.jpg)
Applications of ACOApplications of ACOACO algorithm techniques can be used in a
number of applications like controlling unmanned vehicles, control nanobots within the body for the purpose of killing cancer tumors. Swarm intelligence has also been applied for data mining.
Meta-Heuristic algorithms have been applied to three areas of software engineering: test data generation, module construction and cost/effort prediction.
But these algorithms can be applied to many other operations in software engineering and much research should be done in this field.
15
![Page 16: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/16.jpg)
Application of ACO to Application of ACO to software testingsoftware testingThree main activities normally associated with software testing are: Test data generation, Test execution involving the use of test data and the software under test and Evaluation of test results.The process of test data generation involves activities for producing a set of test data that satisfied a chosen testing criterion.
16
![Page 17: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/17.jpg)
Requirements for test case Requirements for test case generationgenerationTransformation of the testing
problem into a graph.A heuristic measure for measuring
the “goodness” of paths through the graph.
A mechanism for creating possible solutions efficiently and a suitable criterion to stop solution generation.
A suitable method for updating the pheromone.
17
![Page 18: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/18.jpg)
The generated test suite has to satisfy three criteria:All state coverageFeasibility Optimality
18
![Page 19: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/19.jpg)
Coffee and Cocoa vending Coffee and Cocoa vending machine examplemachine example
19
![Page 20: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/20.jpg)
Converted graphConverted graph
20
![Page 21: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/21.jpg)
Individual Agent Individual Agent propertiespropertiesAn ant k at a vertex of the graph is associated with a four tuple:Vertex Track SetTarget SetConnection SetPheromone Trace Set
21
![Page 22: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/22.jpg)
Algorithm for agentAlgorithm for agentEvaluation at vertex -Update the track
-Evaluate connectionsMove to next vertex
-Select Destination-Move-Update Pheromone
22
![Page 23: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/23.jpg)
Stopping criteriaStopping criteriaAll states have been visited at least onceSearch upper bound has been reached.
The final optimal solution can be obtained by examining all of the solution candidates created by ant exploration.
23
![Page 24: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/24.jpg)
24
![Page 25: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/25.jpg)
ConclusionsConclusionsCurrent research into the ASOA is still
at a nascent age.More potentially beneficial work
remains to be done, particularly in the areas of improvement of its computation efficiency.
25
![Page 26: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/26.jpg)
ReferencesReferencesAutomated Software Testing Using Meta-
heuristic Technique Based on An Ant Colony Optimization [Praveen Ranjan Srivastava, Km Baby] 2010
Reformulating Software Engineering as a search problem [John Clarke, Bryan jones]
An Ant Colony Optimization Approach to Test Sequence Generation for State-Based Software Testing [Huaizhong Li, Chiou Peng] 2005
26
![Page 27: Swarm Computing Applications in Software Engineering By Chaitanya.](https://reader031.fdocuments.in/reader031/viewer/2022020111/56649e895503460f94b8d8ee/html5/thumbnails/27.jpg)
THANK YOUTHANK YOU
27