IJRIT International Journal of Research in Information Technology, Volume 2, Issue 4, April 2014, Pg: 116- 122

International Journal of Research in Information Technology (IJRIT) www.ijrit.com

ISSN 2001-5569

A Review on Search Based Software Engineering Himmat Singh1, Aman Jatain2, Hitesh Kumar Sharma3 1

ITM University, Gurgaon Gurgaon, Hrayana, India Email: [email protected] 2

ITM University, Gurgaon Gurgaon, Hrayana, India Email: [email protected] 3

University of Petroleum & Energy Studies Dehradun, Uttrakhand, India Email:[email protected]

Abstract Search-based Software Engineering (SBSE) has emerged as a promising research field. This recent discipline involves the modeling and resolution of complex software engineering problems as optimization problems, especially with the use of Metaheuristics Techniques. Due to the day by day exponential growth in the complexity of software development process, some new engineering discipline should come forward to give an optimal solution for this complex process. SBSE is gives that replacement. This paper gives a review of this new discipline (i.e. SBSE) which provides a solution for the failure of large number of developed softwares in last decade.

Keywords: SBSE, Sofware, GA, SDLC.

1. Introduction Search-based Software Engineering (SBSE) has emerged as a promising research field. This recent discipline involves the modeling and resolution of complex software engineering problems as optimization problems, especially with the use of metaheuristics . The term Search-based software engineering was coined by Mark Harman and Bryan Jones in 2001, and provided an insight into the application of the metaheuristic search techniques to solve different problems in the software engineering. Since then the researchers applied the search techniques in different phases of the software development life cycle starting from requirements engineering, project planning and cost estimation, through design, testing and to maintenance. Most of the problems in SBSE are NP-hard and hence cannot be solved efficiently by traditional optimization techniques especially for the large problem instances. Therefore, metaheuristic search techniques are used for the solution of these problems. Though, Metaheuristic search techniques do not guarantee to provide optimal solutions, yet, they can obtain near-optimal solutions in a reasonable amount of computational time. SBSE field is gaining popularity due to its ability in handing the complex and large problem instances. In order to deal with the changing requirements of the customers from time to time, often software products are developed in an iterative or incremental manner. Companies involved in developing and maintaining large complex software systems require to determine the requirements of the customers to be included into its next release. This problem has been formulated as Next Release Problem (NRP) by Bagnall et al. and is widely referenced by researchers in the field of search-based software engineering. The problem is defined as to Himmat Singh, IJRIT

116

IJRIT International Journal of Research in Information Technology, Volume 2, Issue 4, April 2014, Pg: 116- 122

identify a set of requirements to be included into the next release of the software product, by satisfying the demands of the customers to the maximum extent, and at the same time ensuring the minimum utilization of the resources as far as possible. The goal of NRP is to balance customer satisfaction, resource constraints and requirement dependencies. In his paper he applied various techniques including Greedy algorithms and simulated annealing on a set of five randomly generated data sets with increasing dimensionality of the problem. Greer and Ruhe proposed a Genetic algorithm based approach for software release planning in an incremental manner. In their paper they presented a new method called EVOLVE for software releasing planning. Given a set of requirements with their effort estimations and the grouping of these requirements into priorities by the customers, the method uses a Genetic Algorithm to derive potential release plans with in the specified technical constraints. They studied the applicability of the approach on a sample software project. To model a more realistic and real life application, the NRP has been formulated by Zhang et al. as Multi-Objective Next Release Problem (MONRP). As the objectives in real applications are contradictory in nature, in his work he formulated the problem as multi-objective and defined it as the selection of candidate requirements for their implementation in the next release of the software product, by minimizing the cost of implementing the requirements in terms of money, resources, time etc. and at the same time maximizing the customer satisfaction by including these requirements. Later Durillo.J. et al. studied MONRP by applying NSGA-II, Pareto GA, Single-objective GA and Random Search on a set of six randomly generated data sets and experimented with the scaling and boundary issues of the MONRP. Many researchers studied the MONRP from different perspectives. Anthony Finkelstein et al. introduced the concept of fairness in requirements optimization using a new formulation of MONRP by setting up three fairness models to balance the requirements fulfillments among different customers. They applied NSGA-II, The Two-Archive algorithm and random search on two real world data sets and reported the results. Sensitivity analysis in Requirement Engineering is studied by Mark Harman et al. to identify requirements that are sensitive to inaccurate cost estimations. After performing an empirical study on synthetic and real world data set, they confirmed the assumption through statistical analysis that, more expensive requirements and higher level of inaccuracies tend to have greater impact on NRP. The problem of balancing the requirements of today with those of future, coined as Today/Future Importance analysis (T/FIA) was addressed by Zhang et al.. They considered the problem of finding a suitable set of requirements that balances the needs of today against the needs for future. In their work three objective functions are defined - to maximize the customer satisfaction for today, for the future and to minimize the implementation cost. They reported the results with this formulation on synthetic as well real world data set.The problem of MONRP is also solved using the recent trends in evolutionary algorithms like quantum computing. Charan Kumari et al. proposed a Quantum-inspired Elitist Multi-objective Evolutionary Algorithm (QEMEA) and Multi-objective Quantum-inspired Hybrid Differential Evolution (MQHDE) for the solution of MONRP and studied its performance on six benchmark problems derived from the literature and found the results to be consistent and superior to the results reported in the literature. The basic model of MONRP is considered in this work due to its wide applicability in all software companies and manufacturing companies. As the solution of MONRP problem is a supportive aid for the software engineers in decision making during requirements engineering phase, the data pertaining to a banking sector application project of an International software development company is collected and studied as a case study.

