An Ant Colony Optimization Approach to the Software Release Planning Problem with Dependent Requirements



Similar documents
An Ant Colony Optimization Approach to the Software Release Planning Problem

Ant Colony Optimization Resource Allocation for Software Release Planning

Ant Colony Optimization (ACO)

vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK

Ant Colony Optimization and Constraint Programming

STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1

Run$me Query Op$miza$on

Finding Liveness Errors with ACO

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)

Projects - Neural and Evolutionary Computing

Using Ant Colony Optimization for Infrastructure Maintenance Scheduling

An Integer Programming Model for the School Timetabling Problem

Experiments on cost/power and failure aware scheduling for clouds and grids

Integration of ACO in a Constraint Programming Language

CHAPTER 6 MAJOR RESULTS AND CONCLUSIONS

EA and ACO Algorithms Applied to Optimizing Location of Controllers in Wireless Networks

An ACO Approach to Solve a Variant of TSP

An Improved ACO Algorithm for Multicast Routing

A DISTRIBUTED APPROACH TO ANT COLONY OPTIMIZATION

D A T A M I N I N G C L A S S I F I C A T I O N

Optimization and Ranking in Web Service Composition using Performance Index


Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)

QoS Guaranteed Intelligent Routing Using Hybrid PSO-GA in Wireless Mesh Networks

MuACOsm A New Mutation-Based Ant Colony Optimization Algorithm for Learning Finite-State Machines

International Journal of Emerging Technologies in Computational and Applied Sciences (IJETCAS)

EXECUTIVE REMUNERATION AND CORPORATE PERFORMANCE. Elizabeth Krauter Almir Ferreira de Sousa

TEST CASE SELECTION & PRIORITIZATION USING ANT COLONY OPTIMIZATION

Multi-Objective Ant Colony Optimization for Solving the Twin- Screw Extrusion Configuration Problem

ACO Hypercube Framework for Solving a University Course Timetabling Problem

AN APPROACH FOR SOFTWARE TEST CASE SELECTION USING HYBRID PSO

Requirements Selection: Knowledge based optimization techniques for solving the Next Release Problem

Numerical Research on Distributed Genetic Algorithm with Redundant

Application Partitioning on Programmable Platforms Using the Ant Colony Optimization

An ACO-based Approach for Scheduling Task Graphs with Communication Costs

Processing of Mix- Sensi0vity Video Surveillance Streams on Hybrid Clouds

Scalus A)ribute Workshop. Paris, April 14th 15th

Automated SEO. A Market Brew White Paper

A Parallel Processor for Distributed Genetic Algorithm with Redundant Binary Number

Data Integration. Lectures 16 & 17. ECS289A, WQ03, Filkov

Introduction. Swarm Intelligence - Thiemo Krink EVALife Group, Dept. of Computer Science, University of Aarhus

A Service Revenue-oriented Task Scheduling Model of Cloud Computing

Lead Generation Lessons From 4,000 Businesses. A study based on real data from 4,000 businesses

Cellular Automaton: The Roulette Wheel and the Landscape Effect

ECBDL 14: Evolu/onary Computa/on for Big Data and Big Learning Workshop July 13 th, 2014 Big Data Compe//on

Non-Inferiority Tests for One Mean

Management of Software Projects with GAs

Manjeet Kaur Bhullar, Kiranbir Kaur Department of CSE, GNDU, Amritsar, Punjab, India

An Implementation of Software Project Scheduling and Planning using ACO & EBS

A Binary Model on the Basis of Imperialist Competitive Algorithm in Order to Solve the Problem of Knapsack 1-0

SmartPATH: An Efficient Hybrid. ACO-GA Algorithm for Solving the Global Path Planning Problem of Mobile Robots

ACO Based Dynamic Resource Scheduling for Improving Cloud Performance

UNSUPERVISED MACHINE LEARNING EMBEDDED IN AUTONOMOUS INTELLIGENT SYSTEMS

Biogeography Based Optimization (BBO) Approach for Sensor Selection in Aircraft Engine

Job scheduling of parametric computational mechanics studies on Cloud Computing infrastructures

ACO ALGORITHM FOR LOAD BALANCING IN SIMPLE NETWORK