2. Search Based Optimization Techniques This section provides an overview of optimization techniques, focusing on those that have been most widely applied on software engineering. Space constraints only permit an overview. For more detail, the reader is referred to the recent survey of search methodologies edited by Burke and Kendall . The section starts with classical techniques, distinguishing these from metaheuristic search. Hitherto, classical techniques have been little used as optimization techniques for software engineering problems; authors have preferred to use more sophisticated metaheuristic search techniques. However, there has been some work using classical techniques. Bagnall et al. applied a branch and bound approach to a formulation of the next release problem, while Barreto et al. apply it to project staffing constraint satisfaction problems. Cortellessa et al. use classical optimization techniques to address decision making problems in component sourcing, optimizing properties such as quality and reliability.

2.2. Metaheuristic Search Algorithms This section provides a brief overview of two metaheuristic search techniques that have been most widely applied to problems in software engineering: hill climbing and genetic algorithms.

Himmat Singh, IJRIT

117

IJRIT International Journal of Research in Information Technology, Volume 2, Issue 4, April 2014, Pg: 116- 122

2.2.1. Hill Climbing Algorithm Hill Climbing is a mathematical optimization technique which belongs to the family of local search. It is an iterative algorithm that starts with an arbitrary solution to a problem, then attempts to find a better solution by incrementally changing a single element of the solution. If the change produces a better solution, an incremental change is made to the new solution, repeating until no further improvements can be found. For example, hill climbing can be applied to the travelling salesman problem. It is easy to find an initial solution that visits all the cities but will be very poor compared to the optimal solution. The algorithm starts with such a solution and makes small improvements to it, such as switching the order in which two cities are visited. Eventually, a much shorter route is likely to be obtained. Hill climbing is good for finding a local optimum (a solution that cannot be improved by considering a neighbouring configuration) but it is not guaranteed to find the best possible solution (the global optimum) out of all possible solutions (the search space). The characteristic that only local optima are guaranteed can be cured by using restarts (repeated local search), or more complex schemes based on iterations, like iterated local search, on memory, like reactive search optimization and tabu search, or memory-less stochastic modifications, like simulated annealing. The relative simplicity of the algorithm makes it a popular first choice amongst optimizing algorithms. It is used widely in artificial intelligence, for reaching a goal state from a starting node. Choice of next node and starting node can be varied to give a list of related algorithms. Although more advanced algorithms such as simulated annealing or tabu search may give better results, in some situations hill climbing works just as well. Hill climbing can often produce a better result than other algorithms when the amount of time available to perform a search is limited, such as with real-time systems. It is an anytime algorithm: it can return a valid solution even if it's interrupted at any time before it ends. 2.2.1.1. Mathematical description Hill climbing attempts to maximize (or minimize) a target function , where and/or discrete values. At each iteration, hill climbing will adjust a single element in

is a vector of continuous and determine whether the

. (Note that this differs from gradient descent methods, which adjust all of the change improves the value of values in at each iteration according to the gradient of the hill.) With hill climbing, any change that improves is accepted, and the process continues until no change can be found to improve the value of . is then said to be "locally optimal". In discrete vector spaces, each possible value for may be visualized as a vertex in a graph. Hill climbing will follow the graph from vertex to vertex, always locally increasing (or decreasing) the value of

, until a local maximum (or local minimum)

is reached.

Hill Climbing Algorithm currentNode = startNode; loop do L = NEIGHBORS(currentNode); nextEval = -INF; nextNode = NULL; for all x in L if (EVAL(x) > nextEval) Himmat Singh, IJRIT

118

IJRIT International Journal of Research in Information Technology, Volume 2, Issue 4, April 2014, Pg: 116- 122

nextNode = x; nextEval = EVAL(x); if nextEval <= EVAL(currentNode) //Return current node since no better neighbors exist return currentNode; currentNode = nextNode;

2.2.2. Genetic Algorithms Genetic algorithms use concepts of population and of recombination. Of all optimization algorithms, genetic algorithms have been the most widely applied search technique in SBSE, though this has largely been for historical reasons, rather than as a result of any strong theoretical indications that these approaches are in some way superior. An iterative process is executed, initialized by a randomly chosen population. The iterations are called generations and the members of the population are called chromosomes, because of their analogs in natural evolution. The process terminates when a population satisfies some pre-determined condition (or a certain number of generations have been exceeded). On each generation, some members of the population are recombined, crossing over elements of their chromosomes. A fraction of the offspring of this union are mutated and, from the offspring and the original population a selection process is used to determine the new population. Crucially, recombination and selection are guided by the fitness function; fitter chromosomes having a greater chance to be selected and recombined. There are many variations on this overall process, but the crucial ingredients are the way in which the fitness guides the search, the recombinatory and the population based nature of the process. There is an alternative form of evolutionary computation, known as evolution strategies, developed independently of work on Genetic Algorithms. However, evolution strategies have not been applied often in work on SBSE. An exception is the work of Alba and Chicano, who show that evolution strategies may outperform genetic algorithms for some test data generation problems. Set generation number, m:= 0 Choose the initial population of candidate solutions, P(0) Evaluate the fitness for each individual of P(0), F(Pi(0)) loop Recombine: P(m) := R(P(m)) Mutate : P(m) := M(P(m)) Evaluate: F(P(m)) Select: P(m+ 1) := S(P(m)) m := m + 1 exit when goal or stopping condition is satisfied end loop; There is also a variation of genetic algorithms, called genetic programming, in which the chromosome is not a list, but a tree. The tree is the abstract syntax tree of a simple program that is evolved using a similar genetic model to that employed by a genetic algorithm. Genetic programs are typically imperfect programs that are, nonetheless, sufficiently good for purpose. Fitness is usually measured using a testing-based approach that seeks to find a program best adapted to its specification (expressed as a set of input/output pairs). Genetic programming has been used in SBSE to form formulæ that capture predictive models of software projects and in testing.

3. Application of Optimization Techniques to Software Engineering There are only two key ingredients for the application of search-based optimization to software engineering problems: 1. The choice of the representation of the problem. 2. The definition of the fitness function. This simplicity and ready applicability has led to a dramatic increase in research in this area. With these two simple ingredients, it is possible to apply search techniques to a novel area of software engineering and to obtain interesting and potentially important results with relative ease. Typically, a software engineer will have a suitable representation for their problem, so the first of the pre-requisites is easily satisfied. Furthermore, many problems in software engineering have a rich and varied set of software metrics associated with them that naturally form good initial Himmat Singh, IJRIT

119

IJRIT International Journal of Research in Information Technology, Volume 2, Issue 4, April 2014, Pg: 116- 122

candidates for fitness functions. With these two ingredients it becomes possible to implement search algorithms. The results from the search algorithms can be compared, using random search to provide as baseline data. Naturally, the aim is to beat a random search, though in some areas, such as testing, even a purely random search has been found to be not without value, even beating human-directed search in some cases. This is the current state of the art in search based software engineering. New areas are regularly being addressed, formulated as search problems, and attacked using a combination of search algorithms, compared to random search as a form of ‘sanity check’. This research activity is important; it widens the scope of application of these techniques to cover ever larger areas of software engineering activity. However, in order that the field does not become merely broad, but flat, some research effort needs to be directed towards theory, generalisation and characterisation to augment this breadth with depth.