AN APPROACH FOR OBJECT FINDING USING MOBILE ROBOTS BASED ON ACO

Effec%ve AX 2012 Upgrade Project Planning and Microso< Sure Step. Arbela Technologies

Social Media Mining. Network Measures

An ant colony optimization for single-machine weighted tardiness scheduling with sequence-dependent setups

Management and Orchestration of Virtualized Network Functions

Proposed Software Testing Using Intelligent techniques (Intelligent Water Drop (IWD) and Ant Colony Optimization Algorithm (ACO))

Intelligent Modeling of Sugar-cane Maturation

A GENETIC ALGORITHM FOR RESOURCE LEVELING OF CONSTRUCTION PROJECTS

CLOUD DATABASE ROUTE SCHEDULING USING COMBANATION OF PARTICLE SWARM OPTIMIZATION AND GENETIC ALGORITHM

An ACO/VNS Hybrid Approach for a Large-Scale Energy Management Problem

Compact Representations and Approximations for Compuation in Games

Network (Tree) Topology Inference Based on Prüfer Sequence

A Review And Evaluations Of Shortest Path Algorithms

CONTENTS. Introduc on 2. Undergraduate Program 4. BSC in Informa on Systems 4. Graduate Program 7. MSC in Informa on Science 7

HYBRID ACO-IWD OPTIMIZATION ALGORITHM FOR MINIMIZING WEIGHTED FLOWTIME IN CLOUD-BASED PARAMETER SWEEP EXPERIMENTS

Review of Solving Software Project Scheduling Problem with Ant Colony Optimization

Artificial Intelligence (AI)

Modified Ant Colony Optimization for Solving Traveling Salesman Problem

Software Project Management with GAs

Swarm Intelligence Algorithms Parameter Tuning

Multi-Robot Traffic Planning Using ACO

Bachelor Thesis Performance comparison of heuristic algorithms in routing optimization of sequencing traversing cars in a warehouse

AIEA PROVOST PERSPECTIVES

A SURVEY ON WORKFLOW SCHEDULING IN CLOUD USING ANT COLONY OPTIMIZATION

Phone Systems Buyer s Guide

Optimization of ACO for Congested Networks by Adopting Mechanisms of Flock CC

Analysis of an Artificial Hormone System (Extended abstract)

A RANDOMIZED LOAD BALANCING ALGORITHM IN GRID USING MAX MIN PSO ALGORITHM

Making Dynamic Memory Allocation Static To Support WCET Analyses

Effective Load Balancing for Cloud Computing using Hybrid AB Algorithm

Panorama Consulting Group. PERFECT Fit ERP Selection Framework

Cloud Compu)ng in Educa)on and Research

media BROS think traffic convert Lead Generation ebook

Web Mining using Artificial Ant Colonies : A Survey

Computational intelligence in intrusion detection systems

Debugging the Hype about Big Data and Business Service Metrics

Comparison of WCA with AODV and WCA with ACO using clustering algorithm

International Journal of Emerging Technology & Research

Berkeley CS191x: Quantum Mechanics and Quantum Computation Optional Class Project

Optimization in Software Testing Using Metaheuristics

Asexual Versus Sexual Reproduction in Genetic Algorithms 1

Meta-Heuristics for Reconstructing Cross Cut Shredded Text Documents

The Application Research of Ant Colony Algorithm in Search Engine Jian Lan Liu1, a, Li Zhu2,b

Transcription:

3rd InternaIonal Symposium on Search Based SoKware Engineering September 10 12, Szeged, Hungary An Ant Colony Optimization Approach to the Software Release Planning Problem with Dependent Requirements Jerffeson Teixeira de Souza, Camila Loiola Brito Maia, Thiago do Nascimento Ferreira, Rafael Augusto Ferreira do Carmo and Márcia Maria Albuquerque Brasil Op#miza#on in So,ware Engineering Group (GOES.UECE) State University of Ceará, Brazil

MoIvaIon The Search Based SoKware Engineering (SBSE) field has been benefited from a number of general search methods. Surprisingly, even with the large applicability and the significant results obtained by the Ant Colony OpImizaIon (ACO) metaheurisic, very lixle has been done regarding the employment of this strategy to tackle sokware engineering problems modeled as opimizaion problems.