4. Motivation for Metaheuristic Search Precise optimization algorithms such as linear programming, are straightforward deterministic algorithms. However, these deterministic optimization algorithms are often inapplicable in real world software engineering problems, because the problems have objectives that cannot be characterised by a set of linear equations. Often there are multiple criteria and complex fitness functions. Many of the optimization problems that arise from software engineering practice are augmented versions of known NP complete problems and, as such, they are suited to the application of metaheuristic search techniques. This acknowledgment brings with it all of issues that are associated with the application of metaheuristic search techniques: 1. Global Optimum. There is no guarantee that the global optimum will be found. 2. Predictability. Each execution will potentially yield different results. 3. Computational Expense. A large number of individual candidate solutions may need to be considered before an acceptable quality solution is found. Faced with these problems, it is natural to wonder how software engineering could ever profit from this application of such ‘expensive and unpredictable’ algorithms. However, as the previous section showed, there is a large community of researchers that has achieved successful results \using SBSE. This section attempts to explain how this can be possible; how the three apparent daemons can be tamed. 1. Global Optimum. In many applications, there is a threshold, above which a solution will be ‘good enough’ for purpose. Furthermore, optimization may not seek to find an optimal solution to a problem, but rather, it may seek to improve upon the current situation. For example, in generating test data, the goal is to cover more of the uncovered paths; in re-modularization, the goal is to improve cohesion and coupling; in cost estimation the goal is to find models better able to predict cost and effort. In all these applications, a perfect solution, though desirable, is not essential for progress. 2. Predictability. It is true that each execution of a metaheuristic search algorithm can yield different results, but all search algorithms are formulated in such a way that repeated executions can only improve on a ‘best so far’ result, rather then overturning a previous result. In this way the algorithms are not merely anytime algorithms they are also ‘any execution’. The algorithms may be terminated at anytime and also after any number of executions to yield a results which are the ‘best so far’. 3. Computational Expense. Hitherto, search based optimization techniques have not been applied, on-line, to realtime software engineering problems. The kinds of problems to which search techniques seem to be readily applicable, are those where the solution is highly complex and where the software engineer is prepared to wait for an answer. While speedy answers may be attractive, they are not essential in many applications of SBSE. For example, in test data generation, the tester is prepared to wait for a set of test cases that achieve branch coverage; they can be otherwise occupied while the search algorithm seeks to find such a set. In any case, it may take a trained human several days of painstaking and potentially error-prone activity to produce such a set. The search

Himmat Singh, IJRIT

120

IJRIT International Journal of Research in Information Technology, Volume 2, Issue 4, April 2014, Pg: 116- 122

based approach can typically achieve better results at lower cost, freeing the human to work on testing problems that require more imagination and creativity.

5. Summary This paper has provided an overview of the area of software engineering activity that has come to be known as Search Based Software Engineering (SBSE). In SBSE the goal is to use search based optimization algorithms to automate the construction of solutions to software engineering problems. SBSE also aims to better understand these problems by exploration of software engineering fitness functions and search spaces that they denote. The first papers that applied search based optimization to software engineering problems can be traced back to the early 1990s. However, the past five years have witnessed a particularly dramatic increase in SBSE activity, with many new applications being addressed. This paper seeks to provide a brief review of these application areas and the main results achieved so far. The paper also provides a set of topics for future research in SBSE and a description of some of the benefits that may accrue from its wider application.

6. References 1. 2.

3.

4. 5. 6.

A.

A.

7.

Mark Harman The Current State and Future of Search Based Software Engineering. Future of Software Engineering CSI, 2007. E. Alba and J. F. Chicano. Observations in using parallel and sequential evolutionary algorithms for automatic software testing. Computers and Operations Research (COR) focused issue on Search Based Software Engineeering. to appear. G. Antoniol, M. Di Penta, and M. Harman. A robust search– based approach to project management in the presence of abandonment, rework, error and uncertainty. In 10th International Software Metrics Symposium (METRICS 2004), pages 172–183, Los Alamitos, California, USA, Sept. 2004. IEEE Computer Society Press. A. Charan Kumari, K Srinivas. Search-based Software Requirements Selection: A Case Study, International Journal of Computer Application, 2013 . J. Aguilar-Ruiz, I. Ramos, J. C. Riquelme, and M. Toro. An evolutionary approach to estimating software development projects. Information and Software Technology, 43(14):875–882, Dec. 2001. G. Antoniol, M. D. Penta, and M. Harman. Search-based techniques applied to optimization of project planning for a massive maintenance project. In 21st IEEE International Conference on Software Maintenance, pages 240–249, Los Alamitos, California, USA, 2005. IEEE Computer Society Press. A. Bagnall, V. Rayward-Smith, and I. Whittley. The next release problem. Information and Software Technology, 43(14):883–890, Dec. 2001. Baresel, D. W. Binkley, M. Harman, and B. Korel. Evolutionary testing in the presence of loop–assigned flags: A testability transformation approach. In International Symposium on Software Testing and Analysis (ISSTA 2004), pages 108–118, Omni Parker House Hotel, Boston, Massachusetts, July 2004. Appears in Software Engineering Notes, Volume 29, Number 4. Baresel, H. Sthamer, and M. Schmidt. Fitness function design to improve evolutionary structural testing. In GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, pages 1329–1336, San FranMark Harman, Bryan F.Jones. 2001. “Search-based software engineering”, Information and software Technology, 833839. A.

Bagnall, V. Rayward-Smith, and I.Whittley. 2001. “The next release problem”, Information and software technology, 883-890.

8.

J. Aguilar-Ruiz, I. Ramos, J. C. Riquelme, and M. Toro. 2001. “An evolutionary approach to estimating software development projects”, Information and Software Technology, 875–882.

9.

R. Lutz. 2001. “Evolving good hierarchical decompositions of complex systems”, Journal of Systems Architecture, 613–634.

Himmat Singh, IJRIT

121

IJRIT International Journal of Research in Information Technology, Volume 2, Issue 4, April 2014, Pg: 116- 122

10. P. McMinn, M. Harman, D. Binkley, and P. Tonella. 2006. “The species per path approach to search-based test data generation”, International Symposium on Software Testing and Analysis, 13–24. 11. R M Hierons, Z Li, M Harman. 2008. “Search Algorithms for Regression Test Case Prioritization”, IEEE Transactions on Software Engineering, 225-237. 12. M. O’Keeffe and M. O’Cinneide. 2006. “Search-based software maintenance”, Conference on Software Maintenance and Reengineering ,249–260. 13. D.Greer and G.Ruhe. 2004. “Software release planning : an evolutionary and iterative approach”, Information & Software Technology, 243-253. 14. Zhang . Y, M. Harman, and A. S. Mansouri, 2007. “The Multi-Objective Next Release Problem”, GECCO: proceedings of the 9th annual conference on genetic and evolutionary computation, 1129–1136. 15. Durillo, J., J., Y. Zhang, E. Alba, A. J. Nebro, 2009. “A study of the multi-objective next release problem”, SBSE: proceedings of the 2009 1st international symposium on search based software engineering, 49–58. 16. Finkelstein A, Harman M, Mansouri SA, Ren J, Zhang Y. 2009. “A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making”, Requirement Eng , 231–245. 17. M. Harman, J. Krinke, J. Ren, and S. Yoo. 2009. “Search Based Data Sensitivity Analysis Applied to Requirement Engineering”, Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation, 1681–1688. 18. Yuanyuan Zhang, Enrique Alba, Juan J. Durillo, Sigrid Eldh and Mark Harman. 2010 .“Today/Future importance analysis”. Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation. 19. A.Charan Kumari, K.Srinivas and M.P.Gupta. 2012. “Software Requirements Selection using Quantum-inspired Elitist Multi-objective Evolutionary Algorithm”. Proceedings of the IEEE-International Conference on Advances in Engineering, Science and Management, 782-787. A.

Charan Kumari, K. Srinivas and M. P. Gupta, “Software Requirements Optimization Using Multi-Objective Quantum-Inspired Hybrid Differential Evolution”, EVOLVE – A Bridge between Probability, Set Oriented Numerics, and Evolutionary Computation II Advances in Intelligent Systems and Computing, 107-120.

20. K. Price and R. Storn, 1995. “Differential Evolution – a simple and efficient adaptive scheme for global optimization over continuous spaces”, Technical Report, International Computer Science Institute, Berkley. [17]. Han, K. H. and J. H. Kim, 2002. “Quantum-inspired Evolutionary Algorithm for a Class of Combinatorial Optimization”, IEEE Transactions on Evolutionary Computation, 580-593. 21. Deb, K., A. Pratap, S. Agarwal, and T. Meyarivan., 2002. “A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II”, IEEE Transactions on Evolutionary Computation, 182-197. 22. Su, H. and Yang, Y. 2008. “Quantum-inspired differential evolution for binary optimization”, The 4-th international conference on natural computation, 341–346. 23. Deb, K.. 2001. “Multi-Objective Optimization using Evolutionary Algorithms”. Wiley Chichester, UK.

Himmat Singh, IJRIT

122

A Review on Search Based Software Engineering - IJRIT