Ant Colony OpImizaIon swarm intelligence framework, inspired by the behavior of ants during food search in nature. ACO mimics the indirect communica#on strategy employed by real ants mediated by pheromone trails, allowing óri individual ants to adapt their behavior to reflect the colony s search experience.

The so'ware release planning problem addresses the selec5on and assignment of requirements to a sequence of releases, such that the most important and riskier requirements are an5cipated, and both cost and precedence constraints are met.

The so'ware release planning problem addresses the selec5on and assignment of requirements to a sequence of releases, such that the most important and riskier requirements are an5cipated, and both cost and precedence constraints are met.

How can the ACO framework be adapted to solve the So'ware Release Planning problem in the presence of dependent requirements? ACO for the So,ware Release Planning problem?

How does the proposed ACO adapta5on compare How can the ACO frameworkbe adapted to solve the So'ware Release Planning problem in the presence of dependent requirements? ACO for the So,ware Release Planning problem? to other metaheuris5cs in solving the So'ware Release Planning problem in the presence of dependent requirements? ACO versus Other Metaheuris#cs?

How can the ACO algorithm be adapted to solve the So'ware Release Planning problem in the presence of dependent requirements? ACO for the So,ware Release Planning problem?

PROBLEM ENCONDING The problem will be encoded as a directed graph,, where, with represening mandatory moves, and represening opional ones. i. each vertex in represents a requirement ; ii. a directed mandatory edge, if ; iii. a directed opional edge, if and.

MORE PROBLEM ENCONDING if requirement has no precedent requirements and, for all unvisited requirements where

OVERALL INITIALIZATION COUNT 1 MAIN LOOP REPEAT MAIN LOOP INITIALIZATION FOR ALL ver3ces r i V, visited i False FOR ALL ver3ces r i V, current_planning i 0 SINGLE RELEASE PLANNING LOOP // FINDS A NEW RELEASE PLANNING (current_planning) MAIN LOOP FINALIZATION IF current_planning.eval( ) > best_planning.eval( ) THEN best_planning current_planning COUNT ++ UNTIL COUNT > MAX_COUNT RETURN best_planning

OVERALL INITIALIZATION COUNT 1 MAIN LOOP REPEAT MAIN LOOP INITIALIZATION FOR ALL ver3ces r i V, visited i False FOR ALL ver3ces r i V, current_planning i 0 SINGLE RELEASE PLANNING LOOP // FINDS A NEW RELEASE PLANNING (current_planning) MAIN LOOP FINALIZATION IF current_planning.eval( ) > best_planning.eval( ) THEN best_planning current_planning COUNT ++ UNTIL COUNT > MAX_COUNT RETURN best_planning

OVERALL INITIALIZATION COUNT 1 MAIN LOOP REPEAT MAIN LOOP INITIALIZATION FOR ALL ver3ces r i V, visited i False FOR ALL ver3ces r i V, current_planning i 0 SINGLE RELEASE PLANNING LOOP // FINDS A NEW RELEASE PLANNING (current_planning) MAIN LOOP FINALIZATION IF current_planning.eval( ) > best_planning.eval( ) THEN best_planning current_planning COUNT ++ UNTIL COUNT > MAX_COUNT RETURN best_planning

OVERALL INITIALIZATION COUNT 1 MAIN LOOP REPEAT MAIN LOOP INITIALIZATION FOR ALL ver3ces r i V, visited i False FOR ALL ver3ces r i V, current_planning i 0 SINGLE RELEASE PLANNING LOOP // FINDS A NEW RELEASE PLANNING (current_planning) MAIN LOOP FINALIZATION IF current_planning.eval( ) > best_planning.eval( ) THEN best_planning current_planning COUNT ++ UNTIL COUNT > MAX_COUNT RETURN best_planning

OVERALL INITIALIZATION COUNT 1 MAIN LOOP REPEAT MAIN LOOP INITIALIZATION FOR ALL ver3ces r i V, visited i False FOR ALL ver3ces r i V, current_planning i 0 SINGLE RELEASE PLANNING LOOP // FINDS A NEW RELEASE PLANNING (current_planning) MAIN LOOP FINALIZATION IF current_planning.eval( ) > best_planning.eval( ) THEN best_planning current_planning COUNT ++ UNTIL COUNT > MAX_COUNT RETURN best_planning