Search-based Software Engineering (SBSE) has emerged as a promising research field. This recent discipline involves the modeling and resolution of complex software engineering problems as optimization problems, especially with the use of. Metaheuristics Techniques. Due to the day by day exponential growth in the ...

312KB Sizes 1 Downloads 277 Views

Recommend Documents

A Review on Search Based Software Engineering - International ...
and Bryan Jones in 2001, and provided an insight into the application of the metaheuristic search techniques to solve different ... estimation, through design, testing and to maintenance. Most of the .... There are only two key ingredients for the ap

Prediction of Software Defects Based on Artificial Neural ... - IJRIT
IJRIT International Journal of Research in Information Technology, Volume 2, Issue .... Software quality is the degree to which software possesses attributes like ...

Prediction of Software Defects Based on Artificial Neural ... - IJRIT
studied the neural network based software defect prediction model. ... Neural Networks models have significant advantage over analytical models because they ...

A Lane Departure eparture eparture Identification based on ... - IJRIT
Self-clustering algorithm, fuzzy C-mean and fuzzy rules were used to ..... linear regression, Computer Vision and Image Understanding 99 (2005) 359–383.

A Review on Wireless Inductive Power for A Review on ... - IJRIT
Wireless power provides convenience of charging mobile phones and devices. ... Since data communication has become wireless, users expect similar use ...

A Review on Wireless Inductive Power for A Review on ... - IJRIT
To discuss the wireless inductive power system, a closer look at the system is .... winding width w the inductance for a ring coil inductor may vary slightly.

A Review on Digital Multiband Orthogonal Digital Multiband ... - IJRIT
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 1, ... In Wireless communication systems, the high data transmission rate is ...

A Review on Neural Network for Offline Signature Recognition ... - IJRIT
Based on Fusion of Grid and Global Features Using Neural Networks. ... original signatures using the identity and four Gabor transforms, the second step is to ...

A Review on Digital Multiband Orthogonal Digital Multiband ... - IJRIT
IJRIT International Journal of Research in Information Technology, Volume 2, Issue .... the applications like pipelined ofdm, pulsed ofdm, wired or wireless use of ...

A Study on Dominance-Based Local Search ...
view of dominance-based multiobjective local search algorithms is pro- posed. .... tor, i.e. a job at position i is inserted at position j \= i, and the jobs located.

A New Approach to Intranet Search Based on ...
INTRODUCTION. Internet search has made significant progress in recent years. ... between internet search and intranet search. ..... US-WAT MSR San Francisco.

a multimodal search engine based on rich unified ... - Semantic Scholar
Apr 16, 2012 - Copyright is held by the International World Wide Web Conference Com- ..... [1] Apple iPhone 4S – Ask Siri to help you get things done. Avail. at.

A Study on Dominance-Based Local Search ...
of moves to be applied is generally defined by a user-given parameter. .... tion of an open-source software framework for dominance-based multiobjective.

a multimodal search engine based on rich unified ... - Semantic Scholar
Apr 16, 2012 - Google's Voice Actions [2] for Android, and through Voice. Search [3] for .... mented with the objective of sharing one common code base.

MCGP: A Software Synthesis Tool Based on Model ... - Semantic Scholar
whether) a candidate solution program satisfies a property. The main ... software, a natural challenge is to generate automatically correct-by-design pro- grams.

MCGP: A Software Synthesis Tool Based on Model ... - Semantic Scholar
Department of Computer Science, Bar Ilan University. Ramat Gan 52900 .... by following the best generated programs, and by navigating through the chain.

MCGP: A Software Synthesis Tool Based on Model ...
candidate program from a correct solution. The tool allows the user to control various parameters, such as the syntactic building blocks, the structure of the programs, and the fitness function, and to follow their effect on the convergence of the sy

Implementation of SQL Server Based on SQLite ... - IJRIT
solution can be used independent of the platform that is used to develop mobile applications. It can be a native app(. iOS, Android), a mobile web app( HTML5, ...

A Survey on Inferring User Search Goals A ... - IJRIT
growth of the Internet, it has become more and more difficult to find information. ..... c) They proposed a new criterion CAP to evaluate the performance of user ...

A Survey on Inferring User Search Goals A ... - IJRIT
N.D.Kale2. 1M.E Student, Department of Computer Engineering, University of Pune, TSSM'S, PVPIT, Bavdhan .... taken to the home page of the institution or organization in question. .... cluster labels using past query words entered by users.