SINGLE RELEASE PLANNING LOOP FOR EACH Release, k Randomly place ant k in a vertex r i V, where visited i False and overall_cost i budgetrelease k ADDS (r i, k) WHILE opt_vis k (i) 0 DO Move ant k to a vertex r j opt_vis k (i) with probability p ij k ADDS (r j, k) i j

// Besides r i, adds to release k all of its dependent requirements, and, repeatedly, their dependent requirements ADDS (r i, k) ENQUEUE (Q, r i ) WHILE Q DO r s DEQUEUE (Q) FOR EACH r t mand_vis k (s) DO ENQUEUE (Q, r t ) visited s True current_planning s k

SINGLE RELEASE PLANNING LOOP FOR EACH Release, k Randomly place ant k in a vertex r i V, where visited i False and overall_cost i budgetrelease k ADDS (r i, k) WHILE opt_vis k (i) 0 DO Move ant k to a vertex r j opt_vis k (i) with probability p ij k ADDS (r j, k) i j

How does the proposed ACO adapta5on compare to other metaheuris5cs in solving the So'ware Release Planning problem in the presence of dependent requirements? ACO versus Other Metaheuris#cs?

The Experimental Data Table below presents the number of releases, requirements and clients of a sample of the 72 syntheically generated instances used in the experiments. Instance Name Number of Requirements Number of Releases Instance Features Number of Clients Precedence Density Overall Budget I_50.5.5.80 50 5 5 0% 80% I_50.5.5.120 50 5 5 0% 120% I_200.50.20.20.80 200 50 20 20% 80% I_500.50.20.20.120 500 50 20 20% 120%

The Algorithms Gene5c Algorithm (GA) widely applied evolu3onary algorithm, inspired by Darwin s theory of natural selec3on, which simulates biological processes such as Inheritance, muta3on, crossover, and selec3on Simulated Annealing (SA) it is a procedure for solving arbitrary op3miza3on problems based on an analogy with the annealing process in solids.

Comparison Metrics Quality it relates to the quality of each generated solu3on, measured by the value of the objec3ve func3on. Execu5on Time it measures the required execu3on 3me of each strategy.

! PAPER SUPPORTING MATERIAL WEBPAGE hxp://www.larces.uece.br/~goes/rp/aco/

Results ACO performed beaer than GA and SA in all cases. Percentagewise, ACO generated solu3ons, in average, 78.27% beaer than those produced by GA and 96.77% than SA. In terms of execu3on 3me, ACO operated substan3ally slower than the other two metaheuris3cs. In average, ACO required almost 60 3mes more than GA and more than 90 3mes more than SA. ACO (1k) x GA (1k) x SA (1k) (General Results)

Instances in which sta3s3cal confidence cannot be assured when comparing the quality of the solu3ons generated by ACO with GA and SA, with all algorithms execu3ng 1000 evalua3ons, calculated with the Wilcoxon Ranked Sum Test 90% confidence level 95% confidence level 99% confidence level GA I_50.5.5.20.80, I_50.5.20.0.80, I_50.20.20.0.120, I_50.20.20.20.80, I_200.5.20.0.80,I_200.5.20.0.120, I_500.5.5.0.80,I_500.5.20.0.80 I_50.5.5.20.80, I_50.5.20.0.80 I_50.20.20.0.120,I_50.20.20.20.80, I_200.5.20.0.80,I_200.5.20.0.120, I_500.5.5.0.80,I_500.5.20.0.80 I_50.5.5.20.80, I_50.5.20.0.80, I_50.20.20.0.120,I_50.20.20.20.80, I_200.5.20.0.80,I_200.5.20.0.120, I_200.50.20.0.80,I_500.5.5.0.80, I_500.5.20.0.80,I_500.5.20.0.120, I_500.20.20.0.80 SA - - - Only for 8 instances - out of 72 -, sta3s3cal significance could not be assured under the 95% confidence level when comparing ACO with GA. For SA, even within the 99% level, ACO performed significantly beaer in all cases. ACO (1k) x GA (1k) x SA (1k) (StaIsIcal Analyses)

Results The ACO algorithm did beaer than GA in 69 out of the 72 instances. The exact same behavior occurred with SA, which outperformed ACO over the same 3 instances. ACO was s3ll substan3ally slower than GA and SA. This 3me, however, ACO performed around 9 3mes slower than both GA and SA. ACO (1k) x GA (10k) x SA (10k) (General Results)

Instances in which sta3s3cal confidence cannot be assured when comparing the quality of the solu3ons generated by ACO with GA and SA, with ACO execu3ng 1000 evalua3ons, and GA and SA execu3ng 10000 evalua3ons, when ACO performed beaer, calculated with the Wilcoxon Ranked Sum Test 90% confidence level 95% confidence level 99% confidence level GA I_50.20.5.0.120,I_50.20.20.0.80, I_50.20.20.20.80,I_50.50.20.0.120, I_50.50.20.20.120,I_200.5.20.0.120, I_200.5.20.20.80,I_200.50.20.0.80, I_500.5.5.0.120, I_500.5.20.0.80 I_50.5.5.20.120,I_50.20.5.0.120, I_50.20.20.0.80,I_50.20.20.20.80, I_50.50.20.0.120,I_50.50.20.20.120, I_200.5.20.0.120,I_200.5.20.20.80, I_200.50.20.0.80,I_500.5.5.0.120, I_500.5.20.0.80 I_50.5.5.20.80,I_50.5.5.20.120, I_50.5.20.20.80,I_50.20.5.0.120, I_50.20.5.20.120,I_50.20.20.0.80, I_50.20.20.20.80,I_50.50.5.20.120, I_50.50.20.0.120,I_50.50.20.20.120, I_200.5.20.0.120,I_200.5.20.20.80, I_200.50.20.0.80,I_500.5.5.0.80, I_500.5.5.0.120,I_500.5.20.0.80 SA I_50.5.20.20.120, I_500.5.20.0.80 I_50.5.20.20.120, I_500.5.20.0.80 I_50.5.20.20.80,I_50.5.20.20.120 Considering a confidence level of 95%, GA and SA had, respec3vely, two and three cases where they were able to produce significantly beaer solu3ons. ACO (1k) x GA (10k) x SA (10k) (StaIsIcal Analyses)

Results Even with the 3me restric3on, ACO con3nues to outperform both GA and SA, respec3vely, in 70 and 72 out of 72 cases. ACO (Restricted Time) x GA (1k) x SA (1k) (General Results)

Correla3on metrics (Pearson, Kendall and Spearman) over the results generated by ACO before and ajer the 3me restric3on. Pearson Correlation Kendall Correlation Spearman Correlation ACO (1k) vs ACO - Time GA (1k) 0.9999907 0.9929577 0.9993890 ACO (1k) vs ACO - Time SA (1k) 0.9999879 0.9866980 0.9987137 ACO lost very liale of its capacity when subjected to such 3me constraints. When performing beaer, GA could not obtain solu3ons significantly beaer than ACO (95% confidence level). Over all other cases, under the 95% level, ACO did significantly beaer 63 3mes. Considering SA, ACO significantly outperformed this algorithm all but one case. ACO (Restricted Time) x GA (1k) x SA (1k) (StaIsIcal Analyses)

Threats to Validity Ar5ficial instances Parameteriza5on of algorithms

Very lixle has been done regarding the employment of the Ant Colony OpImizaIon (ACO) framework to tackle sokware engineering problems modeled as opimizaion problems. This paper describes a novel ACO- based approach for the SoKware Release Planning problem with the presence of dependent requirement. All experimental results pointed out to the ability of the proposed ACO approach to generate precise soluions with very lixle computaional effort. CONCLUSIONS

ANNOUNCEMENT II Brazilian Workshop on Search Based Software Engineering along with XXV Brazilian Symposium on SoKware Engineering (SBES 2011) XV Brazilian Symposium on Programming Languages (SBLP 2011) XIV Brazilian Symposium on Formal Methods (SBMF 2011) V Brazilian Symposium on SoKware Components, Architectures and Reuse (SBCARS 2011) SÃO PAULO - SP, BRAZIL SEPTEMBER 26, 2011 hap://www.compose.ufpb.br/wesb2011/

That is it! Thanks for your 3me and aaen3on.