Repository of Publications on Search Based Software EngineeringThis page is maintained by Yuanyuan Zhang, CREST, Department of Computer Science, King's College, London, UK.
Email: yuanyuan.zhang [AT] kcl.ac.uk
The SBSE authors' information can be found in Who's Who.
Click on any column header to sort
Support for global search, search per column, selection per year, reference type and application.
| Time Stamp | Author | Title | Year | Journal / Proceedings / Book | BibTeX Type | Application |
|---|---|---|---|---|---|---|
| 2010.02.24 | Cagatay Catal & Banu Diri | Investigating the effect of dataset size, metrics sets, and feature selection techniques on software fault prediction problem | 2009 | Information Sciences, Vol. 179(8), pp. 1040-1058 | Article | Management |
| Abstract: Software quality engineering comprises of several quality assurance activities such as testing, formal verification, inspection, fault tolerance, and software fault prediction. Until now, many researchers developed and validated several fault prediction models by using machine learning and statistical techniques. There have been used different kinds of software metrics and diverse feature reduction techniques in order to improve the models' performance. However, these studies did not investigate the effect of dataset size, metrics set, and feature selection techniques for software fault prediction. This study is focused on the high-performance fault predictors based on machine learning such as Random Forests and the algorithms based on a new computational intelligence approach called Artificial Immune Systems. We used public NASA datasets from the PROMISE repository to make our predictive models repeatable, refutable, and verifiable. The research questions were based on the effects of dataset size, metrics set, and feature selection techniques. In order to answer these questions, there were defined seven test groups. Additionally, nine classifiers were examined for each of the five public NASA datasets. According to this study, Random Forests provides the best prediction performance for large datasets and Naive Bayes is the best prediction algorithm for small datasets in terms of the Area Under Receiver Operating Characteristics Curve (AUC) evaluation parameter. The parallel implementation of Artificial Immune Recognition Systems (AIRS2Parallel) algorithm is the best Artificial Immune Systems paradigm-based algorithm when the method-level metrics are used. | ||||||
BibTeX:
@article{CatalD09,
author = {Cagatay Catal and Banu Diri},
title = {Investigating the effect of dataset size, metrics sets, and feature selection techniques on software fault prediction problem},
journal = {Information Sciences},
year = {2009},
volume = {179},
number = {8},
pages = {1040-1058},
url = {http://www.sciencedirect.com/science/article/B6V0C-4V59W0J-1/2/f36c88158cc1733b6565a53baabec6ca},
doi = {DOI: 10.1016/j.ins.2008.12.001}
}
|
||||||
| 2010.02.24 | Emad A. El-Sebakhy | Software reliability identification using functional networks: A comparative study | 2009 | Expert Systems with Applications, Vol. 36(2, Part 2), pp. 4013 - 4020 | Article | Software/Program Verification |
| Abstract: Software engineering development has gradually become essential element in different aspects of the daily life and an important factor in numerous critical real-industry applications, such as, nuclear plants, medical monitoring control, real-time military, bioinformatics, oil and gas industry, and air traffic control. This paper proposes a functional network as a novel computational intelligence scheme for tracking and predicting the software reliability. Several applications are presented to illustrate this new intelligent system framework models. To demonstrate the usefulness of functional networks and the existing data mining schemes, we briefly describe the learning algorithm of functional networks associativity model in predicting the software reliability. Comparative studies will be carried out to compare the performance of functional networks with the most popular existing data mining techniques, such as, statistical regression multilayer feed forward neural networks, and support vector machines. The results show that the performance of functional networks is more reliable, stable, accurate, and outperforms other techniques. | ||||||
BibTeX:
@article{ElSebakhy09,
author = {Emad A. El-Sebakhy},
title = {Software reliability identification using functional networks: A comparative study},
journal = {Expert Systems with Applications},
year = {2009},
volume = {36},
number = {2, Part 2},
pages = {4013 - 4020},
url = {http://www.sciencedirect.com/science/article/B6V03-4S08JTH-3/2/d885ad1d577877efaaa67352cfa22ba5},
doi = {DOI: 10.1016/j.eswa.2008.02.053}
}
|
||||||
| 2010.02.24 | Michael Kuperberg & Fouad Omri | Using Heuristics to Automate Parameter Generation for Benchmarking of Java Methods | 2009 | Electronic Notes in Theoretical Computer Science, Vol. 253(1), pp. 57-75 | Article | |
| Abstract: Automated generation of method parameters is needed in benchmarking scenarios where manual or random generation of parameters are not suitable, do not scale or are too costly. However, for a method to execute correctly, the generated input parameters must not violate implicit semantical constraints, such as ranges of numeric parameters or the maximum length of a collection. For most methods, such constraints have no formal documentation, and human-readable documentation of them is usually incomplete and ambiguous. Random search of appropriate parameter values is possible but extremely ineffective and does not pay respect to such implicit constraints. Also, the role of polymorphism and of the method invocation targets is often not taken into account. Most existing approaches that claim automation focus on a single method and ignore the structure of the surrounding APIs where those exist. In this paper, we present HeuriGenJ, a novel heuristics-based approach for automatically finding legal and appropriate method input parameters and invocation targets, by approximating the implicit constraints imposed on them. Our approach is designed to support systematic benchmarking of API methods written in the Java language. We evaluate the presented approach by applying it to two frequently-used packages of the Java platform API, and demonstrating its coverage and effectiveness. | ||||||
BibTeX:
@article{KuperbergO09,
author = {Michael Kuperberg and Fouad Omri},
title = {Using Heuristics to Automate Parameter Generation for Benchmarking of Java Methods},
journal = {Electronic Notes in Theoretical Computer Science},
year = {2009},
volume = {253},
number = {1},
pages = {57-75},
url = {http://www.sciencedirect.com/science/article/B75H1-4X9W38T-5/2/b641acfa74041fd67e94bd041b447867},
doi = {DOI: 10.1016/j.entcs.2009.09.028}
}
|
||||||
| 2010.02.24 | Y.F. Li, M. Xie & T.N. Goh | A study of mutual information based feature selection for case based reasoning in software cost estimation | 2009 | Expert Systems with Applications, Vol. 36(3, Part 2), pp. 5921-5931 | Article | Management |
| Abstract: Software cost estimation is one of the most crucial activities in software development process. In the past decades, many methods have been proposed for cost estimation. Case based reasoning (CBR) is one of these techniques. Feature selection is an important preprocessing stage of case based reasoning. Most existing feature selection methods of case based reasoning are [`]wrappers' which can usually yield high fitting accuracy at the cost of high computational complexity and low explanation of the selected features. In our study, the mutual information based feature selection (MICBR) is proposed. This approach hybrids both [`]wrapper' and [`]filter' mechanism which is another kind of feature selector with much lower complexity than wrappers, and the features selected by filters are likely to be generalized to other conditions. The MICBR is then compared with popular feature selectors and the published works. The results show that the MICBR is an effective feature selector for case based reasoning by overcoming some of the limitations and computational complexities of other feature selection techniques in the field. | ||||||
BibTeX:
@article{LiXG09,
author = {Y.F. Li and M. Xie and T.N. Goh},
title = {A study of mutual information based feature selection for case based reasoning in software cost estimation},
journal = {Expert Systems with Applications},
year = {2009},
volume = {36},
number = {3, Part 2},
pages = {5921-5931},
url = {http://www.sciencedirect.com/science/article/B6V03-4T2DKTJ-1/2/d53ec83a06aef8d62fcfcee7d6112f7e},
doi = {http://dx.doi.org/10.1016/j.eswa.2008.07.062}
}
|
||||||
| 2010.02.24 | Cuauhtemoc Lopez-Martin | A fuzzy logic model for predicting the development effort of short scale programs based upon two independent variables | 2010 | Applied Soft Computing, Vol. In Press, Corrected Proof, pp. - | Article | Management |
| Abstract: Fuzzy models have been recently used for estimating the development effort of software projects and this practice could start with short scale programs. In this paper, new and changed (N&C) as well as reused code were gathered from small programs developed by 74 programmers using practices of the Personal Software Process; these data were used as input for a fuzzy model for estimating the development effort. Accuracy of this fuzzy model was compared with the accuracy of a statistical regression model. Two samples of 163 and 68 programs were used for verifying and validating respectively the models; the comparison criterion was the Mean Magnitude of Error Relative to the estimate (MMER). In verification and validation stages, fuzzy model kept a MMER lower or equal than that regression model and an accuracies comparison of the models based on ANOVA, did not show a statistically significant difference amongst their means. This result suggests that fuzzy logic could be used for predicting the effort of small programs based upon these two kinds of lines of code. | ||||||
BibTeX:
@article{LopezMartin10,
author = {Cuauhtemoc Lopez-Martin},
title = {A fuzzy logic model for predicting the development effort of short scale programs based upon two independent variables},
journal = {Applied Soft Computing},
year = {2010},
volume = {In Press, Corrected Proof},
pages = { - },
url = {http://www.sciencedirect.com/science/article/B6W86-4Y34V2F-2/2/cd6bc046520cac35998f0a6e516a214e},
doi = {DOI: 10.1016/j.asoc.2009.12.034}
}
|
||||||
| 2010.01.12 | Stefan Wappler, Joachim Wegener & André Baresel | Evolutionary testing of software with function-assigned flags | 2009 | Journal of Systems and Software, Vol. 82(11), pp. 1767-1779 | Article | Testing and Debugging |
| Abstract: Evolutionary structural testing, an approach to automatically generate relevant unit test data, encounters difficulties when the software being tested contains boolean variables. This issue, known as the flag problem, has been studied by many researchers. However, previous work does not address the issue of function-assigned flags which constitutes a special type of flag problem that often occurs in the context of object-orientation. This paper elaborates on a new approach to the flag problem that can also handle function-assigned flags while being applicable to the conventional flag problem, as well. It relies on a code transformation that leads to an improved fitness landscape which provides better guidance to the evolutionary search. We present seven case studies including a fitness landscape analysis and experimental results. The results show that the suggested code transformation improves evolutionary structural testing in the presence of function-assigned flags. | ||||||
BibTeX:
@article{WapplerWB09,
author = {Stefan Wappler and Joachim Wegener and André Baresel},
title = {Evolutionary testing of software with function-assigned flags},
journal = {Journal of Systems and Software},
year = {2009},
volume = {82},
number = {11},
pages = {1767-1779},
url = {http://www.sciencedirect.com/science/article/B6V0N-4WM74XJ-3/2/7a645e90daadd58bb644e5cbb1c1895d},
doi = {DOI: 10.1016/j.jss.2009.06.037}
}
|
||||||
| 2010.01.12 | Hong Zhu & Fevzi Belli | Advancing test automation technology to meet the challenges of model-based software testing - Guest editors' introduction to the special section of the Third IEEE International Workshop on Automation of Software Test (AST 2008) | 2009 | Information and Software Technology, Vol. 51(11), pp. 1485-1486 | Article | Testing and Debugging |
BibTeX:
@article{ZhuB09,
author = {Hong Zhu and Fevzi Belli},
title = {Advancing test automation technology to meet the challenges of model-based software testing - Guest editors' introduction to the special section of the Third IEEE International Workshop on Automation of Software Test (AST 2008)},
journal = {Information and Software Technology},
year = {2009},
volume = {51},
number = {11},
pages = {1485-1486},
url = {http://www.sciencedirect.com/science/article/B6V0B-4WPJ60X-2/2/b55900c8c8e9b3508ed0d126a7a06ea1},
doi = {DOI: 10.1016/j.infsof.2009.06.012}
}
|
||||||
| 2009.12.18 | Andrew F. Tappenden & James Miller | A Novel Evolutionary Approach for Adaptive Random Testing | 2009 | IEEE Transactions On Reliability, Vol. 58(4), pp. 619-633, December | Article | Testing and Debugging |
| Abstract: Random testing is a low cost strategy that can be applied to a wide range of testing problems. While the cost and straightforward application of random testing are appealing, these benefits must be evaluated against the reduced effectiveness due to the generality of the approach. Recently, a number of novel techniques, coined Adaptive Random Testing, have sought to increase the effectiveness of random testing by attempting to maximize the testing coverage of the input domain. This paper presents the novel application of an evolutionary search algorithm to this problem. The results of an extensive simulation study are presented in which the evolutionary approach is compared against the Fixed Size Candidate Set (FSCS), Restricted Random Testing (RRT), quasi-random testing using the Sobol sequence (Sobol), and random testing (RT) methods. The evolutionary approach was found to be superior to FSCS, RRT, Sobol, and RT amongst block patterns, the arena in which FSCS, and RRT have demonstrated the most appreciable gains in testing effectiveness. The results among fault patterns with increased complexity were shown to be similar to those of FSCS, and RRT; and showed a modest improvement over Sobol, and RT. A comparison of the asymptotic and empirical runtimes of the evolutionary search algorithm, and the other testing approaches, was also considered, providing further evidence that the application of an evolutionary search algorithm is feasible, and within the same order of time complexity as the other adaptive random testing approaches. | ||||||
BibTeX:
@article{TappendenM09,
author = {Andrew F. Tappenden and James Miller},
title = {A Novel Evolutionary Approach for Adaptive Random Testing},
journal = {IEEE Transactions On Reliability},
year = {2009},
volume = {58},
number = {4},
pages = {619-633},
month = {December},
doi = {http://dx.doi.org/10.1109/TR.2009.2034288}
}
|
||||||
| 2009.12.09 | Kobi Inkumsah & Tao Xie | Evacon: A Framework for Integrating Evolutionary and Concolic Testing for Object-Oriented Programs | 2007 | Proceedings of 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE '07), pp. 425-428, November | Inproceedings | Testing and Debugging |
| Abstract: Achieving high structural coverage such as branch coverage in object oriented programs is an important and yet challenging goal due to two main challenges. First, some branches involve complex program logics and generating tests to cover them requires deep knowledge of the program structure and semantics. Second, covering some branches requires special method sequences to lead the receiver object or non-primitive arguments to specific desirable states. Previous work has developed the concolic testing technique (a combination of concrete and symbolic testing techniques) and the evolutionary testing technique to address these two challenges, respectively. However, neither technique was designed to address both challenges at the same time. To address the respective weaknesses of these two previous techniques, we propose a novel framework called Evacon that integrates evolutionary testing (used to search for desirable method sequences) and concolic testing (used to generate desirable method arguments). We have implemented our framework and applied it on six classes taken from the Java standard library and basic data structures. The experimental results show that the tests generated using our framework can achieve higher branch coverage than evolutionary testing or concolic testing alone. | ||||||
BibTeX:
@inproceedings{InkumsahX07,
author = {Kobi Inkumsah and Tao Xie},
title = {Evacon: A Framework for Integrating Evolutionary and Concolic Testing for Object-Oriented Programs},
booktitle = {Proceedings of 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE '07)},
publisher = {ACM},
year = {2007},
pages = {425-428},
month = {November},
url = {http://www.csc.ncsu.edu/faculty/xie/publications/ase07-evacon.pdf},
doi = {http://dx.doi.org/10.1145/1321631.1321700}
}
|
||||||
| 2009.12.09 | Kobi Inkumsah & Tao Xie | Improving Structural Testing of Object-Oriented Programs via Integrating Evolutionary Testing and Symbolic Execution | 2008 | Proceedings of 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE '08), pp. 297-306, September | Inproceedings | Testing and Debugging |
| Abstract: Achieving high structural coverage such as branch coverage in object-oriented programs is an important and yet challenging goal due to two main challenges. First, some branches involve complex program logics and generating tests to cover them requires deep knowledge of the program structure and semantics. Second, covering some branches requires special method sequences to lead the receiver object or non-primitive arguments to specific desirable states. Previous work has developed the symbolic execution technique and the evolutionary testing technique to address these two challenges, respectively. However, neither technique was designed to address both challenges at the same time. To address the respective weaknesses of these two previous techniques, we propose a novel framework called Evacon that integrates evolutionary testing (used to search for desirable method sequences) and symbolic execution (used to generate desirable method arguments). We have implemented our framework and applied it to test 13 classes previously used in evaluating white-box test generation tools. The experimental results show that the tests generated using our framework can achieve higher branch coverage than the ones generated by evolutionary testing, symbolic execution, or random testing within the same amount of time. | ||||||
BibTeX:
@inproceedings{InkumsahX08,
author = {Kobi Inkumsah and Tao Xie},
title = {Improving Structural Testing of Object-Oriented Programs via Integrating Evolutionary Testing and Symbolic Execution},
booktitle = {Proceedings of 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE '08)},
year = {2008},
pages = {297-306},
month = {September},
url = {http://www.csc.ncsu.edu/faculty/xie/publications/ase08-evacon.pdf},
doi = {http://dx.doi.org/10.1109/ASE.2008.40}
}
|
||||||
| 2009.12.09 | Tao Xie, Nikolai Tillmann, Peli de Halleux & Wolfram Schulte | Fitness-Guided Path Exploration in Dynamic Symbolic Execution | 2008 | Proceedings of the 39th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN '09)(MSR-TR-2008-123), September | Techreport | Testing and Debugging |
| Abstract: Dynamic symbolic execution is a structural testing technique that systematically explores feasible paths of the program under test by running the program with different test inputs. Its main goal is to find a set of test inputs that lead to the coverage of particular test targets, e.g., specific state- ments or violated assertions. In theory, it is undecidable whether a test target can be covered, and in practice the number of feasible paths explodes. Nevertheless, for many programs, heuristic search strategies can often cover a test target quickly by analyzing only a few potentially feasible paths. We propose a novel approach called Fitnex, a search strategy that uses state-dependent fitness values (computed through a fitness function) to guide path exploration. The fitness function measures how close an already discovered feasible path is to a particular test target. Our new search strategy gives paths with better fitness values higher priority in the search. As a result, the search needs to consider fewer paths to cover test targets faster. Our new fitness-guided search strategy can be integrated with other strategies that are effective for exploration problems where the fitness heuristic fails. We implemented the new approach in Pex, an automated structural testing tool developed at Microsoft Research for .NET programs. We evaluated the new approach on a set of micro-benchmark programs. The results show that the new approach is effective since it consistently achieves high code coverage faster than existing search strategies. | ||||||
BibTeX:
@techreport{XieTdS08,
author = {Tao Xie and Nikolai Tillmann and Peli de Halleux and Wolfram Schulte},
title = {Fitness-Guided Path Exploration in Dynamic Symbolic Execution},
booktitle = {Proceedings of the 39th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN '09)},
year = {2008},
number = {MSR-TR-2008-123},
month = {September},
url = {http://research.microsoft.com/pubs/70629/tr-2008-123.pdf}
}
|
||||||
| 2009.12.09 | Tao Xie, Nikolai Tillmann, Peli de Halleux & Wolfram Schulte | Fitness-Guided Path Exploration in Dynamic Symbolic Execution | 2009 | Proceedings of the 39th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN '09), Lisbon Portugal, June-July | Inproceedings | Testing and Debugging |
BibTeX:
@inproceedings{XieTdS09,
author = {Tao Xie and Nikolai Tillmann and Peli de Halleux and Wolfram Schulte},
title = {Fitness-Guided Path Exploration in Dynamic Symbolic Execution},
booktitle = {Proceedings of the 39th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN '09)},
year = {2009},
address = {Lisbon, Portugal},
month = {June-July},
url = {http://www.csc.ncsu.edu/faculty/xie/publications/dsn09-fitnex.pdf}
}
|
||||||
| 2009.12.09 | Lu Zhang, Shan-Shan Hou, Chao Guo, Tao Xie & Hong Mei | Time-Aware Test-Case Prioritization using Integer Linear Programming | 2009 | Proceedings of International Conference on Software Testing and Analysis (ISSTA '09), Chicago IL USA, July | Inproceedings | Testing and Debugging |
| Abstract: Techniques for test-case prioritization re-order test cases to increase their rate of fault detection. When there is a fixed time budget that does not allow the execution of all the test cases, time-aware techniques for test-case prioritization may achieve a better rate of fault detection than traditional techniques for test-case prioritization. In this paper, we propose a novel approach to time-aware test-case prioritization using integer linear programming. To evaluate our approach, we performed experiments on two subject programs involving four techniques for our approach, two techniques for an approach to time-aware test-case prioritization based on genetic algorithms, and four traditional techniques for test-case prioritization. The empirical results indicate that two of our techniques outperform all the other techniques for the two subjects under the scenarios of both general and version-specific prioritization. The empirical results also indicate that some traditional techniques with lower analysis time cost for test-case prioritization may still perform competitively when the time budget is not quite tight. | ||||||
BibTeX:
@inproceedings{ZhangHGXM09,
author = {Lu Zhang and Shan-Shan Hou and Chao Guo and Tao Xie and Hong Mei},
title = {Time-Aware Test-Case Prioritization using Integer Linear Programming},
booktitle = {Proceedings of International Conference on Software Testing and Analysis (ISSTA '09)},
publisher = {ACM},
year = {2009},
address = {Chicago, IL, USA},
month = {July},
url = {http://www.csc.ncsu.edu/faculty/xie/publications/issta09-ilp.pdf},
doi = {http://dx.doi.org/10.1145/1572272.1572297}
}
|
||||||
| 2009.12.01 | Michael Bowman, Lionel C.Briand & Yvan Labiche | Multi-Objective Genetic Algorithm to Support Class Responsibility Assignment | 2007 | Proceedings of IEEE International Conference on Software Maintenance (ICSM '07), pp. 124-133, 2-5 October | Inproceedings | Design Tools and Techniques |
| Abstract: Class responsibility assignment is not an easy skill to acquire. Though there are many methodologies for assigning responsibilities to classes, they all rely on human judgment and decision making. Our objective is to provide decision-making help to re-assign methods and attributes to classes in a class diagram. Our solution is based on a multi-objective genetic algorithm (MOGA) and uses class coupling and cohesion measurement. Our MOGA takes as input a class diagram to be optimized and suggests possible improvements to it. The choice of a MOGA stems from the fact that there are typically many evaluation criteria that cannot be easily combined into one objective, and several alternative solutions are acceptable for a given OO domain model. This article presents our approach in detail, our decisions regarding the multi-objective genetic algorithm, and reports on a case study. Our results suggest that the MOGA can help correct suboptimal class responsibility assignment decisions. | ||||||
BibTeX:
@inproceedings{BowmanBL07,
author = {Michael Bowman and Lionel C.Briand and Yvan Labiche},
title = {Multi-Objective Genetic Algorithm to Support Class Responsibility Assignment},
booktitle = {Proceedings of IEEE International Conference on Software Maintenance (ICSM '07)},
publisher = {IEEE},
year = {2007},
pages = {124-133},
month = {2-5 October},
doi = {http://dx.doi.org/10.1109/ICSM.2007.4362625}
}
|
||||||
| 2009.12.01 | Yue Jia & Mark Harman | An Analysis and Survey of the Development of Mutation Testing | 2009 | (TR-09-06), September | Techreport | General Aspects and Survey |
| Abstract: Mutation Testing is a fault–based software testing technique that has been widely studied for over three decades. The literature on Mutation Testing has contributed a set of approaches, tools, developments and empirical results which have not been surveyed in detail until now. This paper provides a comprehensive analysis and survey of Mutation Testing. The paper also presents the results of several development trend analyses. These analyses provide evidence that Mutation Testing techniques and tools are reaching a state of maturity and applicability, while the topic of Mutation Testing itself is the subject of increasing interest. | ||||||
BibTeX:
@techreport{JiaH09b,
author = {Yue Jia and Mark Harman},
title = {An Analysis and Survey of the Development of Mutation Testing},
year = {2009},
number = {TR-09-06},
month = {September},
url = {http://www.dcs.kcl.ac.uk/pg/jiayue/repository/TR-09-06.pdf}
}
|
||||||
| 2009.12.01 | Zhuang Liu, Heqing Guo, Dong Li, Tao Han & Juanjuan Zhang | Solving Multi-objective and Fuzzy Multi-attributive Integrated Technique for QoS-Aware Web Service Selection | 2007 | Proceedings of International Conference on Wireless Communications, Networking and Mobile Computing (WiCom '07), pp. 735-739, 21-25 September | Inproceedings | Design Tools and Techniques |
| Abstract: The paper focuses on developing a new multiple criteria decision-making (MCDM) methodology for global web services selection based on QoS criteria, which integrates the multi-objective optimization with a fuzzy multi-attributive group decision-making (FMAGDM) technique. The study concentrates on the task of finding and then evaluating (or ranking) the finite number of pareto-optimal design alternatives (PODAs). A genetic algorithm based multi-objective optimization technique is employed for optimization purpose in terms of experts' opinions. Subjective attribute based aggregation technique for homogeneous and heterogeneous groups of experts is employed and used for dealing with the fuzzy opinion aggregation. Finally, we will discuss the integrated technique for Web services selection on global QoS optimization. | ||||||
BibTeX:
@inproceedings{LiuGLHZ07,
author = {Zhuang Liu and Heqing Guo and Dong Li and Tao Han and Juanjuan Zhang},
title = {Solving Multi-objective and Fuzzy Multi-attributive Integrated Technique for QoS-Aware Web Service Selection},
booktitle = {Proceedings of International Conference on Wireless Communications, Networking and Mobile Computing (WiCom '07)},
publisher = {IEEE},
year = {2007},
pages = {735-739},
month = {21-25 September},
doi = {http://dx.doi.org/10.1109/WICOM.2007.190}
}
|
||||||
| 2009.12.01 | Junli Wang & Yubing Hou | Optimal Web Service Selection based on Multi-Objective Genetic Algorithm | 2008 | Proceedings of International Symposium on Computational Intelligence and Design (ISCID '08), pp. 553-556, 17-18 October | Inproceedings | Design Tools and Techniques |
| Abstract: Considering that there are three aspects of constrains in the service selection process, such as control structure within a composition plan, relationship between concrete services, and tradeoff among multiple QoS indexes, a QoS based optimal Web services selection method by multi-objective genetic algorithm is presented. First we design a chromosome coding method to represent a feasible service selection solution, and then develop genetic operators and strategies for maintaining diversity of population and avoiding getting trapped in local optima. Experimental results show that within a finite number of evolving generations this algorithm can generate a set of nondominated Pareto optimal sol.utions which satisfy to user's QoS requirements. | ||||||
BibTeX:
@inproceedings{WangH08,
author = {Junli Wang and Yubing Hou},
title = {Optimal Web Service Selection based on Multi-Objective Genetic Algorithm},
booktitle = {Proceedings of International Symposium on Computational Intelligence and Design (ISCID '08)},
publisher = {IEEE},
year = {2008},
pages = {553-556},
month = {17-18 October},
doi = {http://dx.doi.org/10.1109/ISCID.2008.197}
}
|
||||||
| 2009.12.01 | Shin Yoo & Mark Harman | Test Data Augmentation: Generating New Test Data from Existing Test Data | 2008 | (TR-08-04) | Techreport | Testing and Debugging |
| Abstract: Existing automated test data generation techniques tend to start from scratch, implicitly assuming no pre-existing test data are available. However, this assumption may not always hold, and where it does not, there may be a missed opportunity; perhaps the pre-existing test cases could be used to assist the automated generation of additional test cases. This paper introduces search-based test data augmentation, a technique that can generate additional test data from existing test data using a meta-heuristic search algorithm. The proposed technique is compared to a widely studied test data generation approach in terms of both efficiency and effectiveness. The empirical evaluation shows that test data augmentation can be up to two orders of magnitude more efficient than existing test data generation techniques, while achieving comparable effectiveness in terms of structural coverage and mutation score. | ||||||
BibTeX:
@techreport{YooH08,
author = {Shin Yoo and Mark Harman},
title = {Test Data Augmentation: Generating New Test Data from Existing Test Data},
year = {2008},
number = {TR-08-04},
url = {http://www.dcs.kcl.ac.uk/pg/yooshi/papers/Yoo2008it.pdf}
}
|
||||||
| 2009.12.01 | Shin Yoo & Mark Harman | Regression Testing Minimisation, Selection and Prioritisation - A Survey | 2009 | (TR-09-09), October | Techreport | Testing and Debugging |
| Abstract: Regression testing is a testing activity that is performed to provide confidence that changes do not harm the existing behaviour of the software. Test suites tend to grow in size as software evolve, often making it too costly to execute entire test suites. A number of different approaches have been studied to maximise the value of the accrued test suite: minimisation, selection and prioritisation. Test suite minimisation seeks to eliminate redundant test cases in order to reduce the number of tests to run. Test case selection seeks to identify the test cases that are relevant to some set of recent changes. Test case prioritisation seeks to order test cases in such a way that early fault detection is maximised. This paper surveys each area of minimisation, selection and prioritisation technique and discusses open problems and potential directions for future research. | ||||||
BibTeX:
@techreport{YooH09,
author = {Shin Yoo and Mark Harman},
title = {Regression Testing Minimisation, Selection and Prioritisation - A Survey},
year = {2009},
number = {TR-09-09},
month = {October},
url = {http://www.dcs.kcl.ac.uk/pg/yooshi/papers/Yoo2009qv.pdf}
}
|
||||||
| 2009.12.01 | Shin Yoo & Mark Harman |
Using Hybrid Algorithm For Pareto Effcient Multi-Objective Test Suite Minimisation
[BibTeX] |
2010 | Journal of Systems and Software | Article | Testing and Debugging |
BibTeX:
@article{YooH10,
author = {Shin Yoo and Mark Harman},
title = {Using Hybrid Algorithm For Pareto Effcient Multi-Objective Test Suite Minimisation},
journal = {Journal of Systems and Software},
year = {2010}
}
|
||||||
| 2009.11.25 | Stephanie Forrest, ThanhVu Nguyen, Westley Weimer & Claire Le Goues | A Genetic Programming Approach to Automated Software Repair | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 947-954 | Inproceedings | Testing and Debugging |
| Abstract: Genetic programming is combined with program analysis methods to repair bugs in off-the-shelf legacy C programs. Fitness is defined using negative test cases that exercise the bug to be repaired and positive test cases that encode program requirements. Once a successful repair is discovered, structural differencing algorithms and delta debugging methods are used to minimize its size. Several modifications to the GP technique contribute to its success: (1) genetic operations are localized to the nodes along the execution path of the negative test case; (2) high-level statements are represented as single nodes in the program tree; (3) genetic operators use existing code in other parts of the program, so new code does not need to be invented. The paper describes the method, reviews earlier experiments that repaired 11 bugs in over 60,000 lines of code, reports results on new bug repairs, and describes experiments that analyze the performance and efficacy of the evolutionary components of the algorithm. | ||||||
BibTeX:
@inproceedings{ForrestNWG09,
author = {Stephanie Forrest and ThanhVu Nguyen and Westley Weimer and Claire Le Goues},
title = {A Genetic Programming Approach to Automated Software Repair},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
year = {2009},
pages = {947-954},
doi = {http://dx.doi.org/10.1145/1569901.1570031}
}
|
||||||
| 2009.11.02 | Sarah Al-Azzani & Rami Bahsoon | Semi-Automated Detection of Architectural Threats for Security Testing | 2009 | Proceedings of the doctoral symposium for ESEC/FSE on Doctoral symposium, pp. 25-26, Amsterdam The Netherlands | Inproceedings | Testing and Debugging |
BibTeX:
@inproceedings{Al-AzzaniB09,
author = {Sarah Al-Azzani and Rami Bahsoon},
title = {Semi-Automated Detection of Architectural Threats for Security Testing},
booktitle = {Proceedings of the doctoral symposium for ESEC/FSE on Doctoral symposium},
publisher = {ACM},
year = {2009},
pages = {25-26},
address = {Amsterdam, The Netherlands},
doi = {http://dx.doi.org/10.1145/1595782.1595792}
}
|
||||||
| 2009.11.02 | David W. Binkley, Mark Harman & Kiran Lakhotia | FlagRemover: A Testability Transformation for Transforming Loop Assigned Flags | 2009 | ACM Transactions on Software Engineering and Methodology, Vol. 2(3), pp. 110-146, June | Article | Testing and Debugging |
| Abstract: Search-Based Testing is a widely studied technique for automatically generating test inputs, with the aim of reducing the cost of software engineering activities that rely upon testing. However, search-based approaches degenerate to random testing in the presence of flag variables, because flags create spikes and plateaux in the fitness landscape. Both these features are known to denote hard optimization problems for all search-based optimization techniques. Several authors have studied flag removal transformations and fitness function refinements to address the issue of flags, but the problem of loop-assigned flags remains unsolved. This paper introduces a testability transformation along with a tool that transforms programs with loop-assigned flags into flag-free equivalents, so that existing search-based test data generation approaches can successfully be applied. The paper presents the results of an empirical study that demonstrates the effectiveness and efficiency of the testability transformation on programs including those made up of open source and industrial production code, as well as test data generation problems specifically created to denote hard optimization problems. | ||||||
BibTeX:
@article{BinkleyHL09,
author = {David W. Binkley and Mark Harman and Kiran Lakhotia},
title = {FlagRemover: A Testability Transformation for Transforming Loop Assigned Flags},
journal = {ACM Transactions on Software Engineering and Methodology},
year = {2009},
volume = {2},
number = {3},
pages = {110-146},
month = {June},
url = {http://www.dcs.kcl.ac.uk/staff/mark/tosem-issta04-jv.pdf}
}
|
||||||
| 2009.11.02 | Felipe Colares, Jerffeson Souza, Rafael Carmo, Clarindo Padua & Geraldo R. Mateus | A New Approach to the Software Release Planning | 2009 | Proceedings of the 23rd Brazilian Symposium on Software Engineering (SBES '09) | Inproceedings | Testing and Debugging |
| Abstract: This paper presents a new approach to the software release planning problem. This approach presents a mathematical formulation that takes into account several important aspects to this problem, such as stakeholders’ satisfaction, costs, deadlines, available resources, efforts needed, risks management and requirements interdependencies. Results from an experimental data set using a well-known metaheuristic show evidence that the proposed approach is very effective to model the features of this problem. Additionally, a comparison of human competitiveness with the proposed approach shows that the proposed approach outperforms human-based solutions. | ||||||
BibTeX:
@inproceedings{ColaresSCPM09,
author = {Felipe Colares and Jerffeson Souza and Rafael Carmo and Clarindo Padua and
|
||||||
| 2009.11.02 | Francisco de Jose | Sensitivity Analysis for Search-Based Software Project Management | 2008 | , August School: King's College London | Mastersthesis | Management |
| Abstract: This paper introduces a new perspective in the field of Software Engineering in pur- suance of a feasible alternative to the classical techniques of Software Project Man- agement through the use of Genetic Algorithms (GAs) in Sensitivity Analysis (SA). A beneficial solution is important from the point of view of the manager as a result of the increasing complexity of the software projects. The use of GAs in SA can provide new means to improve the initial schedule of a project and thereby tackle the classi- cal Project Scheduling Problem (PSP). The proposed implementation will develop an answer to the managers in their necessity to identify the most sensitive tasks as well as new ways to optimize their project in terms of duration. This paper describes the application of GAs in a process of resource allocation. Moreover, it analyses the impact of breaking dependencies within the definition of a project. The alternative detailed in this paper indicates the suitable direction of future work to achieve a proper results for an implementation of SA through the use of GAs to all the parameters of a project. In so doing that, the biggest negative impact due to the smallest alteration in one of the parameters can provide the most sensitive factors of the entire project. | ||||||
BibTeX:
@mastersthesis{deJose08,
author = {Francisco de Jose},
title = {Sensitivity Analysis for Search-Based Software Project Management},
school = {King's College London},
year = {2008},
month = {August},
url = {http://www.dcs.kcl.ac.uk/staff/mark/PastMScProjects2007/FranciscoDeJose.pdf}
}
|
||||||
| 2009.11.02 | Lokuge Nadisha de Silva | Search Algorithms For Ideal Optimal Mobile Phone Feature Sets | 2006 | , August School: Department of Computer Science, King's College London | Mastersthesis | Requirements/Specifications |
BibTeX:
@mastersthesis{deSilva06,
author = {Lokuge Nadisha de Silva},
title = {Search Algorithms For Ideal Optimal Mobile Phone Feature Sets},
school = {Department of Computer Science, King's College London},
year = {2006},
month = {August},
url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.65.5900&rep=rep1&type=pdf}
}
|
||||||
| 2009.11.02 | Mark Harman | The Importance of Metrics in Search Based Software Engineering | 2006 | keynote talk at the Mensura Conference 2006 | Misc | Metrics |
BibTeX:
@misc{Harman06b,
author = {Mark Harman},
title = {The Importance of Metrics in Search Based Software Engineering},
year = {2006},
url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.109.7448&rep=rep1&type=pdf}
}
|
||||||
| 2009.11.02 | Rachel Tzoref, Shmuel Ur & Elad Yom-Tov | Instrumenting Where It Hurts: An Automatic Concurrent Debugging Technique | 2007 | Proceedings of the 2007 International Symposium on Software Testing and Analysis, pp. 27-38, London United Kingdom | Inproceedings | Testing and Debugging |
| Abstract: As concurrent and distributive applications are becoming more common and debugging such applications is very difficult, practical tools for automatic debugging of concurrent applications are in demand. In previous work, we applied automatic debugging to noise-based testing of concurrent programs. The idea of noise-based testing is to increase the probability of observing the bugs by adding, using instrumentation, timing "noise" to the execution of the program. The technique of finding a small subset of points that causes the bug to manifest can be used as an automatic debugging technique. Previously, we showed that Delta Debugging can be used to pinpoint the bug location on some small programs. In the work reported in this paper, we create and evaluate two algorithms for automatically pinpointing program locations that are in the vicinity of the bugs on a number of industrial programs. We discovered that the Delta Debugging algorithms do not scale due to the non-monotonic nature of the concurrent debugging problem. Instead we decided to try a machine learning feature selection algorithm. The idea is to consider each instrumentation point as a feature, execute the program many times with different instrumentations, and correlate the features (instrumentation points) with the executions in which the bug was revealed. This idea works very well when the bug is very hard to reveal using instrumentation, correlating to the case when a very specific timing window is needed to reveal the bug. However, in the more common case, when the bugs are easy to find using instrumentation points ranked high by the feature selection algorithm is not high enough. We show that for these cases, the important value is not the absolute value of the evaluation of the feature but the derivative of that value along the program execution path. As a number of groups expressed interest in this research, we built an open infrastructure for automatic debugging algorithms for concurrent applications, based on noise injection based concurrent testing using instrumentation. The infrastructure is described in this paper. |
||||||
BibTeX:
@inproceedings{TzorefUY07,
author = {Rachel Tzoref and Shmuel Ur and Elad Yom-Tov},
title = {Instrumenting Where It Hurts: An Automatic Concurrent Debugging Technique},
booktitle = {Proceedings of the 2007 International Symposium on Software Testing and Analysis},
publisher = {ACM},
year = {2007},
pages = {27-38},
address = {London, United Kingdom},
doi = {http://dx.doi.org/10.1145/1273463.1273469}
}
|
||||||
| 2009.11.02 | Elad Yom-Tov, Rachel Tzoref, Shmuel Ur & S. Hoory | Automatic Debugging of Concurrent Programs through Active Sampling of Low Dimensional Random Projections | 2008 | Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE '08), pp. 307-316 | Inproceedings | Testing and Debugging |
| Abstract: Concurrent computer programs are fast becoming prevalent in many critical applications. Unfortunately, these programs are especially difficult to test and debug. Recently, it has been suggested that injecting random timing noise into many points within a program can assist in eliciting bugs within the program. Upon eliciting the bug, it is necessary to identify a minimal set of points that indicate the source of the bug to the programmer. In this paper, we pose this problem as an active feature selection problem. We propose an algorithm called the iterative group sampling algorithm that iteratively samples a lower dimensional projection of the program space and identifies candidate relevant points. We analyze the convergence properties of this algorithm. We test the proposed algorithm on several real-world programs and show its superior performance. Finally, we show the algorithms' performance on a large concurrent program. | ||||||
BibTeX:
@inproceedings{Yom-TovTUH08,
author = {Elad Yom-Tov and Rachel Tzoref and Shmuel Ur and S. Hoory},
title = {Automatic Debugging of Concurrent Programs through Active Sampling of Low Dimensional Random Projections},
booktitle = {Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE '08)},
publisher = {IEEE},
year = {2008},
pages = {307-316},
doi = {http://dx.doi.org/10.1109/ASE.2008.41}
}
|
||||||
| 2009.11.01 | Camila Loiola Brito Maia, Rafael Augusto Ferreira do Carmo, Fabrício Gomes de Freitas, Gustavo Augusto Lima de Campos & Jerffeson Teixeira de Souza | A Multi-Objective Approach For The Regression Test Case Selection Problem | 2009 | Proceedings of XLI Brazilian Symposium of Operational Research (XLI SBPO '09), pp. 1824-1835, Porto Seguro Bahia Brazil, 1-4 September | Inproceedings | Testing and Debugging |
| Abstract: When software is modified, some functionality that had been working can be affected. The reliable way to guarantee that the software is working correctly after those changes is to test the whole system again, but generally there is not sufficient time. Then, it is necessary to select significant test cases to be executed, in order to guarantee that the system is working as it should be. Although there are already works regarding on the regression test case selection problem, some important features which can influence in the test case selection are not considered in them. In this work, we state a new and more complete multi-objective formulation for this problem. The work also shows the results of the solution for the problem using a multi-objective genetic algorithm, comparing it with a random algorithm. | ||||||
BibTeX:
@inproceedings{Maiadddd09,
author = {Camila Loiola Brito Maia and Rafael Augusto Ferreira do Carmo and Fabrício Gomes de Freitas and Gustavo Augusto Lima de Campos and Jerffeson Teixeira de Souza},
title = {A Multi-Objective Approach For The Regression Test Case Selection Problem},
booktitle = {Proceedings of XLI Brazilian Symposium of Operational Research (XLI SBPO '09)},
year = {2009},
pages = {1824-1835},
address = {Porto Seguro, Bahia, Brazil},
month = {1-4 September},
url = {http://sobrapo.org.br/simposios/XLI-2009/XLI_SBPO_2009_artigos/artigos/56096.pdf}
}
|
||||||
| 2009.11.01 | L. Yang & Bryan F. Jones | Assimilation Exchange Based Software Integration | 2004 | 17th International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems Innovations in Applied Artificial Intelligence IEA/AIE 2004, Vol. 3029, pp. 1229-1238 | Inproceedings | Design Tools and Techniques |
| Abstract: This paper describes an approach of integrating software with a minimum risk using Genetic Algorithms (GA). The problem was initially proposed by the need of sharing common software components among various departments within a same organization. The main contribution of this study is that the software integration problem is formulated as a search problem and solved using a GA. A case study was based on an on-going software integration project carried out in the Derbyshire Fire Rescue Service, and is used to illustrate the application of the approach. | ||||||
BibTeX:
@inproceedings{YangJ04,
author = {L. Yang and Bryan F. Jones},
title = {Assimilation Exchange Based Software Integration},
booktitle = {17th International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems Innovations in Applied Artificial Intelligence IEA/AIE 2004},
year = {2004},
volume = {3029},
pages = {1229-1238},
url = {http://www.springerlink.com/content/0ucvnvlq7kmqdu9n/}
}
|
||||||
| 2009.10.30 | Mohammad Alrifai & Thomas Risse | Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition | 2009 | Proceedings of 18th International World Wide Web Conference (WWW '09), Madrid Spain, 20-24 April | Inproceedings | Design Tools and Techniques |
| Abstract: The run-time binding of web services has been recently put forward in order to support rapid and dynamic web ser- vice compositions. With the growing number of alternative web services that provide the same functionality but differ in quality parameters, the service composition becomes a decision problem on which component services should be se- lected such that user’s end-to-end QoS requirements (e.g. availability, response time) and preferences (e.g. price) are satisfied. Although very efficient, local selection strategy fails short in handling global QoS requirements. Solutions based on global optimization, on the other hand, can han- dle global constraints, but their poor performance renders them inappropriate for applications with dynamic and real- time requirements. In this paper we address this problem and propose a solution that combines global optimization with local selection techniques to benefit from the advan- tages of both worlds. The proposed solution consists of two steps: first, we use mixed integer programming (MIP) to find the optimal decomposition of global QoS constraints into local constraints. Second, we use distributed local se- lection to find the best web services that satisfy these local constraints. The results of experimental evaluation indicate that our approach significantly outperforms existing solu- tions in terms of computation time while achieving close-to- optimal results. | ||||||
BibTeX:
@inproceedings{AlrifaiR09,
author = {Mohammad Alrifai and Thomas Risse},
title = {Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition},
booktitle = {Proceedings of 18th International World Wide Web Conference (WWW '09)},
year = {2009},
address = {Madrid, Spain},
month = {20-24 April},
url = {http://www2009.org/proceedings/pdf/p881.pdf}
}
|
||||||
| 2009.10.30 | Lars Grunske | Identifying "Good" Architectural Design Alternatives with Multi-Objective Optimization Strategies | 2006 | Proceedings of the 28th International Conference on Software Engineering (ICSE '06), pp. 849-852, Shanghai China, 20-28 May | Inproceedings | Design Tools and Techniques |
| Abstract: Architecture trade-off analysis methods are appropriate techniques to evaluate design decisions and design alternatives with respect to conflicting quality requirements. However, the identification of good design alternatives is a time consuming task, which is currently performed manually. To automate this task, this paper proposes to use evolutionary algorithms and multi-objective optimization strategies based on architecture refactorings to identify a sufficient set of design alternatives. This approach will reduce development costs and improve the quality of the final system, because an automated and systematic search will identify more and better design alternatives. | ||||||
BibTeX:
@inproceedings{Grunske06,
author = {Lars Grunske},
title = {Identifying "Good" Architectural Design Alternatives with Multi-Objective Optimization Strategies},
booktitle = {Proceedings of the 28th International Conference on Software Engineering (ICSE '06)},
publisher = {ACM},
year = {2006},
pages = {849-852},
address = {Shanghai, China},
month = {20-28 May},
doi = {http://dx.doi.org/10.1145/1134285.1134431}
}
|
||||||
| 2009.08.20 | Yue Jia & Mark Harman | Higher Order Mutation Testing | 2009 | Information and Software Technology, Vol. 51(10), pp. 1379-1393, October | Article | Testing and Debugging |
| Abstract: This paper introduces a new paradigm for Mutation Testing, which we call Higher Order Mutation Testing (HOM Testing). Traditional Mutation Testing considers only first order mutants, created by the injection of a single fault. Often these first order mutants denote trivial faults that are easily killed. Higher order mutants are created by the insertion of two or more faults. The paper introduces the concept of a subsuming HOM; one that is harder to kill than the first order mutants from which it is constructed. By definition, subsuming HOMs denote subtle fault combinations. The paper reports the results of an empirical study of HOM Testing using ten programs, including several non trivial real-world subjects for which test suites are available. |
||||||
BibTeX:
@article{JiaH09,
author = {Yue Jia and Mark Harman},
title = {Higher Order Mutation Testing},
journal = {Information and Software Technology},
year = {2009},
volume = {51},
number = {10},
pages = {1379-1393},
month = {October},
doi = {http://dx.doi.org/10.1016/j.infsof.2009.04.016}
}
|
||||||
| 2009.08.07 | Per Kristian Lehre & Xin Yao | Crossover Can be Constructive when Computing Unique Input Output Sequences | 2008 | (CSR-08-08), September | Techreport | Testing and Debugging |
| Abstract: Unique input output (UIO) sequences have important applications in conformance testing of finite state machines (FSMs). Previous experimental and theoretical research has shown that evolutionary algorithms (EAs) can compute UIOs efficiently on many FSM instance classes, but fail on others. However, it has been unclear how and to what degree EA parameter settings influence the runtime on the UIO problem. This paper investigates the choice of acceptance criterion in the (1+1) EA and the use of crossover in the (μ+1) Steady State Genetic Algorithm. It is rigorously proved that changing these parameters can reduce the runtime from exponential to polynomial for some instance classes. | ||||||
BibTeX:
@techreport{LehreY08b,
author = {Per Kristian Lehre and Xin Yao},
title = {Crossover Can be Constructive when Computing Unique Input Output Sequences},
year = {2008},
number = {CSR-08-08},
month = {September},
url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/2008/CSR-08-08.ps.gz}
}
|
||||||
| 2009.08.05 | Tianshi Chen, Per Kristian Lehre, Ke Tang & Xin Yao | When Is an Estimation of Distribution Algorithm Better than an Evolutionary Algorithm? | 2009 | Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09), pp. 1470-1477, Trondheim Norway, 18-21 May | Inproceedings | General Aspects and Survey |
| Abstract: Despite the wide-spread popularity of estimation of distribution algorithms (EDAs), there has been no theoretical proof that there exist optimisation problems where EDAs perform significantly better than traditional evolutionary algorithms. Here, it is proved rigorously that on a problem called SUBSTRING, a simple EDA called univariate marginal distribution algorithm (UMDA) is efficient, whereas the (1+1) EA is highly inefficient. Such studies are essential in gaining insight into fundamental research issues, i.e., what problem characteristics make an EDA or EA efficient, under what conditions an EDA is expected to outperform an EA, and what key factors are in an EDA that make it efficient or inefficient. |
||||||
BibTeX:
@inproceedings{ChenLTY09,
author = {Tianshi Chen and Per Kristian Lehre and Ke Tang and Xin Yao},
title = {When Is an Estimation of Distribution Algorithm Better than an Evolutionary Algorithm?},
booktitle = {Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09)},
publisher = {IEEE},
year = {2009},
pages = {1470-1477},
address = {Trondheim, Norway},
month = {18-21 May},
url = {http://nical.ustc.edu.cn/uploads/cec2009/P684.pdf}
}
|
||||||
| 2009.08.05 | Vivek Nallur, Rami Bahsoon & Xin Yao | Self-Optimizing Architecture for Ensuring Quality Attributes in the Cloud | 2009 | Proceedings of the 7th Working IEEE/IFIP Conference on Software Architecture (WICSA '09), Cambridge UK, 14-17 September | Inproceedings | Design Tools and Techniques |
| Abstract: We describe various challenges in ensuring Quality Attributes (QA) of applications hosted in the cloud and hence the perceived quality of service of the cloud as a whole. We advocate a self-management/optimisation architecturedriven approach to ensure that Quality Attributes are met. We discuss the limitations of current approaches to selfmanaging architecture. We propose a novel approach, which exploits the El Farol problem as a modelling mechanism for QAs in architectures of applications in the cloud. The approach uses Service Level Agreements (SLA) and Utility Theory to direct the self-optimization. We conclude by looking at directions for further work. |
||||||
BibTeX:
@inproceedings{NallurBY09,
author = {Vivek Nallur and Rami Bahsoon and Xin Yao},
title = {Self-Optimizing Architecture for Ensuring Quality Attributes in the Cloud},
booktitle = {Proceedings of the 7th Working IEEE/IFIP Conference on Software Architecture (WICSA '09)},
year = {2009},
address = {Cambridge, UK},
month = {14-17 September},
url = {http://www.cs.bham.ac.uk/~vxn851/research/documents/wicsa09.pdf}
}
|
||||||
| 2009.08.05 | Pietro Simone Oliveto, Per Kristian Lehre & Frank Neumann | Theoretical Analysis of Rank-based Mutation - Combining Exploration and Exploitation | 2009 | Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09), pp. 1455-1462, Trondheim Norway, 18-21 May | Inproceedings | General Aspects and Survey |
| Abstract: Parameter setting is an important issue in the design of evolutionary algorithms. Recently, experimental work has pointed out that it is often not useful to work with a fixed mutation rate. Therefore it was proposed that the population be ranked according to fitness and the mutation rate of an individual should depend on its rank. The claim is that this allows the algorithm to explore new regions in the search space as well as progress quickly towards optimal solutions. Complementing the experimental investigations, we examine the proposed approach by presenting rigorous theoretical analyses which point out the differences of rank-based mutation compared to a standard approach using a fixed mutation rate. To this end we theoretically explain the behaviour of rank-based mutation on various fitness landscapes proposed in the experimental work and present new significant classes of functions where the use of rank-based mutation may be both beneficial or detrimental compared to fixed mutation strategies. | ||||||
BibTeX:
@inproceedings{OlivetoLN09,
author = {Pietro Simone Oliveto and Per Kristian Lehre and Frank Neumann},
title = {Theoretical Analysis of Rank-based Mutation - Combining Exploration and Exploitation},
booktitle = {Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09)},
publisher = {IEEE},
year = {2009},
pages = {1455-1462},
address = {Trondheim, Norway},
month = {18-21 May},
url = {http://www2.computer.org/portal/web/csdl/doi/10.1109/CEC.2009.4983114}
}
|
||||||
| 2009.08.05 | Philipp Rohlfshagen, Per Kristian Lehre & Xin Yao | Dynamic Evolutionary Optimisation: An Analysis of Frequency and Magnitude of Change | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation, pp. 1713-1720 (Best Paper Award), Montreal Québec Canada, 8-12 July | Inproceedings | General Aspects and Survey |
| Abstract: In this paper, we rigorously analyse how the magnitude and frequency of change may affect the performance of the algorithm (1+1) EAdyn on a set of artificially designed pseudo-Boolean functions, given a simple but well-defined dynamic framework. We demonstrate some counter-intuitive scenarios that allow us to gain a better understanding of how the dynamics of a function may affect the runtime of an algorithm. In particular, we present the function Magnitude, where the time it takes for the (1+1) EAdyn to relocate the global optimum is less than n2log n (i.e., efficient) with overwhelming probability if the magnitude of change is large. For small changes of magnitude, on the other hand, the expected time to relocate the global optimum is eΩ(n) (i.e., highly inefficient). Similarly, the expected runtime of the (1+1) EAdyn on the function Balance is O(n2) (efficient) for a high frequencies of change and nΩ(√n) (highly inefficient) for low frequencies of change. These results contribute towards a better understanding of dynamic optimisation problems in general and show how traditional analytical methods may be applied in the dynamic case. | ||||||
BibTeX:
@inproceedings{RohlfshagenLY09,
author = {Philipp Rohlfshagen and Per Kristian Lehre and Xin Yao},
title = {Dynamic Evolutionary Optimisation: An Analysis of Frequency and Magnitude of Change},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation},
publisher = {ACM},
year = {2009},
pages = {1713-1720 (Best Paper Award)},
address = {Montreal, Québec, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570131}
}
|
||||||
| 2009.08.05 | Zai Wang, Tianshi Chen, Ke Tang & Xin Yao | A Multi-objective Approach to Redundancy Allocation Problem in Parallel-series Systems | 2009 | Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09), pp. 582-589, Trondheim Norway, 18-21 May | Inproceedings | Management |
| Abstract: The Redundancy Allocation Problem (RAP) is a kind of reliability optimization problems. It involves the selection of components with appropriate levels of redundancy or reliability to maximize the system reliability under some predefined constraints. We can formulate the RAP as a combinatorial problem when just considering the redundancy level, while as a continuous problem when considering the reliability level. The RAP employed in this paper is that kind of combinatorial optimization problems. During the past thirty years, there have already been a number of investigations on RAP. However, these investigations often treat RAP as a single objective problem with the only goal to maximize the system reliability (or minimize the designing cost). In this paper, we regard RAP as a multi-objective optimization problem: the reliability of the system and the corresponding designing cost are considered as two different objectives. Consequently, we can utilize a classical Multi-objective Evolutionary Algorithm (MOEA), named Non-dominated Sorting Genetic Algorithm II (NSGA-II), to cope with this multi-objective redundancy allocation problem (MORAP) under a number of constraints. The experimental results demonstrate that the multi-objective evolutionary approach can provide more promising solutions in comparison with two widely used single-objective approaches on two parallel-series systems which are frequently studied in the field of reliability optimization. | ||||||
BibTeX:
@inproceedings{WangCTY09,
author = {Zai Wang and Tianshi Chen and Ke Tang and Xin Yao},
title = {A Multi-objective Approach to Redundancy Allocation Problem in Parallel-series Systems},
booktitle = {Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09)},
publisher = {IEEE},
year = {2009},
pages = {582-589},
address = {Trondheim, Norway},
month = {18-21 May},
url = {http://nical.ustc.edu.cn/uploads/cec2009/P252.pdf}
}
|
||||||
| 2009.08.05 | David R. White & Simon Poulding | A Rigorous Evaluation of Crossover and Mutation in Genetic Programming | 2009 | Proceedings of the 12th European Conference on Genetic Programming (EuroGP '09), Vol. 5481, pp. 220-231, Tübingen Germany, 15-17 April | Inproceedings | General Aspects and Survey |
| Abstract: The role of crossover and mutation in Genetic Programming (GP) has been the subject of much debate since the emergence of the field. In this paper, we contribute new empirical evidence to this argument using a rigorous and principled experimental method applied to six problems common in the GP literature. The approach tunes the algorithm parameters to enable a fair and objective comparison of two different GP algorithms, the first using a combination of crossover and reproduction, and secondly using a combination of mutation and reproduction. We find that crossover does not significantly outperform mutation on most of the problems examined. In addition, we demonstrate that the use of a straightforward Design of Experiments methodology is effective at tuning GP algorithm parameters. | ||||||
BibTeX:
@inproceedings{WhiteP09,
author = {David R. White and Simon Poulding},
title = {A Rigorous Evaluation of Crossover and Mutation in Genetic Programming},
booktitle = {Proceedings of the 12th European Conference on Genetic Programming (EuroGP '09)},
publisher = {Springer},
year = {2009},
volume = {5481},
pages = {220-231},
address = {Tübingen, Germany},
month = {15-17 April},
doi = {http://dx.doi.org/10.1007/978-3-642-01181-8_19}
}
|
||||||
| 2009.08.04 | Christos Baloukas, Jose L. Risco-Martin, David Atienza, Christophe Poucet, Lazaros Papadopoulos, Stylianos Mamagkakis, Dimitrios Soudris, J. Ignacio Hidalgo, Francky Catthoor & Juan Lanchares | Optimization Methodology of Dynamic Data Structures Based on Genetic Algorithms for Multimedia Embedded Systems | 2009 | Journal of Systems and Software (Special Issue: Selected papers from the 2008 IEEE Conference on Software Engineering Education and Training (CSEET '08)), Vol. 82(4), pp. 590-602, April | Article | |
| Abstract: Modern multimedia application exhibit high resource utilization. In order to efficiently run this kind of applications in embedded systems, the dynamic memory subsystem needs to be optimized. A key role in this optimization is played by the dynamic data structures that reside in every real-life application. This paper presents a novel and automated way to optimize dynamic data structures. The search space is pruned using genetic algorithms that converge to the best multilayered data structure implementation for the targeted applications. | ||||||
BibTeX:
@article{BaloukasRAPPMSHCL09,
author = {Christos Baloukas and Jose L. Risco-Martin and David Atienza and Christophe Poucet and Lazaros Papadopoulos and Stylianos Mamagkakis and Dimitrios Soudris and J. Ignacio Hidalgo and Francky Catthoor and Juan Lanchares},
title = {Optimization Methodology of Dynamic Data Structures Based on Genetic Algorithms for Multimedia Embedded Systems},
journal = {Journal of Systems and Software (Special Issue: Selected papers from the 2008 IEEE Conference on Software Engineering Education and Training (CSEET '08))},
year = {2009},
volume = {82},
number = {4},
pages = {590-602},
month = {April},
doi = {http://dx.doi.org/10.1016/j.jss.2008.08.032}
}
|
||||||
| 2009.08.04 | Per Kristian Lehre & Xin Yao | On The Impact of the Mutation-Selection Balance on the Runtime of Evolutionary Algorithms | 2009 | Proceedings of the 10th ACM SIGEVO Workshop on Foundations of Genetic Algorithms, pp. 47-58, Orlando Florida USA, 9-11 January | Inproceedings | General Aspects and Survey |
| Abstract: The interplay between the mutation operator and the selection mechanism plays a fundamental role in the behaviour of evolutionary algorithms. However, this interplay is still not completely understood. This paper presents a rigorous runtime analysis of a non-elitistic population based evolutionary algorithm that uses the linear ranking selection mechanism. The analysis focuses on how the balance between parameter η controlling the selection pressure in linear ranking selection, and parameter χ controlling the bit-wise mutation rate impacts the expected runtime. The results point out situations where a correct balance between selection pressure and mutation rate is essential for finding the optimal solution in polynomial time. In particular, it is shown that there exist fitness functions which under a certain assumption can be solved in polynomial time if the ratio between parameters η and χ is appropriately tuned to the problem instance class, but where a small change in this ratio can increase the runtime exponentially. Furthermore, it is shown that the appropriate parameter choice depends on the characteristics of the fitness function. Hence there does in general not exists a problem-independent optimal balance between mutation rate and selection pressure. The results are obtained using new techniques based on branching processes. |
||||||
BibTeX:
@inproceedings{LehreY09b,
author = {Per Kristian Lehre and Xin Yao},
title = {On The Impact of the Mutation-Selection Balance on the Runtime of Evolutionary Algorithms},
booktitle = {Proceedings of the 10th ACM SIGEVO Workshop on Foundations of Genetic Algorithms},
publisher = {ACM},
year = {2009},
pages = {47-58},
address = {Orlando, Florida, USA},
month = {9-11 January},
doi = {http://dx.doi.org/10.1145/1527125.1527133}
}
|
||||||
| 2009.08.04 | Jonathan Tate, Benjamin Woolford-Lim, Iain Bate & Xin Yao | Comparing Design of Experiments and Evolutionary Approaches to Multi-Objective Optimisation of Sensornet Protocols | 2009 | Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09), pp. 1137-1144, Trondheim Norway, 18-21 May | Inproceedings | Network Protocols |
| Abstract: The lifespan, and hence utility, of sensornets is limited by the energy resources of individual motes. Network designers seek to maximise energy efficiency while maintaining an acceptable network Quality of Service. However, the interactions between multiple tunable protocol parameters and multiple sensornet performance metrics are generally complex and unknown. In this paper we address this multi-dimensional optimisation problem by two distinct approaches. Firstly, we apply a Design Of Experiments approach to obtain a generalised linear interaction model, and from this derive an estimated near-optimal solution. Secondly, we apply the Two-Archive evolutionary algorithm to improve solution quality for a specific problem instance. We demonstrate that, whereas the first approach yields a more generally applicable solution, the second approach yields a broader range of viable solutions at potentially lower experimental cost. | ||||||
BibTeX:
@inproceedings{TateWBY09,
author = {Jonathan Tate and Benjamin Woolford-Lim and Iain Bate and Xin Yao},
title = {Comparing Design of Experiments and Evolutionary Approaches to Multi-Objective Optimisation of Sensornet Protocols},
booktitle = {Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09)},
publisher = {IEEE},
year = {2009},
pages = {1137-1144},
address = {Trondheim, Norway},
month = {18-21 May},
url = {http://www.cs.york.ac.uk/rts/papers_db_keyed.php?key=R:Tate:2009a}
}
|
||||||
| 2009.07.30 | D. Azar, H. Harmanani & R. Korkmaz | A Hybrid Heuristic Approach to Optimize Rule-Based Software Quality Estimation Models | 2009 | Information and Software Technology, Vol. 51(9), pp. 1365-1376, September | Article | Management |
| Abstract: Software quality is defined as the degree to which a software component or system meets specified requirements and specifications. Assessing software quality in the early stages of design and development is crucial as it helps reduce effort, time and money. However, the task is difficult since most software quality characteristics (such as maintainability, reliability and reusability) cannot be directly and objectively measured before the software product is deployed and used for a certain period of time. Nonetheless, these software quality characteristics can be predicted from other measurable software quality attributes such as complexity and inheritance. Many metrics have been proposed for this purpose. In this context, we speak of estimating software quality characteristics from measurable attributes. For this purpose, software quality estimation models have been widely used. These take different forms: statistical models, rule-based models and decision trees. However, data used to build such models is scarce in the domain of software quality. As a result, the accuracy of the built estimation models deteriorates when they are used to predict the quality of new software components. In this paper, we propose a search-based software engineering approach to improve the prediction accuracy of software quality estimation models by adapting them to new unseen software products. The method has been implemented and favorable result comparisons are reported in this work. | ||||||
BibTeX:
@article{AzarHK09,
author = {D. Azar and H. Harmanani and R. Korkmaz},
title = {A Hybrid Heuristic Approach to Optimize Rule-Based Software Quality Estimation Models},
journal = {Information and Software Technology},
year = {2009},
volume = {51},
number = {9},
pages = {1365-1376},
month = {September},
doi = {http://dx.doi.org/10.1016/j.infsof.2009.05.003}
}
|
||||||
| 2009.07.30 | Raquel Blanco, José García-Fanjul & Javier Tuya | A First Approach to Test Case Generation for BPEL Compositions of Web Services Using Scatter Search | 2009 | Proceedings of the IEEE International Conference on Software Testing, Verification, and Validation Workshops (ICSTW '09), pp. 131-140, Denver Colorado USA, 1-4 April | Inproceedings | Testing and Debugging |
| Abstract: A challenging part of Software Testing entails the generation of test cases, which cost can be reduced by means of the use of techniques for automating this task. In this paper we present an approach based on the metaheuristic technique Scatter Search for the automatic test case generation of the BPEL business process. A transition coverage criterion is used as adequacy criterion. | ||||||
BibTeX:
@inproceedings{BlancoGT09,
author = {Raquel Blanco and José García-Fanjul and Javier Tuya},
title = {A First Approach to Test Case Generation for BPEL Compositions of Web Services Using Scatter Search},
booktitle = {Proceedings of the IEEE International Conference on Software Testing, Verification, and Validation Workshops (ICSTW '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {131-140},
address = {Denver, Colorado, USA},
month = {1-4 April},
doi = {http://dx.doi.org/10.1109/ICSTW.2009.24}
}
|
||||||
| 2009.07.30 | Mark Harman, S. Afshin Mansouri & Yuanyuan Zhang | Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications | 2009 | (TR-09-03), April | Techreport | General Aspects and Survey |
| Abstract: In the past five years there has been a dramatic increase in work on Search Based Software Engineering (SBSE), an approach to software engineering in which search based optimisation algorithms are used to address problems in Software Engineering. SBSE has been applied to problems throughout the Software Engineering lifecycle, from requirements and project planning to maintenance and re-engineering. The approach is attractive because it offers a suite of adaptive automated and semi-automated solutions in situations typified by large complex problem spaces with multiple competing and conflicting objectives. This paper provides a review and classification of literature on SBSE. The paper identifies research trends and relationships between the techniques applied and the applications to which they have been applied and highlights gaps in the literature and avenues for further research. |
||||||
BibTeX:
@techreport{HarmanMZ09,
author = {Mark Harman and S. Afshin Mansouri and Yuanyuan Zhang},
title = {Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications},
year = {2009},
number = {TR-09-03},
month = {April},
url = {http://www.dcs.kcl.ac.uk/technical-reports/papers/TR-09-03.pdf}
}
|
||||||
| 2009.07.29 | Florentin Ipate & Raluca Lefticaru | Genetic Model based Testing: a Framework and a Case Study | 2008 | Romanian Journal of Information Science and Technology, Vol. 11(3), pp. 209-227 | Article | Testing and Debugging |
| Abstract: The application of metaheuristic search techniques in test data generation has been extensively investigated in recent years. Most studies, however, have concentrated on the application of such techniques in structural testing. The use of search-based techniques in functional testing is less frequent, the main cause being the implicit nature of the specification. On the other hand, such techniques could be employed in functional test generation if an explicit, graph-based, model, that describes the algorithm used to produce the required results, existed. However, the process of creating and validating such a model is usually a highly-specialized and time consuming task, which quite often cannot be economically justified in the case of non-safety-critical applications. In this paper we propose a framework for genetic model based testing. Under this framework, a graph-based model of the system under test is built using a genetic algorithm. Test data is then derived from the resulting model using (possibly) metaheuristic search techniques to provide the desired level of coverage. The approach is illustrated with a case study: an array sorting program. | ||||||
BibTeX:
@article{IpateL08,
author = {Florentin Ipate and Raluca Lefticaru},
title = {Genetic Model based Testing: a Framework and a Case Study},
journal = {Romanian Journal of Information Science and Technology},
year = {2008},
volume = {11},
number = {3},
pages = {209-227},
url = {http://www.imt.ro/romjist/Volum11/Number11_3/01-Ipate.htm}
}
|
||||||
| 2009.07.29 | Raluca Lefticaru & Florentin Ipate | A Comparative Landscape Analysis of Fitness Functions for Search-based Testing | 2008 | Proceedings of the 10th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC 2008), pp. 201-208 | Inproceedings | Testing and Debugging |
| Abstract: Landscape analysis of fitness functions is an important topic. This paper makes an attempt to characterize the search problems associated with the fitness functions used in search-based testing, employing the following measures: diameter, autocorrelation and fitness distance correlation. In a previous work, a general form of objective functions for structural search-based software testing was tailored for state-based testing. A comparison is performed in this paper between the general fitness functions and some problem-specific fitness functions, taking into account their performance with different search methods. | ||||||
BibTeX:
@inproceedings{LefticaruI08c,
author = {Raluca Lefticaru and Florentin Ipate},
title = {A Comparative Landscape Analysis of Fitness Functions for Search-based Testing},
booktitle = {Proceedings of the 10th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC 2008)},
publisher = {IEEE Computer Society},
year = {2008},
pages = {201-208}
}
|
||||||
| 2009.07.29 | Raluca Lefticaru, Florentin Ipate & Cristina Tudose | Automated Model Design using Genetic Algorithms and Model Checking | 2009 | Proceedings of the 4th Balkan Conference in Informatics (BCI '09) | Inproceedings | Software/Program Verification |
| Abstract: In recent years there has been a growing interest in applying metaheuristic search algorithms in model-checking. On the other hand, model checking has been used far less in other software engineering activities, such as model design and software testing. In this paper we propose an automated model design strategy, by integrating genetic algorithms (used for model generation) with model checking (used to evaluate the fitness, which takes into account the satisfied/unsatisfied specifications). Genetic programming is the process of evolving computer programs, by using a fitness value determined by the program’s ability to perform a given computational task. This evaluation is based on the output produced by the program for a set of training input samples. The consequence is that the evolved program can function well for the sample set used for training, but there is no guarantee that the program will behave properly for every possible input. Instead of training samples, in this paper we use a model checker, which verifies if the generated model satisfies the specifications. This approach is empirically evaluated for the generation of finite state-based models. Furthermore, the previous fitness function proposed in the literature, that takes into account only the number of unsatisfied specifications, presents plateaux and so does not offer a good guidance for the search. This paper proposes and evaluates the performance of a number of new fitness functions, which, by taking also into account the counterexamples provided by the model checker, improve the success rate of the genetic algorithm. | ||||||
BibTeX:
@inproceedings{LefticaruIT09,
author = {Raluca Lefticaru and Florentin Ipate and Cristina Tudose},
title = {Automated Model Design using Genetic Algorithms and Model Checking},
booktitle = {Proceedings of the 4th Balkan Conference in Informatics (BCI '09)},
publisher = {IEEE Computer Society},
year = {2009}
}
|
||||||
| 2009.07.26 | Brad Alexander & Michael Gratton Tyrrell, A. (Hrsg.) IEEE Computational Intelligence Society | Constructing an Optimisation Phase Using Grammatical Evolution | 2009 | Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09), pp. 1209-1216, Trondheim Norway, 18-21 May | Inproceedings | Distribution and Maintenance |
| Abstract: Optimising compilers present their authors with an intractable design space. A substantial body of work has used heuristic search techniques to search this space for the purposes of adapting optimisers to their environment. To date, most of this work has focused on sequencing, tuning and guiding the actions of atomic hand-written optimisation phases. In this paper we explore the adaption of optimisers at a deeper level by demonstrating that it is feasible to automatically build a non-trivial optimisation phase, for a simple functional language, using Grammatical Evolution. We show that the individuals evolved compare well in performance to a handwritten optimisation phase on a range of benchmarks. We conclude with proposals of how this work and its applications can be extended. | ||||||
BibTeX:
@inproceedings{AlexanderG09,
author = {Brad Alexander and Michael Gratton},
title = {Constructing an Optimisation Phase Using Grammatical Evolution},
booktitle = {Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09)},
publisher = {IEEE Press},
year = {2009},
pages = {1209-1216},
address = {Trondheim, Norway},
month = {18-21 May},
doi = {http://dx.doi.org/10.1109/CEC.2009.4983083}
}
|
||||||
| 2009.07.26 | Andrea Arcuri | Insight Knowledge in Search Based Software Testing | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1649-1656, Montréal Canada, 8-12 July | Inproceedings | Testing and Debugging |
| Abstract: Software testing can be re-formulated as a search problem, hence search algorithms (e.g., Genetic Algorithms) can be used to tackle it. Most of the research so far has been of empirical nature, in which novel proposed techniques have been validated on software testing benchmarks. However, only little attention has been spent to understand why meta-heuristics can be effective in software testing. This insight knowledge could be used to design novel more successful techniques. Recent theoretical work has tried to fill this gap, but it is very complex to carry out. This has limited its scope so far to only small problems. In this paper, we want to get insight knowledge on a difficult software testing problem. We combine together an empirical and theoretical analysis, and we exploit the benefits of both. | ||||||
BibTeX:
@inproceedings{Arcuri09c,
author = {Andrea Arcuri},
title = {Insight Knowledge in Search Based Software Testing},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1649-1656},
address = {Montréal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570122}
}
|
||||||
| 2009.07.26 | Andrea Arcuri | Longer is Better: On the Role of Test Sequence Length in Software Testing | 2009 | (CSR-09-03) | Techreport | Testing and Debugging |
| Abstract: In the presence of an internal state, often it is required a sequence of function calls to test software. In fact, to cover a particular branch of the code, a sequence of previous function calls might be required to put the internal state in the appropriate configuration. Internal states are not only present in object-oriented software, but also in procedural software (e.g., static variables in C programs). In literature, there are many techniques to test this type of software. However, to our best knowledge, the properties related to choosing the length of these sequences have received only little attention in literature. In this paper, we analyse the role that the length plays in software testing. We show that on “difficult” software testing benchmarks longer test sequences make their testing trivial. Hence, we argue that the choice of the length of the test sequences is very important in software testing. |
||||||
BibTeX:
@techreport{Arcuri09e,
author = {Andrea Arcuri},
title = {Longer is Better: On the Role of Test Sequence Length in Software Testing},
year = {2009},
number = {CSR-09-03},
url = {http://www.cs.bham.ac.uk/~axa/papers/paper_tech09b.pdf}
}
|
||||||
| 2009.07.26 | Andrea Arcuri |
Theoretical Analysis of Local Search in Software Testing
[BibTeX] |
2009 | Proceedings of the 5th Symposium on Stochastic Algorithms, Foundations and Applications (SAGA '09), Sapporo Japan, 26-28 October | Inproceedings | Testing and Debugging |
BibTeX:
@inproceedings{Arcuri09f,
author = {Andrea Arcuri},
title = {Theoretical Analysis of Local Search in Software Testing},
booktitle = {Proceedings of the 5th Symposium on Stochastic Algorithms, Foundations and Applications (SAGA '09)},
year = {2009},
address = {Sapporo, Japan},
month = {26-28 October}
}
|
||||||
| 2009.07.26 | Andrea Arcuri | Evolutionary Repair of Faulty Software | 2009 | (CSR-09-02) | Techreport | Testing and Debugging |
| Abstract: Testing and fault localization are very expensive software engineering tasks that have been tried to be automated. Although many successful techniques have been designed, the actual change of the code for fixing the discovered faults is still a human-only task. Even in the ideal case in which automated tools could tell us exactly where the location of a fault is, it is not always trivial how to fix the code. In this paper we analyse the possibility of automating the complex task of fixing faults. We propose to model this task as a search problem, and hence to use for example evolutionary algorithms to solve it. We then discuss the potential of this approach and how its current limits can be addressed in the future. This task is extremely challenging and mainly unexplored in literature. Hence, this paper only covers an initial investigation and gives directions for future work. A research prototype called JAFF and a case study are presented to give first validation of this approach. | ||||||
BibTeX:
@techreport{Arcurid09d,
author = {Andrea Arcuri},
title = {Evolutionary Repair of Faulty Software},
year = {2009},
number = {CSR-09-02},
url = {http://www.cs.bham.ac.uk/~axa/papers/paper_tech09a.pdf}
}
|
||||||
| 2009.07.26 | Andrea Arcuri, Per Kristian Lehre & Xin Yao | Theoretical Runtime Analysis in Search Based Software Engineering | 2009 | (CSR-09-04) | Techreport | General Aspects and Survey |
| Abstract: Search algorithms have been used to tackle software engineering problems with promising results. Although the field has attracted a lot of attention recently, it still lacks a theoretical foundation. It has been empirically shown that search algorithms are successful in some software engineering tasks, but we need to understand why and when they are successful. The long term goal is to get insight of how search algorithms work on software engineering problems, so we can exploit this knowledge to design more efficient algorithms. Runtime Analysis is a type of theoretical investigation that aims to determine, via rigorous mathematical proofs, the time a search algorithm needs to find an optimal solution. Runtime analysis has previously been carried out on traditional combinatorial problems. In this paper, we advocate that runtime analysis would be helpful in search based software engineering as well. We give the first runtime analysis of search heuristics in the software testing domain. | ||||||
BibTeX:
@techreport{ArcuriLY09,
author = {Andrea Arcuri and Per Kristian Lehre and Xin Yao},
title = {Theoretical Runtime Analysis in Search Based Software Engineering},
year = {2009},
number = {CSR-09-04},
url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/2009/CSR-09-04.pdf}
}
|
||||||
| 2009.07.26 | Zeina Awedikian, Kamel Ayari & Giuliano Antoniol | MC/DC Automatic Test Input Data Generation | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1657-1664, Montréal Canada, 8-12 July | Inproceedings | Testing and Debugging |
| Abstract: In regulated domain such as aerospace and in safety critical domains, software quality assurance is subject to strict regulation such as the RTCA DO-178B standard. Among other conditions, the DO-178B mandates for the satisfaction of the modified condition/decision coverage (MC/DC) testing criterion for software where failure condition may have catastrophic consequences. MC/DC is a white box testing criterion aiming at proving that all conditions involved in a predicate can influence the predicate value in the desired way. In this paper, we propose a novel fitness function inspired by chaining test data generation to efficiently generate test input data satisfying the MC/DC criterion. Preliminary results show the superiority of the novel fitness function that is able to avoid plateau leading to a behavior close to random test of traditional white box fitness functions. | ||||||
BibTeX:
@inproceedings{AwedikianAA09,
author = {Zeina Awedikian and Kamel Ayari and Giuliano Antoniol},
title = {MC/DC Automatic Test Input Data Generation},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1657-1664},
address = {Montréal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570123}
}
|
||||||
| 2009.07.26 | R. Landa Becerra, Ramón Sagarna & Xin Yao | An Evaluation of Differential Evolution in Software Test Data Generation | 2009 | Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09), pp. 2850-2857, Trondheim Norway, 18-21 May | Inproceedings | Testing and Debugging |
| Abstract: One of the main tasks software testing involves is the generation of the test inputs to be used during the test. Due to its expensive cost, the automation of this task has become one of the key issues in the area. Recently, this generation has been explicitly formulated as the resolution of a set of constrained optimisation problems. Differential Evolution (DE) is a population based evolutionary algorithm which has been successfully applied in a number of domains, including constrained optimisation. We present a test data generator employing DE to solve each of the constrained optimisation problems, and empirically evaluate its performance for several DE models. With the aim of comparing this technique with other approaches, we extend the experiments to the Breeder Genetic Algorithm and face it to DE, and compare different test data generators in the literature with the DE approach. The results present DE as a promising solution technique for this real-world problem. | ||||||
BibTeX:
@inproceedings{BecerraSY09,
author = {R. Landa Becerra and Ramón Sagarna and Xin Yao},
title = {An Evaluation of Differential Evolution in Software Test Data Generation},
booktitle = {Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09)},
publisher = {IEEE},
year = {2009},
pages = {2850-2857},
address = {Trondheim, Norway},
month = {18-21 May},
url = {http://www2.computer.org/portal/web/csdl/doi/10.1109/CEC.2009.4983300},
doi = {http://dx.doi.org/10.1109/CEC.2009.4983300}
}
|
||||||
| 2009.07.26 | Christophe Dubach, John Cavazos, Björn Franke, Michael O'Boyle, Grigori Fursin & Olivier Temam | Fast Compiler Optimisation Evaluation Using Code-Feature Based Performance Prediction | 2007 | Proceedings of the 4th International Conference on Computing frontiers, pp. 131-142, Ischia Italy, 7-9 May | Inproceedings | Distribution and Maintenance |
| Abstract: Performance tuning is an important and time consuming task which may have to be repeated for each new application and platform. Although iterative optimisation can automate this process, it still requires many executions of different versions of the program. As execution time is frequently the limiting factor in the number of versions or transformed programs that can be considered, what is needed is a mechanism that can automatically predict the performance of a modified program without actually having to run it. This paper presents a new machine learning based technique to automatically predict the speedup of a modified program using a performance model based on the code features of the tuned programs. Unlike previous approaches it does not require any prior learning over a benchmark suite. Furthermore, it can be used to predict the performance of any tuning and is not restricted to a prior seen trans-formation space. We show that it can deliver predictions with a high correlation coefficient and can be used to dramatically reduce the cost of search. | ||||||
BibTeX:
@inproceedings{DubachCFOFT07,
author = {Christophe Dubach and John Cavazos and Björn Franke and Michael O'Boyle and Grigori Fursin and Olivier Temam},
title = {Fast Compiler Optimisation Evaluation Using Code-Feature Based Performance Prediction},
booktitle = {Proceedings of the 4th International Conference on Computing frontiers},
publisher = {ACM},
year = {2007},
pages = {131-142},
address = {Ischia, Italy},
month = {7-9 May},
doi = {http://dx.doi.org/10.1145/1242531.1242553}
}
|
||||||
| 2009.07.26 | Paul Emberson & Iain Bate | Extending a Task Allocation Algorithm for Graceful Degradation of Real-Time Distributed Embedded Systems | 2008 | Proceedings of the 2008 Real-Time Systems Symposium (RTSS '08), pp. 270-279, Barcelona Spain, 30 November - 3 December | Inproceedings | Distribution and Maintenance |
| Abstract: Previous research which has considered task allocation and fault-tolerance together has concentrated on constructingschedules which accommodate a fixed number of redundanttasks. Often, all faults are treated as being equallysevere. There is little work which combines task allocationwith architectural level fault-tolerance issues such as thenumber of replicas to use and how they should be configured,both of which are tackled by this work. An acceptedmethod for assessing the impact of a combination of faults is to build a system utility model which can be used to assess how the system degrades when components fail. The keychallenge addressed here is how to design objective functions based on a utility model which can be incorporatedinto a search algorithm in order to optimise fault-toleranceproperties. Other issues such as how to extend the localsearch neighbourhood and balance objectives with schedulability constraints are also discussed. | ||||||
BibTeX:
@inproceedings{EmbersonB08,
author = {Paul Emberson and Iain Bate},
title = {Extending a Task Allocation Algorithm for Graceful Degradation of Real-Time Distributed Embedded Systems},
booktitle = {Proceedings of the 2008 Real-Time Systems Symposium (RTSS '08)},
publisher = {IEEE Computer Society},
year = {2008},
pages = {270-279},
address = {Barcelona, Spain},
month = {30 November - 3 December},
doi = {http://dx.doi.org/10.1109/RTSS.2008.24}
}
|
||||||
| 2009.07.26 | Javier Ferrer, Francisco Chicano & Enrique Alba | Dealing with Inheritance in OO Evolutionary Testing | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1665-1672, Montréal Canada, 8-12 July | Inproceedings | Testing and Debugging |
| Abstract: Most of the software developed in the world follows the object-oriented (OO) paradigm. However, the existing work on evolutionary testing is mainly targeted to procedural languages. All this work can be used with small changes on OO programs, but object orientation introduces new features that are not present in procedural languages. Some important issues are polymorphism and inheritance. In this paper we want to make a contribution to the inheritance field by proposing some approaches that use the information of the class hierarchy for helping test case generators to better guide the search. To the best of our knowledge, no work exists using this information to propose test cases. In this work we define a branch distance for logical expressions containing the instanceof operator in Java programs. In addition to the distance measure, we propose two mutation operators based on the distance. We study the behaviour of the mutation operators on a benchmark set composed of nine OO programs. The results show that the information collected from the class hierarchy helps in the search for test cases. | ||||||
BibTeX:
@inproceedings{FerrerCA09,
author = {Javier Ferrer and Francisco Chicano and Enrique Alba},
title = {Dealing with Inheritance in OO Evolutionary Testing},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1665-1672},
address = {Montréal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570124}
}
|
||||||
| 2009.07.26 | Kamran Ghani & John A. Clark |
Automatic Test Data Generation for Multiple Condition and MCDC Coverage
[BibTeX] |
2009 | Proceedings of the 4th International Conference on Software Engineering Advances (ICSEA '09), Porto Portugal, 20-25 September | Inproceedings | Testing and Debugging |
BibTeX:
@inproceedings{GhaniC09b,
author = {Kamran Ghani and John A. Clark},
title = {Automatic Test Data Generation for Multiple Condition and MCDC Coverage},
booktitle = {Proceedings of the 4th International Conference on Software Engineering Advances (ICSEA '09)},
year = {2009},
address = {Porto, Portugal},
month = {20-25 September}
}
|
||||||
| 2009.07.26 | Kamran Ghani, John A. Clark & Yuan Zhan | Comparing Algorithms for Search-Based Test Data Generation of Matlab Simulink Models | 2009 | Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09), Trondheim Norway, 18-21 May | Inproceedings | Testing and Debugging |
| Abstract: Search Based Software Engineering (SBSE) is an evolving field where meta-heuristic techniques are applied to solve many software engineering problems. One area of SBSE, where considerable research is underway, is software testing. We see much application of meta-heuristics search techniques for generating input test data. But most of the work in this area is concentrated on test data generation from source code. We see very little application of such techniques to testing from other sources such as requirement and design models. Zhan and Clark applied such techniques to generate test data for Simulink models. This paper extends the work of Zhan and Clark by investigating the application of Genetic Algorithms (GAs) to Simulink models and then statistically compares the results to the existing work, which is mainly based on Simulated Annealing (SA). | ||||||
BibTeX:
@inproceedings{GhaniCZ09,
author = {Kamran Ghani and John A. Clark and Yuan Zhan},
title = {Comparing Algorithms for Search-Based Test Data Generation of Matlab Simulink Models},
booktitle = {Proceedings of the 10th IEEE Congress on Evolutionary Computation (CEC '09)},
publisher = {IEEE},
year = {2009},
address = {Trondheim, Norway},
month = {18-21 May},
url = {http://www2.computer.org/portal/web/csdl/doi/10.1109/CEC.2009.4983313}
}
|
||||||
| 2009.07.26 | Stefan Gueorguiev, Mark Harman & Giuliano Antoniol | Software Project Planning for Robustness and Completion Time in the Presence of Uncertainty using Multi Objective Search Based Software Engineering | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1673-1680 (Best Paper Award), Montréal Canada, 8-12 July | Inproceedings | Management |
| Abstract: All large-scale projects contain a degree of risk and uncertainty. Software projects are particularly vulnerable to overruns, due to the this uncertainty and the inherent difficulty of software project cost estimation. In this paper we introduce a search based approach to software project robustness. The approach is to formulate this problem as a multi objective Search Based Software Engineering problem, in which robustness and completion time are treated as two competing objectives. The paper presents the results of the application of this new approach to four large real-world software projects, using two different models of uncertainty. | ||||||
BibTeX:
@inproceedings{GueorguievHA09,
author = {Stefan Gueorguiev and Mark Harman and Giuliano Antoniol},
title = {Software Project Planning for Robustness and Completion Time in the Presence of Uncertainty using Multi Objective Search Based Software Engineering},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1673-1680 (Best Paper Award)},
address = {Montréal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570125}
}
|
||||||
| 2009.07.26 | Chen Hao, John A. Clark & Jeremy L. Jacob | A Search-based Approach to the Automated Design of Security Protocols | 2004 | (YCS-2004-376), May | Techreport | Network Protocols |
| Abstract: Security protocols play an important role in modern communications. However, security protocol development is a delicate task; experience shows that computer security protocols are notoriously difficult to get right. Recently, Clark and Jacob provided a framework for automatic protocol generation based on combinatorial optimisation techniques and the symmetric key part of BAN logic. This paper shows how such an approach can be further developed to encompass the full BAN logic without loss of efficiency and thereby synthesise public key protocols and hybrid protocols. | ||||||
BibTeX:
@techreport{HaoCJ04,
author = {Chen Hao and John A. Clark and Jeremy L. Jacob},
title = {A Search-based Approach to the Automated Design of Security Protocols},
year = {2004},
number = {YCS-2004-376},
month = {May},
url = {http://www.cs.york.ac.uk/ftpdir/reports/2004/YCS/376/YCS-2004-376.pdf}
}
|
||||||
| 2009.07.26 | Mark Harman & Phil McMinn |
A Theoretical and Empirical Study of Search Based Testing: Local, Global and Hybrid Search
[BibTeX] |
To appear | IEEE Transactions on Software Engineering | Article | Testing and Debugging |
BibTeX:
@article{HarmanM,
author = {Mark Harman and Phil McMinn},
title = {A Theoretical and Empirical Study of Search Based Testing: Local, Global and Hybrid Search},
journal = {IEEE Transactions on Software Engineering},
year = {To appear}
}
|
||||||
| 2009.07.26 | Kiran Lakhotia, Phil McMinn & Mark Harman | Automated Test Data Generation for Coverage: Haven't We Solved This Problem Yet? | 2009 | Proceedings of Testing: Academia & Industry Conference - Practice And Research Techniques (TAIC-PART '09), pp. 95-104, Windsor UK, 4-6 September | Inproceedings | Testing and Debugging |
BibTeX:
@inproceedings{LakhotiaMH09,
author = {Kiran Lakhotia and Phil McMinn and Mark Harman},
title = {Automated Test Data Generation for Coverage: Haven't We Solved This Problem Yet?},
booktitle = {Proceedings of Testing: Academia & Industry Conference - Practice And Research Techniques (TAIC-PART '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {95-104},
address = {Windsor, UK},
month = {4-6 September},
doi = {http://dx.doi.org/10.1109/TAICPART.2009.15}
}
|
||||||
| 2009.07.26 | William B. Langdon, Mark Harman & Yue Jia | Multi Objective Mutation Testing with Genetic Programming | 2009 | Proceedings of Testing: Academia & Industry Conference - Practice And Research Techniques (TAIC-PART '09), pp. 21-29, Windsor UK, 4-6 September | Inproceedings | Testing and Debugging |
| Abstract: In academic empirical studies, mutation testing has been demonstrated to be a powerful technique for fault finding. However, it remains very expensive and the few valuable traditional mutants that resemble real faults are mixed in with many others that denote unrealistic faults. These twin problems of expense and realism have been a significant barrier to industrial uptake of mutation testing. Genetic programming is used to search the space of complex faults (higher order mutants). The space is much larger than the traditional first order mutation space of simple faults. However, the use of a search based approach makes this scalable, seeking only those mutants that challenge the tester, while the consideration of complex faults addresses the problem of fault realism; it is known that 90percent of real faults are complex (i.e. higher order). We show that we are able to find examples that pose challenges to testing in the higher order space that cannot be represented in the first order space. | ||||||
BibTeX:
@inproceedings{LangdonHJ09,
author = {William B. Langdon and Mark Harman and Yue Jia},
title = {Multi Objective Mutation Testing with Genetic Programming},
booktitle = {Proceedings of Testing: Academia & Industry Conference - Practice And Research Techniques (TAIC-PART '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {21-29},
address = {Windsor, UK},
month = {4-6 September},
url = {http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/langdon_2009_TAICPART.pdf},
doi = {http://dx.doi.org/10.1109/TAICPART.2009.18}
}
|
||||||
| 2009.07.26 | William B. Langdon, Mark Harman & Yue Jia | Multi objective higher order mutation testing with GP | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1945-1946, Montréal Canada, 8-12 July | Inproceedings | Testing and Debugging |
| Abstract: Mutation testing is a powerful software engineering technique for fault finding. It works by injecting known faults (mutations) into software and seeing if the test suite finds them. It remains very expensive and the few valuable traditional mutants that resemble real faults are mixed in with many others that denote unrealistic faults. The expense and lack of realism inhibit industrial uptake of mutation testing. Genetic programming searches the space of complex faults to find realistic higher order mutants. Despite the much larger search space, we have found mutants composed of multiple changes to the C source code that challenge the tester and which cannot be represented in the first order space. | ||||||
BibTeX:
@inproceedings{LangdonHJ09b,
author = {William B. Langdon and Mark Harman and Yue Jia},
title = {Multi objective higher order mutation testing with GP},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1945-1946},
address = {Montréal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570251}
}
|
||||||
| 2009.07.26 | Per Kristian Lehre & Xin Yao | Runtime Analysis of Search Heuristics on Software Engineering Problems | 2009 | Frontiers of Computer Science in China, Vol. 3(1), pp. 64-72, March | Article | General Aspects and Survey |
| Abstract: Many software engineering tasks can potentially be automated using search heuristics. However, much work is needed in designing and evaluating search heuristics before this approach can be routinely applied to a software engineering problem. Experimental methodology should be complemented with theoretical analysis to achieve this goal. Recently, there have been significant theoretical advances in the runtime analysis of evolutionary algorithms (EAs) and other search heuristics in other problem domains. We suggest that these methods could be transferred and adapted to gain insight into the behaviour of search heuristics on software engineering problems while automating software engineering. | ||||||
BibTeX:
@article{LehreY09,
author = {Per Kristian Lehre and Xin Yao},
title = {Runtime Analysis of Search Heuristics on Software Engineering Problems},
journal = {Frontiers of Computer Science in China},
year = {2009},
volume = {3},
number = {1},
pages = {64-72},
month = {March},
doi = {http://dx.doi.org/10.1007/s11704-009-0006-6}
}
|
||||||
| 2009.07.26 | Phil McMinn | Search-based Failure Discovery using Testability Transformations to Generate Pseudo-Oracles | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1689-1696, Montréal Canada, 8-12 July | Inproceedings | Testing and Debugging |
| Abstract: Testability transformations are source-to-source program transformations that are designed to improve the testability of a program. This paper introduces a novel approach in which transformations are used to improve testability of a program by generating a pseudo-oracle. A pseudo-oracle is an alternative version of a program under test whose output can be compared with the original. Differences in output between the two programs may indicate a fault in the original program. Two transformations are presented. The first can highlight numerical inaccuracies in programs and cumulative roundoff errors, whilst the second may detect the presence of race conditions in multi-threaded code. Once a pseudo-oracle is generated, techniques are applied from the field of search-based testing to automatically find differences in output between the two versions of the program. The results of an experimental study presented in the paper show that both random testing and genetic algorithms are capable of utilizing the pseudo-oracles to automatically find program failures. Using genetic algorithms it is possible to explicitly maximize the discrepancies between the original programs and their pseudo-oracles. This allows for the production of test cases where the observable failure is highly pronounced, enabling the tester to establish the seriousness of the underlying fault. |
||||||
BibTeX:
@inproceedings{McMinn09,
author = {Phil McMinn},
title = {Search-based Failure Discovery using Testability Transformations to Generate Pseudo-Oracles},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1689-1696},
address = {Montréal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570127}
}
|
||||||
| 2009.07.26 | Matteo Miraz, Pier Luca Lanzi & Luciano Baresi | TestFul: Using a Hybrid Evolutionary Algorithm for Testing Stateful Systems | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1947-1948, Montréal Canada, 8-12 July | Inproceedings | Testing and Debugging |
| Abstract: This paper introduces TestFul, a framework for testing stateful systems and focuses on object-oriented software. TestFul employs a hybrid multi-objective evolutionary algorithm, to explore the space of feasible tests efficiently, and novel quality metrics, based on both def-use pairs and behavioral coverage, to judge the quality of tests. We compare our framework against random testing by considering the level of coverage, the size of generated tests, and the time required to generate the tests. Our preliminary results show the validity of the approach: TestFul outperforms random testing in most of the cases. |
||||||
BibTeX:
@inproceedings{MirazLB09,
author = {Matteo Miraz and Pier Luca Lanzi and Luciano Baresi},
title = {TestFul: Using a Hybrid Evolutionary Algorithm for Testing Stateful Systems},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1947-1948},
address = {Montréal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570252}
}
|
||||||
| 2009.07.26 | Nick J. Pizzi | Software Quality Prediction using Fuzzy Integration: A Case Study | 2008 | Soft Computing, Vol. 12(1), pp. 67-76, January | Article | Management |
| Abstract: Given the complexity of many contemporary software systems, it is often difficult to gauge the overall quality of their underlying software components. A potential technique to automatically evaluate such qualitative attributes is to use software metrics as quantitative predictors. In this case study, an aggregation technique based on fuzzy integration is presented that combines the predicted qualitative assessments from multiple classifiers. Multiple linear classifiers are presented with randomly selected subsets of automatically generated software metrics describing components from a sophisticated biomedical data analysis system. The external reference test is a software developer's thorough assessment of complexity, maintainability, and usability, which is used to assign corresponding quality class labels to each system component. The aggregated qualitative predictions using fuzzy integration are shown to be superior to the predictions from the respective best single classifiers. | ||||||
BibTeX:
@article{Pizzi08,
author = {Nick J. Pizzi},
title = {Software Quality Prediction using Fuzzy Integration: A Case Study},
journal = {Soft Computing},
year = {2008},
volume = {12},
number = {1},
pages = {67-76},
month = {January},
url = {http://www.cs.umanitoba.ca/~pizzi/assets/papers/softcompj08.pdf},
doi = {http://dx.doi.org/10.1007/s00500-007-0217-4}
}
|
||||||
| 2009.07.26 | Sion Ll Rhys, Simon Poulding & John A. Clark | Using Automated Search to Generate Test Data for Matlab | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1697-1704, Montréal Canada, 8-12 July | Inproceedings | Testing and Debugging |
| Abstract: The critical functionality of many software applications relies on code that performs mathematically complex computations. However, such code is often difficult to test owing to the compound datatypes used and complicated mathematical operations performed. This paper proposes the use of automated search as an efficient means of generating test data for this type of software. Taking Matlab as an example of widely-used mathematical software, a technical framework is described that extends previous work on search-based test data generation in order to handle matrix datatypes and associated relational operators. An empirical evaluation demonstrates the feasibility of this approach. | ||||||
BibTeX:
@inproceedings{RhysPC09,
author = {Sion Ll Rhys and Simon Poulding and John A. Clark},
title = {Using Automated Search to Generate Test Data for Matlab},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1697-1704},
address = {Montréal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570128}
}
|
||||||
| 2009.07.26 | José Carlos Bregieiro Ribeiro, Mário Zenha-Rela & Francisco Fernández de Vega | Test Case Evaluation and Input Domain Reduction Strategies for the Evolutionary Testing of Object-Oriented Software | 2009 | Information and Software Technology, July | Article | Testing and Debugging |
| Abstract: In Evolutionary Testing, meta-heuristic search techniques are used for generating test data. The focus of our research is on employing evolutionary algorithms for the structural unit-testing of Object-Oriented programs. Relevant contributions include the introduction of novel methodologies for automation, search guidance and Input Domain Reduction; the strategies proposed were empirically evaluated with encouraging results. Test cases are evolved using the Strongly-Typed Genetic Programming technique. Test data quality evaluation includes instrumenting the test object, executing it with the generated test cases, and tracing the structures traversed in order to derive coverage metrics. The methodology for efficiently guiding the search process towards achieving full structural coverage involves favouring test cases that exercise problematic structures. Purity Analysis is employed as a systematic strategy for reducing the search space. | ||||||
BibTeX:
@article{RibeiroZV09,
author = {José Carlos Bregieiro Ribeiro and Mário Zenha-Rela and Francisco Fernández de Vega},
title = {Test Case Evaluation and Input Domain Reduction Strategies for the Evolutionary Testing of Object-Oriented Software},
journal = {Information and Software Technology},
year = {2009},
month = {July},
url = {http://dx.doi.org/10.1016/j.infsof.2009.06.009},
doi = {http://dx.doi.org/10.1016/j.infsof.2009.06.009}
}
|
||||||
| 2009.07.26 | José Carlos Bregieiro Ribeiro, Mário Alberto Zenha-Rela & Francisco Fernández de Vega | An Adaptive Strategy for Improving the Performance of Genetic Programming-based Approaches to Evolutionary Testing | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1949-1950, Montréal Canada, 8-12 July | Inproceedings | Testing and Debugging |
| Abstract: This paper proposes an adaptive strategy for enhancing Genetic Programming-based approaches to automatic test case generation. The main contribution of this study is that of proposing an adaptive Evolutionary Testing methodology for promoting the introduction of relevant instructions into the generated test cases by means of mutation; the instructions from which the algorithm can choose are ranked, with their rankings being updated every generation in accordance to the feedback obtained from the individuals evaluated in the preceding generation. The experimental studies developed show that the adaptive strategy proposed improves the algorithm's efficiency considerably, while introducing a negligible computational overhead. | ||||||
BibTeX:
@inproceedings{RibeiroZV09b,
author = {José Carlos Bregieiro Ribeiro and Mário Alberto Zenha-Rela and Francisco Fernández de Vega},
title = {An Adaptive Strategy for Improving the Performance of Genetic Programming-based Approaches to Evolutionary Testing},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1949-1950},
address = {Montréal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570253}
}
|
||||||
| 2009.07.26 | Mark Stephenson, Una-May O'Reilly, Martin C. Martin & Saman Amarasinghe Ryan, C.; Soule, T.; Keijzer, M.; Tsang, E.; Poli, R. & Costa, E. (Hrsg.) | Genetic Programming Applied to Compiler Heuristic Optimization | 2003 | Proceedings of the 6th European Conference on Genetic Programming (EuroGP '03), Vol. 2610, pp. 238-253, Essex, 14-16 April | Inproceedings | Distribution and Maintenance |
| Abstract: Genetic programming (GP) has a natural niche in the optimization of small but high payoff software heuristics. We use GP to optimize the priority functions associated with two well known compiler heuristics: predicated hyperblock formation, and register allocation. Our system achieves impressive speedups over a standard baseline for both problems. For hyperblock selection, application-specific heuristics obtain an average speedup of 23percent (up to 73percent) for the applications in our suite. By evolving the compiler's heuristic over several benchmarks, the best general-purpose heuristic our system found improves the predication algorithm by an average of 25percent on our training set, and 9percent on a completely unrelated test set. We also improve a well-studied register allocation heuristic. On average, our system obtains a 6percent speedup when it specializes the register allocation algorithm for individual applications. The general-purpose heuristic for register allocation achieves a 3percent improvement. | ||||||
BibTeX:
@inproceedings{StephensonOMA03,
author = {Mark Stephenson and Una-May O'Reilly and Martin C. Martin and Saman Amarasinghe},
title = {Genetic Programming Applied to Compiler Heuristic Optimization},
booktitle = {Proceedings of the 6th European Conference on Genetic Programming (EuroGP '03)},
publisher = {Springer-Verlag},
year = {2003},
volume = {2610},
pages = {238-253},
address = {Essex},
month = {14-16 April},
url = {http://www.martincmartin.com/papers/GPApppliedToCompilerHeuristicOptimizationStephenson.pdf}
}
|
||||||
| 2009.07.26 | Nigel Tracey, John A. Clark, Keith Mander & John McDermid | An Automated Framework for Structural Test-Data Generation | 1998 | Proceedings of the 13th IEEE International Conference on Automated Software Engineering (ASE '98), pp. 285-288, Honolulu Hawaii USA, 13-16 October | Inproceedings | Testing and Debugging |
| Abstract: Structural testing criteria are mandated in many software development standards and guidelines. The process of generating test data to achieve 100% coverage of a given structural coverage metric is labour-intensive and expensive. This paper presents an approach to automate the generation of such test data. The test-data generation is based on the application of a dynamic optimisation-based search for the required test data. The same approach can be generalised to solve other test-data generation problems. Three such applications are discussed-boundary value analysis, assertion/run-time exception testing, and component re-use testing. A prototype tool-set has been developed to facilitate the automatic generation of test data for these structural testing problems. The results of preliminary experiments using this technique and the prototype tool-set are presented and show the efficiency and effectiveness of this approach. | ||||||
BibTeX:
@inproceedings{TraceyCMM98,
author = {Nigel Tracey and John A. Clark and Keith Mander and John McDermid},
title = {An Automated Framework for Structural Test-Data Generation},
booktitle = {Proceedings of the 13th IEEE International Conference on Automated Software Engineering (ASE '98)},
publisher = {IEEE Computer Society},
year = {1998},
pages = {285-288},
address = {Honolulu, Hawaii, USA},
month = {13-16 October},
doi = {http://dx.doi.org/10.1109/ASE.1998.732680}
}
|
||||||
| 2009.07.26 | Nigel Tracey, John A. Clark, Keith Mander & John McDermid Australian Computer Society | Integrating Automated Testing with Exception Freeness Proofs for Safety Critical Systems | 1999 | Proceedings of the 4th Australian Workshop on Safety Critical Systems and Software, Canberra Australia, 26 November | Inproceedings | Testing and Debugging |
| Abstract: The exception handling code of a system is in general the least documented, tested and understood part, since exceptions are expected to occur only rarely. This paper presents a technique for automatically generating test-data to test exceptions. The approach is based on the application of a dynamic global optimisation based search for the required test-data. The authors' work has focused on test-data generation for safety-critical systems. Such systems must be free from anomalous and uncontrolled behaviour. Typically, it is easier to prove the absence of any exceptions than it is to prove that the exception handling is safe. A process for integrating automated testing with exception freeness proofs is presented as a way forward for tackling the special needs of safety critical systems. An evaluation shows the application of the technique to a commercial aircraft engine controller system as part of a proof of exception freeness. | ||||||
BibTeX:
@inproceedings{TraceyCMM99,
author = {Nigel Tracey and John A. Clark and Keith Mander and John McDermid},
title = {Integrating Automated Testing with Exception Freeness Proofs for Safety Critical Systems},
booktitle = {Proceedings of the 4th Australian Workshop on Safety Critical Systems and Software},
year = {1999},
address = {Canberra, Australia},
month = {26 November},
url = {http://www.cs.york.ac.uk/testsig/publications/njt-nov99.pdf}
}
|
||||||
| 2009.07.26 | Nigel Tracey, John A. Clark, John McDermid & Keith Mander | Integrating Safety Analysis with Automatic Test-Data Generation for Software Safety Verification | 1999 | Proceedings of 17th International System Safety Conference, pp. 128-137, Orlando FL USA, 16-21 August | Inproceedings | Testing and Debugging |
| Abstract: Typically verification focuses on demonstrating consistency between an implementation and a functional specification. For safety critical systems this is not sufficient, the implementation must also meet the system safety constraints and safety requirements. The work presented in this paper builds on the authors' previous work in developing a general framework for dynamically generating test-data using heuristic global optimisation techniques. This framework has been adapted to allow automated test-data generation to be used to support the application of software fault tree analysis. Using the framework a search for test-data that causes an identified software hazard condition can be performed automatically. The fact that a hazardous condition can arise may be discovered much earlier than with conventional testing using this automated approach. If no test-data is located then SFTA, or other forms of static analysis, can be performed to give the necessary assurance that no such data exists. A number of extensions to this basic approach are also outlined. These are, integration with fault injection, testing for exception conditions and testing for safe component reuse and integration. Preliminary results are encouraging and show that the approach justifies further research. |
||||||
BibTeX:
@inproceedings{TraceyCMM99b,
author = {Nigel Tracey and John A. Clark and John McDermid and Keith Mander},
title = {Integrating Safety Analysis with Automatic Test-Data Generation for Software Safety Verification},
booktitle = {Proceedings of 17th International System Safety Conference},
year = {1999},
pages = {128-137},
address = {Orlando, FL, USA},
month = {16-21 August},
url = {http://www-users.cs.york.ac.uk/~jac/PublishedPapers/IntegratingSafetyAnalysisWithAutomaticAug99.pdf}
}
|
||||||
| 2009.07.26 | Westley Weimer, ThanhVu Nguyen, Claire Le Goues & Stephanie Forrest Fickas, S. (Hrsg.) | Automatically Finding Patches Using Genetic Programming | 2009 | Proceedings of the 31st IEEE International Conference on Software Engineering (ICSE '09), pp. 364-374, Vancouver Canada, 16-24 May | Inproceedings | Testing and Debugging |
| Abstract: Automatic repair of programs has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We introduce a fully automated method for locating and repairing bugs in software. The approach works on off-the-shelf legacy applications and does not require formal specifications, program annotations or special coding practices. Once a program fault is discovered, an extended form of genetic programming is used to evolve program variants until one is found that both retains required functionality and also avoids the defect in question. Standard test cases are used to exercise the fault and to encode program requirements. After a successful repair has been discovered, it is minimized using structural differencing algorithms and delta debugging. We describe the proposed method and report results from an initial set of experiments demonstrating that it can successfully repair ten different C programs totaling 63,000 lines in under 200 seconds, on average. | ||||||
BibTeX:
@inproceedings{WeimerNLF09,
author = {Westley Weimer and ThanhVu Nguyen and Claire Le Goues and Stephanie Forrest},
title = {Automatically Finding Patches Using Genetic Programming},
booktitle = {Proceedings of the 31st IEEE International Conference on Software Engineering (ICSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {364-374},
address = {Vancouver, Canada},
month = {16-24 May},
url = {http://www.cs.unm.edu/~tnguyen/papers/genprog.pdf},
doi = {http://dx.doi.org/10.1109/ICSE.2009.5070536}
}
|
||||||
| 2009.07.26 | Shin Yoo, Mark Harman, Paolo Tonella & Angelo Susi | Clustering Test Cases to Achieve Effective and Scalable Prioritisation Incorporating Expert Knowledge | 2009 | Proceedings of The 18th International Symposium On Software Testing and Analysis (ISSTA '09), pp. 201-212, Chicago IL USA, 19-23 July | Inproceedings | Testing and Debugging |
| Abstract: Pair-wise comparison has been successfully utilised in order to prioritise test cases by exploiting the rich, valuable and unique knowledge of the tester. However, the prohibitively large cost of the pair-wise comparison method prevents it from being applied to large test suites. In this paper, we introduce a cluster-based test case prioritisation technique. By clustering test cases, based on their dynamic runtime behaviour, we can reduce the required number of pair-wise comparisons significantly. The approach is evaluated on seven test suites ranging in size from 154 to 1,061 test cases. We present an empirical study that shows that the resulting prioritisation is more effective than existing coverage-based prioritisation techniques in terms of rate of fault detection. Perhaps surprisingly, the paper also demonstrates that clustering (even without human input) can outperform unclustered coverage-based technologies, and discusses an automated process that can be used to determine whether the application of the proposed approach would yield improvement. | ||||||
BibTeX:
@inproceedings{YooHTS09,
author = {Shin Yoo and Mark Harman and Paolo Tonella and Angelo Susi},
title = {Clustering Test Cases to Achieve Effective and Scalable Prioritisation Incorporating Expert Knowledge},
booktitle = {Proceedings of The 18th International Symposium On Software Testing and Analysis (ISSTA '09)},
publisher = {ACM},
year = {2009},
pages = {201-212},
address = {Chicago, IL, USA},
month = {19-23 July},
doi = {http://dx.doi.org/10.1145/1572272.1572296}
}
|
||||||
| 2009.07.26 | Shin Yoo, Mark Harman & Shmuel Ur | Measuring and Improving Latency to Avoid Test Suite Wear Out | 2009 | Proceedings of the IEEE International Conference on Software Testing, Verification, and Validation Workshops (ICSTW '09), pp. 101-110 (Best Paper Award), Denver Colorado USA, 1-4 April | Inproceedings | Testing and Debugging |
| Abstract: This paper introduces the concept of test suite latency. The more latent a test suite, the more it is possible to repeatedly select subsets that achieve a test goal (such as coverage) without re-applying test cases. Where a test case is re-applied it cannot reveal new information. The more a test suite is forced to re-apply already applied test cases in order to achieve the test goal, the more it has become `worn out'. Test suite latency is the flipside of wear out; the more latent a test suite, the less prone it is to wear out. The paper introduces a theory of test suite latency. It presents results from the empirical study of latency, highlighting the need for latency enhancement. The paper also introduces a strategy and algorithms for improving latency and an empirical study of their effectiveness. The results show that local search is effective at improving the latency of a test suite. | ||||||
BibTeX:
@inproceedings{YooHU09,
author = {Shin Yoo and Mark Harman and Shmuel Ur},
title = {Measuring and Improving Latency to Avoid Test Suite Wear Out},
booktitle = {Proceedings of the IEEE International Conference on Software Testing, Verification, and Validation Workshops (ICSTW '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {101-110 (Best Paper Award)},
address = {Denver, Colorado, USA},
month = {1-4 April},
doi = {http://dx.doi.org/10.1109/ICSTW.2009.10}
}
|
||||||
| 2009.07.24 | Simon Poulding, Paul Emberson, Iain Bate & John A. Clark | An Efficient Experimental Methodology for Configuring Search-Based Design Algorithms | 2007 | Proceedings of the 10th IEEE High Assurance Systems Engineering Symposium (HASE '07), pp. 53-62, Dallas Texas USA, 14-16 November | Inproceedings | Design Tools and Techniques |
| Abstract: Many problems in high assurance systems design are only tractable using computationally expensive search algorithms. For these algorithms to be useful, designers must be provided with guidance as to how to configure the algorithms appropriately. This paper presents an experimental methodology for deriving such guidance that remains efficient when the algorithm requires substantial computing resources or takes a long time to find solutions. The methodology is shown to be effective on a highly-constrained task allocation algorithm that provides design solutions for high integrity systems. Using the methodology, an algorithm configuration is derived in a matter of days that significantly outperforms one resulting from months of "trial-and-error" optimisation. | ||||||
BibTeX:
@inproceedings{PouldingEBC07,
author = {Simon Poulding and Paul Emberson and Iain Bate and John A. Clark},
title = {An Efficient Experimental Methodology for Configuring Search-Based Design Algorithms},
booktitle = {Proceedings of the 10th IEEE High Assurance Systems Engineering Symposium (HASE '07)},
publisher = {IEEE Computer Society},
year = {2007},
pages = {53-62},
address = {Dallas, Texas, USA},
month = {14-16 November},
doi = {http://dx.doi.org/10.1109/HASE.2007.19}
}
|
||||||
| 2009.07.03 | Shaukat Ali, Lionel C. Briand, Hadi Hemmati & Rajwinder Kaur Panesar-Walawege | A Systematic Review of the Application and Empirical Investigation of Search-Based Test-Case Generation | To appear | IEEE Transactions on Software Engineering, Los Alamitos CA USA | Article | Testing and Debugging |
| Abstract: Metaheuristic search techniques have been extensively used to automate the process of generating test cases and thus providing solutions for a more cost-effective testing process. This approach to test automation, often coined as "Search-based Software Testing" (SBST), has been used for a wide variety of test case generation purposes. Since SBST techniques are heuristic by nature, they must be empirically investigated in terms of how costly and effective they are at reaching their test objectives and whether they scale up to realistic development artifacts. However, approaches to empirically study SBST techniques have shown wide variation in the literature. This paper presents the results of a systematic, comprehensive review that aims at characterizing how empirical studies have been designed to investigate SBST cost-effectiveness and what empirical evidence is available in the literature regarding SBST cost-effectiveness and scalability. We also provide a framework that drives the data collection process of this systematic review and can be the starting point of guidelines on how SBST techniques can be empirically assessed. The intent is to aid future researchers doing empirical studies in SBST by providing an unbiased view of the body of empirical evidence and by guiding them in performing well designed empirical studies. | ||||||
BibTeX:
@article{AliBHP,
author = {Shaukat Ali and Lionel C. Briand and Hadi Hemmati and Rajwinder Kaur Panesar-Walawege},
title = {A Systematic Review of the Application and Empirical Investigation of Search-Based Test-Case Generation},
journal = {IEEE Transactions on Software Engineering},
publisher = {IEEE Computer Society},
year = {To appear},
address = {Los Alamitos, CA, USA},
doi = {http://doi.ieeecomputersociety.org/10.1109/TSE.2009.52}
}
|
||||||
| 2009.07.03 | Paul Emberson & Iain Bate | Stressing Search with Scenarios for Flexible Solutions to Real-Time Task Allocation Problems | To appear | IEEE Transactions on Software Engineering, Los Alamitos CA USA | Article | |
| Abstract: One of the most important properties of a good software engineering process and of the design of the software it produces is robustness to changing requirements. Scenario-based analysis is a popular method for improving the flexibility of software architectures. This paper demonstrates a search-based technique for automating scenario-based analysis in the software architecture deployment view. Specifically, a novel parallel simulated annealing search algorithm is applied to the real-time task allocation problem to find baseline solutions which require a minimal number of changes in order to meet the requirements of potential upgrade scenarios. Another simulated annealing based search is used for finding a solution which is similar to an existing baseline when new requirements arise. Solutions generated using a variety of scenarios are judged by how well they respond to different system requirements changes. The evaluation is performed on a set of problems with a controlled set of different characteristics. | ||||||
BibTeX:
@article{EmbersonB,
author = {Paul Emberson and Iain Bate},
title = {Stressing Search with Scenarios for Flexible Solutions to Real-Time Task Allocation Problems},
journal = {IEEE Transactions on Software Engineering},
publisher = {IEEE Computer Society},
year = {To appear},
address = {Los Alamitos, CA, USA},
doi = {http://doi.ieeecomputersociety.org/10.1109/TSE.2009.58}
}
|
||||||
| 2009.07.03 | Usman Farooq & Chiou Peng Lam | A Max-Min Multiobjective Technique to Optimize Model Based Test Suite | 2009 | Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, ACIS International Conference onProceedings of the 10th ACIS International Conference on Software Engineering, Artificial Intelligences, Networking and Parallel/Distributed Computing, Vol. 0, pp. 569-574, Los Alamitos CA USA | Inproceedings | Testing and Debugging |
| Abstract: Generally, quality software production seeks timely delivery with higher productivity at lower cost. Redundancy in a test suite raises the execution cost and wastes scarce project resources. In model-based testing, the testing process starts with earlier software developmental phases and enables fault detection in earlier phases. The redundancy in the test suites generated from models can be detected earlier as well and removed prior to its execution. The paper presents a novel max-min multiobjective technique incorporated into a test suite optimization framework to find a better trade-off between the intrinsically conflicting goals. For illustration two objectives i.e. coverage and size of a test suite were used however it can be extended to more objectives. The study is associated with model based testing and reports the results of the empirical analysis on four UML based synthetic as well as industrial Activity Diagram models. | ||||||
BibTeX:
@inproceedings{FarooqL09,
author = {Usman Farooq and Chiou Peng Lam},
title = {A Max-Min Multiobjective Technique to Optimize Model Based Test Suite},
booktitle = {Proceedings of the 10th ACIS International Conference on Software Engineering, Artificial Intelligences, Networking and Parallel/Distributed Computing},
journal = {Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, ACIS International Conference on},
publisher = {IEEE Computer Society},
year = {2009},
volume = {0},
pages = {569-574},
address = {Los Alamitos, CA, USA},
doi = {http://doi.ieeecomputersociety.org/10.1109/SNPD.2009.33}
}
|
||||||
| 2009.07.03 | Dongsun Kim & Sooyong Park | Reinforcement Learning-based Dynamic Adaptation Planning Method for Architecture-based Self-Managed Software | 2009 | Software Engineering for Adaptive and Self-Managing Systems, International Workshop onProceedings of 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, Vol. 0, pp. 76-85, Los Alamitos CA USA | Inproceedings | |
| Abstract: Recently, software systems face dynamically changing environments, and the users of the systems provide changing requirements at run-time. Self-management is emerging to deal with these problems. One of the key issues to achieve self-management is planning for selecting appropriate structure or behavior of self-managed software systems. There are two types of planning in self-management: off-line and on-line planning. Recent discussion has focused on off-line planning which provides static relationships between environmental changes and software configurations. In on-line planning, a software system can autonomously derive mappings between environmental changes and software configurations by learning its dynamic environment and using its prior experience. In this paper, we propose a reinforcement learning-based approach to on-line planning in architecture-based self-management. This approach enables a software system to improve its behavior by learning the results of its behavior and by dynamically changing its plans based on the learning in the presence of environmental changes. The paper presents a case study to illustrate the approach and its result shows that reinforcement learning-based on-line planning is effective for architecture-based self-management. | ||||||
BibTeX:
@inproceedings{KimP09b,
author = {Dongsun Kim and Sooyong Park},
title = {Reinforcement Learning-based Dynamic Adaptation Planning Method for Architecture-based Self-Managed Software},
booktitle = {Proceedings of 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems},
journal = {Software Engineering for Adaptive and Self-Managing Systems, International Workshop on},
publisher = {IEEE Computer Society},
year = {2009},
volume = {0},
pages = {76-85},
address = {Los Alamitos, CA, USA},
doi = {http://doi.ieeecomputersociety.org/10.1109/SEAMS.2009.5069076}
}
|
||||||
| 2009.07.03 | Raluca Lefticaru, Florentin Ipate, Marian Gheorghe & Gexiang Zhang | Tuning P Systems for Solving the Broadcasting Problem | 2009 | Proceedings of the Tenth Workshop on Membrane Computing (WMC10), pp. 337-354 | Inproceedings | |
| Abstract: P systems are employed in various contexts to specify or model different problems. In certain cases the system is not entirely known. In this paper we will consider the broadcasting algorithm and present a method to determine the format of the rules of the P system utilised to specify the algorithm. | ||||||
BibTeX:
@inproceedings{LefticaruIGZ09,
author = {Raluca Lefticaru and Florentin Ipate and Marian Gheorghe and Gexiang Zhang},
title = {Tuning P Systems for Solving the Broadcasting Problem},
booktitle = {Proceedings of the Tenth Workshop on Membrane Computing (WMC10)},
year = {2009},
pages = {337-354},
url = {http://www.gcn.us.es/files/337broadcast_4.pdf}
}
|
||||||
| 2009.07.03 | Per Kristian Lehre & Xin Yao | On the Impact of Mutation-Selection Balance on the Runtime of Evolutionary Algorithms | 2009 | (CSR-09-07), August | Techreport | General Aspects and Survey |
| Abstract: The interplay between the mutation operator and the selection mechanism plays a fundamental role in the behaviour of evolutionary algorithms (EAs). However, this interplay is still not completely understood. This paper presents a rigorous runtime analysis of a non-elitistic population based EA that uses the linear ranking selection mechanism. The analysis focuses on how the balance between parameter $eta$ controlling the selection pressure in linear ranking selection, and parameter $chi$ controlling the bit-wise mutation rate impact the expected runtime. The results point out situations where a correct balance between selection pressure and mutation rate is essential for finding the optimal solution in polynomial time. In particular, it is shown that there exist fitness functions which can only be solved in polynomial time if the ratio between parameters $eta$ and $chi$ is within a narrow critical interval, and where a small change in this ratio can increase the runtime exponentially. Furthermore, it is shown that the appropriate parameter choice depends on the characteristics of the fitness function. Hence there does in general not exists a problem-independent optimal balance between mutation rate and selection pressure. In addition to original results on EAs, this paper also introduces for the first time new techniques, i.e., branching processes, to the analysis of non-elitist population-based EAs. | ||||||
BibTeX:
@techreport{Lehre09,
author = {Per Kristian Lehre and Xin Yao},
title = {On the Impact of Mutation-Selection Balance on the Runtime of Evolutionary Algorithms},
year = {2009},
number = {CSR-09-07},
month = {August},
url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/2009/CSR-09-07.pdf}
}
|
||||||
| 2009.07.03 | Anne Martens, Franz Brosch & Ralf Reussner | Optimising Multiple Quality Criteria of Service-Oriented Software Architectures | 2009 | Proceedings of the 1st International Workshop on Quality of Service-Oriented Software Systems (QUASOSS), pp. 25-32 | Inproceedings | |
BibTeX:
@inproceedings{MartensBR09b,
author = {Anne Martens and Franz Brosch and Ralf Reussner},
title = {Optimising Multiple Quality Criteria of Service-Oriented Software Architectures},
booktitle = {Proceedings of the 1st International Workshop on Quality of Service-Oriented Software Systems (QUASOSS)},
publisher = {ACM, New York, NY, USA},
year = {2009},
pages = {25--32},
url = {http://sdqweb.ipd.uka.de/publications/pdfs/martens2009b.pdf},
doi = {http://doi.acm.org/10.1145/1596473.1596481}
}
|
||||||
| 2009.07.03 | Anne Martens & Heiko Koziolek | Performance-oriented Design Space Exploration | 2008 | Proceedings of the Thirteenth International Workshop on Component-Oriented Programming (WCOP'08),, pp. 25-32, Karlsruhe Germany | Inproceedings | Design Tools and Techniques |
BibTeX:
@inproceedings{MartensK08,
author = {Anne Martens and Heiko Koziolek},
title = {Performance-oriented Design Space Exploration},
booktitle = {Proceedings of the Thirteenth International Workshop on Component-Oriented Programming (WCOP'08),},
year = {2008},
pages = {25-32},
address = {Karlsruhe, Germany},
url = {http://sdqweb.ipd.uka.de/publications/pdfs/martens2008c.pdf}
}
|
||||||
| 2009.07.03 | Anne Martens & Heiko Koziolek | Automatic, Model-Based Software Performance Improvement for Component-based Software Designs | 2009 | Proceedings of the Sixth International Workshop on Formal Engineering approches to Software Components and Architectures (FESCA 2009), Vol. 253(1), pp. 77-93 | Inproceedings | Design Tools and Techniques |
| Abstract: Formal performance prediction methods, based on queueing network models, allow evaluating software architectural designs for performance. Existing methods provide prediction results such as response times and throughputs, but do not guide the software architect on how to improve the design. We propose a novel approach to optimise the expected performance of component-based software designs by automatically generating and evaluating design alternatives. The design space spanned by different design options (e.g. available components and configuration options) is systematically explored using metaheuristic search techniques and performance-domain heuristics. The gap between applying formal performance predictions and actually improving the design of a system can thus be closed. This paper presents a formal description and a prototypical implementation of our approach with a proof-of-concept case study. | ||||||
BibTeX:
@inproceedings{MartensK09a,
author = {Anne Martens and Heiko Koziolek},
title = {Automatic, Model-Based Software Performance Improvement for Component-based Software Designs},
booktitle = {Proceedings of the Sixth International Workshop on Formal Engineering approches to Software Components and Architectures (FESCA 2009)},
publisher = {Elsevier},
year = {2009},
volume = {253},
number = {1},
pages = {77-93},
url = {http://sdqweb.ipd.uka.de/publications/pdfs/martens2009a.pdf},
doi = {http://dx.doi.org/10.1016/j.entcs.2009.09.029}
}
|
||||||
| 2009.07.03 | Anne Martens, Heiko Koziolek, Steffen Becker & Ralf H. Reussner | Automatically Improve Software Models for Performance, Reliability and Cost Using Genetic Algorithms | 2010 | Proceedings of the 1st Joint WOSP/SIPEW International Conference on Performance Engineering (WOSP/SIPEW '10), New York NY USA | Inproceedings | Design Tools and Techniques |
BibTeX:
@inproceedings{MartensKBR10,
author = {Anne Martens and Heiko Koziolek and Steffen Becker and Ralf H. Reussner},
title = {Automatically Improve Software Models for Performance, Reliability and Cost Using Genetic Algorithms},
booktitle = {Proceedings of the 1st Joint WOSP/SIPEW International Conference on Performance Engineering (WOSP/SIPEW '10)},
publisher = {ACM},
year = {2010},
address = {New York, NY, USA},
url = {http://sdqweb.ipd.uka.de/publications/pdfs/martens2010a.pdf}
}
|
||||||
| 2009.07.03 | Xun Yuan, Myra B. Cohen & Atif M. Memon | Towards Dynamic Adaptive Automated Test Generation for Graphical User Interfaces | 2009 | Software Testing Verification and Validation Workshop, IEEE International Conference onProceedings of IEEE International Conference on Software Testing, Verification, and Validation Workshops, Vol. 0, pp. 263-266, Denver Colorado, 1-4 April | Inproceedings | Testing and Debugging |
| Abstract: Graphical user interfaces (GUIs) present an enormous number of potential event sequences to users. During testing it is necessary to cover this space, however the complexity of modern GUIs has made this an increasingly difficult task. Our past work has demonstrated that it is important to incorporate ``context'' into GUI test cases, in terms of event combinations, event sequence length, and by considering all possible starting and ending positions for each event. Despite the use of our most refined modeling techniques, many of the generated test cases remain unexecutable. In this paper, we posit that due to the dynamic state-based nature of GUIs, it is important to incorporate feedback from the execution of tests into test case generation algorithms. We propose the use of an evolutionary algorithm to generate test suites with fewer unexecutable test cases and higher event interaction coverage. | ||||||
BibTeX:
@inproceedings{YuanCM09,
author = {Xun Yuan and Myra B. Cohen and Atif M. Memon},
title = {Towards Dynamic Adaptive Automated Test Generation for Graphical User Interfaces},
booktitle = {Proceedings of IEEE International Conference on Software Testing, Verification, and Validation Workshops},
journal = {Software Testing Verification and Validation Workshop, IEEE International Conference on},
publisher = {IEEE Computer Society},
year = {2009},
volume = {0},
pages = {263-266},
address = {Denver, Colorado},
month = {1-4 April},
doi = {http://doi.ieeecomputersociety.org/10.1109/ICSTW.2009.26}
}
|
||||||
| 2009.05.25 | K. Derderian, M.G. Merayo, R.M. Hierons & M. Nónez | Aiding Test Case Generation in Temporally Constrained State based Systems using Genetic Algorithms | 2009 | Proceedings of the 10th International Work-Conference on Artificial Neural Networks (IWANN '09) | Inproceedings | Testing and Debugging |
| Abstract: Generating test data is computationally expensive. This paper improves a framework that addresses this issue by representing the test data generation problem as an optimisation problem and uses heuristics to help generate test cases. The paper considers the temporal constraints and behaviour of a certain class of (timed) finite state machines. A very simple fitness function is defined that can be used with several evolutionary search techniques and automated test case generation tools. An extended version of this paper, including a case study, can be found in [1]. Research supported by the Spanish projects WEST/FAST (TIN2006-15578-C02-01) and MATES (CCG08-UCM/TIC-4124). |
||||||
BibTeX:
@inproceedings{DerderianMHN09,
author = {K. Derderian and M. G. Merayo and R. M. Hierons and M. Nónez},
title = {Aiding Test Case Generation in Temporally Constrained State based Systems using Genetic Algorithms},
booktitle = {Proceedings of the 10th International Work-Conference on Artificial Neural Networks (IWANN '09)},
year = {2009},
doi = {http://dx.doi.org/10.1007/978-3-642-02478-8_41}
}
|
||||||
| 2009.05.25 | AbdulSalam Kalaji, Robert M. Hierons & Stephen Swift | A Search-Based Approach for Automatic Test Generation from Extended Finite State Machine (EFSM) | 2009 | Proceedings of Testing: Academia & Industry Conference - Practice And Research Techniques (TAIC-PART '09), pp. 131-132, Windsor UK, 4-6 September | Inproceedings | Testing and Debugging |
BibTeX:
@inproceedings{KalajiHS09b,
author = {AbdulSalam Kalaji and Robert M. Hierons and Stephen Swift},
title = {A Search-Based Approach for Automatic Test Generation from Extended Finite State Machine (EFSM)},
booktitle = {Proceedings of Testing: Academia & Industry Conference - Practice And Research Techniques (TAIC-PART '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {131-132},
address = {Windsor, UK},
month = {4-6 September},
doi = {http://dx.doi.org/10.1109/TAICPART.2009.19}
}
|
||||||
| 2009.05.25 | Witold Pedrycz & Giancarlo Succi | Genetic Granular Classifiers in Modeling Software Quality | 2005 | Journal of Systems and Software, Vol. 76(3), pp. 277-285, June | Article | Management |
| Abstract: Hyperbox classifiers are one of the most appealing and intuitively transparent classification schemes. As the name itself stipulates, these classifiers are based on a collection of hyperboxes––generic and highly interpretable geometric descriptors of data belonging to a given class. The hyperboxes translate into conditional statements (rules) of the form “if feature1 is in [a, b] and feature2 is in [d, f] and … and featuren is in [w, z] then class ω” where the intervals ([a, b], … , [w, z]) are the respective edges of the hyperbox. The proposed design process of hyperboxes comprises of two main phases. In the first phase, a collection of “seeds” of the hyperboxes is formed through data clustering (realized by means of the Fuzzy C-Means algorithm, FCM). In the second phase, the hyperboxes are “grown” (expanded) by applying mechanisms of genetic optimization (and genetic algorithm, in particular). We reveal how the underlying geometry of the hyperboxes supports an immediate interpretation of software data concerning software maintenance and dealing with rules describing a number of changes made to software modules and their linkages with various software measures (such as size of code, McCabe cyclomatic complexity, number of comments, number of characters, etc.). | ||||||
BibTeX:
@article{PedryczS05,
author = {Witold Pedrycz and Giancarlo Succi},
title = {Genetic Granular Classifiers in Modeling Software Quality},
journal = {Journal of Systems and Software},
year = {2005},
volume = {76},
number = {3},
pages = {277-285},
month = {June},
doi = {http://dx.doi.org/10.1016/j.jss.2004.06.018}
}
|
||||||
| 2009.05.25 | R. Vivanco | Improving Predictive Models of Software Quality using An Evolutionary Computational Approach | 2007 | Proceedings of the IEEE International Conference on Software Maintenance (ICSM '07), pp. 503-504 | Inproceedings | Management |
| Abstract: Predictive models can be used to identify components as potentially problematic for future maintenance. Source code metrics can be used as input features to classifiers, however, there exist a large number of structural measures that capture different aspects of coupling, cohesion, inheritance, complexity and size. Feature selection is the process of identifying a subset of attributes that improves a classifier's performance. The focus of this study is to explore the efficacy of a genetic algorithm as a method of improving a classifier's ability to identify problematic components. | ||||||
BibTeX:
@inproceedings{Vivanco07,
author = {R. Vivanco},
title = {Improving Predictive Models of Software Quality using An Evolutionary Computational Approach},
booktitle = {Proceedings of the IEEE International Conference on Software Maintenance (ICSM '07)},
year = {2007},
pages = {503-504},
doi = {http://dx.doi.org/10.1109/ICSM.2007.4362671}
}
|
||||||
| 2009.05.14 | Richard Torkar Wasif Afzal & Robert Feldt | Search-Based Prediction of Fault Count Data | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 35-38, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: Symbolic regression, an application domain of genetic programming (GP), aims to find a function whose output has some desired property, like matching target values of a particular data set. While typical regression involves finding the coefficients of a pre-defined function, symbolic regression finds a general function, with coefficients, fitting the given set of data points. The concepts of symbolic regression using genetic programming can be used to evolve a model for fault count predictions. Such a model has the advantages that the evolution is not dependent on a particular structure of the model and is also independent of any assumptions, which are common in traditional time-domain parametric software reliability growth models. This research aims at applying experiments targeting fault predictions using genetic programming and comparing the results with traditional approaches to compare efficiency gains. | ||||||
BibTeX:
@inproceedings{AfzalTF09b,
author = {Wasif Afzal, Richard Torkar and Robert Feldt},
title = {Search-Based Prediction of Fault Count Data},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {35-38},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.17}
}
|
||||||
| 2009.05.14 | Andrea Arcuri | On Search Based Software Evolution | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 39-42, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: Writing software is a difficult and expensive task. Its automation is hence very valuable. Search algorithms have been successfully used to tackle many software engineering problems. Unfortunately, for some problems the traditional techniques have been of only limited scope, and search algorithms have not been used yet. We hence propose a novel framework that is based on a co-evolution of programs and test cases to tackle these difficult problems.This framework can be used to tackle software engineering tasks such as Automatic Refinement, Fault Correction,Improving Non-functional Criteria and Reverse Engineering.While the programs evolve to accomplish one of these tasks, test cases are co-evolved at the the same time to find new faults in the evolving programs. | ||||||
BibTeX:
@inproceedings{Arcuri09,
author = {Andrea Arcuri},
title = {On Search Based Software Evolution},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {39-42},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.12}
}
|
||||||
| 2009.05.14 | Andrea Arcuri | Full Theoretical Runtime Analysis of Alternating Variable Method on the Triangle Classification Problem | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 113-121, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: Runtime Analysis is a type of theoretical investigation that aims to determine, via rigorous mathematical proofs,the time a search algorithm needs to find an optimal solution.This type of investigation is useful to understand why a search algorithm could be successful, and it gives insight of how search algorithms work. In previous work,we proved the runtimes of different search algorithms on the test data generation for the Triangle Classification (TC)problem. We theoretically proved that Alternating Variable Method (AVM) has the best performance on the coverage of the most difficult branch in our empirical study. In this paper,we prove that the runtime of AVM on all the branches of TC is O((log n)2). That is necessary and sufficient to prove that AVM has a better runtime on TC compared to the other search algorithms we previously analysed. The theorems in this paper are useful for future analyses. In fact, to state theta search algorithm has worse runtime compared to AVM, it will be just sufficient to prove that its lower bound is higher than Ω((log n)2) on the coverage of at least one branch of TC. | ||||||
BibTeX:
@inproceedings{Arcuri09b,
author = {Andrea Arcuri},
title = {Full Theoretical Runtime Analysis of Alternating Variable Method on the Triangle Classification Problem},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {113-121},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.16}
}
|
||||||
| 2009.05.14 | Thang H. Bui & Albert Nymeyer | Formal Model Simulation: Can it be Guided? | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 93-96, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | |
| Abstract: In this work we present an approach to system development that bridges the complementary worlds of model checking and simulation. This approach, which we refer to as formal model simulation, uses the same formal model as model checking, but instead of using a total search of the state space, we use a guided random-walk based search to find errors. The guide we use is a heuristic that can be derived from an abstract model of the system. We have implemented the technique in a tool called GRANSPIN, which is derived from the popular model checker SPIN. A series of experiments is outlined in this work using different selection strategies and different heuristics. We compare the performance of these different strategies and heuristics in GRANSPIN and SPIN on a buggy Peterson protocol. | ||||||
BibTeX:
@inproceedings{BuiN09,
author = {Thang H. Bui and Albert Nymeyer},
title = {Formal Model Simulation: Can it be Guided?},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {93-96},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.19}
}
|
||||||
| 2009.05.14 | Vittorio Cortellessa & Pasqualina Potena | How Can Optimization Models Support the Maintenance of Component-Based Software? | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Distribution and Maintenance |
| Abstract: The maintenance phase of software systems is ever more increasing its incidence, in terms of effort, to the whole software lifecycle. Therefore the introduction of automated techniques that can help software maintainers to take decision on the basis of quantitative evaluation would be a suitable phenomenon.Search-based techniques offer today a very promising view on the automation of searching processes in the software engineering domain. Component-based software is a very interesting paradigm to apply such type of techniques, for example for component selection. In this paper we introduce optimization techniques to manage the problem of failures at maintenance time. In particular,we introduce two approaches that provide maintenance actions to betaken in order to overcome system failures in case of monitored and non-monitored software systems. | ||||||
BibTeX:
@inproceedings{CortellessaP09,
author = {Vittorio Cortellessa and Pasqualina Potena},
title = {How Can Optimization Models Support the Maintenance of Component-Based Software?},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.22}
}
|
||||||
| 2009.05.14 | Juan J. Durillo, Yuanyuan Zhang, Enrique Alba & Antonio J. Nebro | A Study of the Multi-Objective Next Release Problem | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 49-58, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Requirements/Specifications |
| Abstract: One of the first issues which has to be taken into account by software companies is to determine what should be included in the next release of their products, in such a way that the highest possible number of customers get satisfied while this entails a minimum cost for the company. This problem is known as the Next Release Problem (NRP). Since minimizing the total cost of including new features into a software package and maximizing the total satisfaction of customers are contradictory objectives, the problem has a multi-objective nature. In this work we study the NRP problem from the multi-objective point of view, paying attention to the quality of the obtained solutions, the number of solutions, the range of solutions covered by these fronts, and the number of optimal solutions obtained.Also, we evaluate the performance of two state-of-the-art multi-objective metaheuristics for solving NRP: NSGA-II and MOCell. The obtained results show that MOCell outperforms NSGA-II in terms of the range of solutions covered, while this latter is able of obtaining better solutions than MOCell in large instances. Furthermore, we have observed that the optimal solutions found are composed of a high percentage of low-cost requirements and, also, the requirements that produce most satisfaction on the customers. | ||||||
BibTeX:
@inproceedings{DurilloZAN09,
author = {Juan J. Durillo and Yuanyuan Zhang and Enrique Alba and Antonio J. Nebro},
title = {A Study of the Multi-Objective Next Release Problem},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {49-58},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.21}
}
|
||||||
| 2009.05.14 | Myra B. Cohen Brady J. Garvin & Matthew B. Dwyer | An Improved Meta-Heuristic Search for Constrained Interaction Testing | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 13-22, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: Combinatorial interaction testing (CIT) is a cost-effective sampling technique for discovering interaction faults in highly configurable systems. Recent work with greedy CIT algorithms efficiently supports constraints on the features that can coexist in a configuration. But when testing a single system configuration is expensive, greedy techniques perform worse than meta-heuristic algorithms because they produce larger samples. Unfortunately, current meta-heuristic algorithms are inefficient when constraints are present. We investigate the sources of inefficiency, focusing on simulated annealing, a well-studied meta-heuristic algorithm. From our findings we propose changes to improve performance, including a reorganized search space based on the CIT problem structure. Our empirical evaluation demonstrates that the optimizations reduce run-time by three orders of magnitude and yield smaller samples. Moreover, on real problems the new version compares favorably with greedy algorithms. | ||||||
BibTeX:
@inproceedings{GarvinCD09,
author = {Brady J. Garvin, Myra B. Cohen and Matthew B. Dwyer},
title = {An Improved Meta-Heuristic Search for Constrained Interaction Testing},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {13-22},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.25}
}
|
||||||
| 2009.05.14 | Kamran Ghani & John A. Clark | Widening the Goal Posts: Program Stretching to Aid Search Based Software Testing | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: Search based software testing has emerged in recent years as an important research area within automated software test data generation. The general approach of couching the satisfaction of test goals as numerical optimisation problems has been applied to a variety of problems such as satisfying structural coverage criteria, specification falsification, exception generation, | ||||||
BibTeX:
@inproceedings{GhaniC09,
author = {Kamran Ghani and John A. Clark},
title = {Widening the Goal Posts: Program Stretching to Aid Search Based Software Testing},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.26}
}
|
||||||
| 2009.05.14 | Ahmed S. Ghiduk | Guiding the Search-Based Testing via Dominances vs. Control Dependencies | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: The representation of the problem and the definition of the fitness function are the two key ingredients for the application of search-based optimization to software engineering problems. Therefore, a well-defined fitness function is essential to the effectiveness of search-based testing (SBT). Several search based test-data generation techniques utilized the control dependencies (CD) for guiding the search to find tests. Ghiduk et al. presented a search-based technique that utilizes the dominances to direct the search to generate test data. In this paper, we illustrate the efficiency of dominances in the control-flow graph (CFG) in guiding the SBT. The paper gives some problems for SBT which is guided by the CD. The paper introduces a general form for a fitness function in terms of dominances nodes and postdominances. This function will improve the efficiency of the search consequently; the SBT overcomes the CD problems. | ||||||
BibTeX:
@inproceedings{Ghiduk09,
author = {Ahmed S. Ghiduk},
title = {Guiding the Search-Based Testing via Dominances vs. Control Dependencies},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
url = {http://www.ssbse.org/2009/fa/ssbse2009_submission_27.pdf}
}
|
||||||
| 2009.05.14 | AbdulSalam Kalaji, Robert M. Hierons & Stephen Swift | A Testability Transformation Approach for State-Based Programs | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 85-88, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: Search based testing approaches are efficient in test data generation; however they are likely to perform poorly when applied to programs with state variables. The problem arises when the target function includes guards that reference some of the program state variables whose values depend on previous function calls. Thus, merely considering the target function to derive test data is not sufficient. This paper introduces a testability transformation approach based on the analysis of control and data flow dependencies to bypass the state variable problem. It achieves this by eliminating state variables from guards and/ or determining which functions to call in order to satisfy guards with state variables. A number of experiments demonstrate the value of the proposed approach. | ||||||
BibTeX:
@inproceedings{KalajiHS09,
author = {AbdulSalam Kalaji and Robert M. Hierons and Stephen Swift},
title = {A Testability Transformation Approach for State-Based Programs},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {85-88},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.14}
}
|
||||||
| 2009.05.14 | Usman Khan & Iain Bate | WCET Analysis of Modern Processors using Multi-Criteria Optimisation | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | |
| Abstract: The Worst-Case Execution Time (WCET) is an important execution metric for real-time systems, and an accurate estimate for this increases the reliability of subsequent schedulability analysis. Performance enhancing features on modern processors, such as pipelines and caches, however, make it difficult to accurately predict the WCET. One technique for finding the WCET is to use test data generated using search algorithms. Existing work on search-based approaches has been successfully used in both industry and academia based on a single criterion function, the WCET, but only for simple processors. This paper investigates how effective this strategy is for more complex processors and to what extent other criteria help guide the search, e.g. the number of cache misses. Not unexpectedly the work shows no single choice of criteria work best across all problems. Based on the findings recommendations are proposed on which criteria are useful in particular situations. | ||||||
BibTeX:
@inproceedings{KhanB09,
author = {Usman Khan and Iain Bate},
title = {WCET Analysis of Modern Processors using Multi-Criteria Optimisation},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.20}
}
|
||||||
| 2009.05.14 | Dongsun Kim & Sooyong Park | Dynamic Architectural Selection: A Genetic Algorithm Based Approach | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 59-68, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Distribution and Maintenance |
| Abstract: As the software industry is focusing on dealing with various requirements and environments, such as mobile and ubiquitous environments, software systems are increasingly undergoing many situational changes. These changes influence the quality of services that the software provides. Therefore, to maintain the performance of the software, it must be reconfigured. The reconfiguration is a complex problem if an application faces a large number of situations and has a number of software architectural instances. In this paper, we propose a novel approach to autonomous architectural selection in response to the current situation of various environments. This approach enables a software system to determine the best architectural instance for the current situation. To quickly find the best instance, we apply a genetic algorithm to the selection process. Further, we provide a performance evaluation to demonstrate that our approach efficiently find the best instance (or considerably good instance). | ||||||
BibTeX:
@inproceedings{KimP09,
author = {Dongsun Kim and Sooyong Park},
title = {Dynamic Architectural Selection: A Genetic Algorithm Based Approach},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {59-68},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.11}
}
|
||||||
| 2009.05.14 | Giuliano Antoniol Segla Kpodjedo, Filippo Ricca & Philippe Galinier | Evolution and Search Based Metrics to Improve Defects Prediction | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 23-32, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Metrics |
| Abstract: Testing activity is the most widely adopted practice to ensure software quality. Testing effort should be focused on defect prone and critical resources i.e., on resources highly coupled with other entities of the software application.In this paper, we used search based techniques to define software metrics accounting for the role a class plays in the class diagram and for its evolution over time. We applied Chidamber and Kemerer and the newly defined metrics to Rhino, a Java ECMA script interpreter, to predict version 1.6R5 defect prone classes. Preliminary results show that the new metrics favorably compare with traditional object oriented metrics. | ||||||
BibTeX:
@inproceedings{KpodjedoRAG09,
author = {Segla Kpodjedo, Filippo Ricca, Giuliano Antoniol and Philippe Galinier},
title = {Evolution and Search Based Metrics to Improve Defects Prediction},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {23-32},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.24}
}
|
||||||
| 2009.05.14 | Carolyn Mair & Martin J. Shepperd | Human vs Algorithm | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | General Aspects and Survey |
| Abstract: We consider the roles of algorithm and human and their inter-relationships. As a vehicle for some of our ideas we describe an empirical investigation of software professionals using analogy-based tools and unaided search in order to solve various prediction problems. We conclude that there exist a class of software engineering problems which might be characterised as high value and low frequency where the human-algorithm interaction must be considered carefully if they are to be successfully deployed in industry. | ||||||
BibTeX:
@inproceedings{MairS09,
author = {Carolyn Mair and Martin J. Shepperd},
title = {Human vs Algorithm},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
url = {http://www.ssbse.org/2009/fa/ssbse2009_submission_32.pdf}
}
|
||||||
| 2009.05.14 | Alessandro Marchetto & Paolo Tonella | Search-Based Testing of Ajax Web Applications | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 3-12, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: Ajax is an emerging Web engineering technology that supports advanced interaction features that go beyond Webpage navigation. The Ajax technology is based on asynchronous communication with the Web server and direct manipulation of the GUI, taking advantage of reflection.Correspondingly, new classes of Web faults are associated with Ajax applications.In previous work, we investigated a state-based testing approach, based on semantically interacting events. The main drawback of this approach is that exhaustive generation of semantically interacting event sequences limits quite severely the maximum achievable length, while longer sequences would have higher fault exposing capability. In this paper, we investigate a search-based algorithm for the exploration of the huge space of long interaction sequences, in order to select those that are most promising, based on a measure of test case diversity. | ||||||
BibTeX:
@inproceedings{MarchettoT09,
author = {Alessandro Marchetto and Paolo Tonella},
title = {Search-Based Testing of Ajax Web Applications},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {3-12},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.13}
}
|
||||||
| 2009.05.14 | Marcio Barros Fernando Netto & Adriana Alvim | A Hybrid Heuristic Approach for Scheduling Bug Fix Tasks to Software | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Management |
| Abstract: Large software projects usually maintain bug repositories where both developers and end users can report and track the resolution of software defects. These defects must be fixed and new versions of the software incorporating the patches that solve them must be released. The project manager must schedule a set of error correction tasks with different priorities in order to minimize the time required to make the next release available and guarantee that the more important issues were fixed. In this paper, we propose a hybrid heuristic approach based on an algorithm to schedule error correction tasks which combines a genetic algorithm and a constructive heuristic. We believe that our method can propose schedules for bug fix tasks with lower cost when compared to an adhoc schedule for non-trivial projects. | ||||||
BibTeX:
@inproceedings{NettoBA09,
author = {Fernando Netto, Marcio Barros and Adriana Alvim},
title = {A Hybrid Heuristic Approach for Scheduling Bug Fix Tasks to Software},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
url = {http://www.ssbse.org/2009/fa/ssbse2009_submission_28.pdf}
}
|
||||||
| 2009.05.14 | Hareton Leung Changhai Nie & Baowen Xu | Using Computational Search to Generate 2-Way Covering Array | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: no abstract | ||||||
BibTeX:
@inproceedings{NieLX09,
author = {Changhai Nie, Hareton Leung and Baowen Xu},
title = {Using Computational Search to Generate 2-Way Covering Array},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
url = {http://www.ssbse.org/2009/fa/ssbse2009_submission_33.pdf}
}
|
||||||
| 2009.05.14 | Fawad Qayum & Reiko Heckel | Local Search-Based Refactoring as Graph Transformation | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 43-46, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Distribution and Maintenance |
| Abstract: To improve both performance/scalability and traceability/understandability of search-based refactoring, in this paper, we propose a local formulation of refactoring based on graph transformation. We use graphs to represent software architectures at the class level and graph transformation to formally describe their refactoring operations. This makes it possible to use concepts and techniques from the theory of graph transformation such as unfolding and critical pair analysis to identify dependencies between refactoring steps. As a result, we are able to express the search problem as an instance of the ant colony optimisation metaheuristic. | ||||||
BibTeX:
@inproceedings{QayumH09,
author = {Fawad Qayum and Reiko Heckel},
title = {Local Search-Based Refactoring as Graph Transformation},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {43-46},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.27}
}
|
||||||
| 2009.05.14 | D. Rodriguez, J.C. Riquelme, R. Ruiz & J.S. Aguilar-Ruiz | Searching for Rules to find Defective Modules in Unbalanced Datasets | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 89-92, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | |
| Abstract: The characterisation of defective modules in software engineering remains a challenge. In this work, we use data mining techniques to search for rules that indicate modules with a high probability of being defective. Using data sets from the PROMISE repository, we first applied feature selection (attribute selection) to work only with those attributes from the data sets capable of predicting defective modules. With the reduced data set, a genetic algorithm is used to search for rules characterising modules with a high probability of being defective. This algorithm overcomes the problem of unbalanced data sets where the number of non-defective samples in the data set highly outnumbers the defective ones. | ||||||
BibTeX:
@inproceedings{RodriguezRRA09,
author = {D. Rodriguez and J.C. Riquelme and R. Ruiz, and J.S. Aguilar-Ruiz},
title = {Searching for Rules to find Defective Modules in Unbalanced Datasets},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {89-92},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.23}
}
|
||||||
| 2009.05.14 | José del Sagrado & Isabel María del Águila | Ant Colony Optimization for Requirement selection in Incremental Software development | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Requirements/Specifications |
| Abstract: no abstract | ||||||
BibTeX:
@inproceedings{SagradoA09,
author = {José del Sagrado and Isabel María del Águila},
title = {Ant Colony Optimization for Requirement selection in Incremental Software development},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
url = {http://www.ssbse.org/2009/fa/ssbse2009_submission_30.pdf}
}
|
||||||
| 2009.05.14 | Edward Stehle Maxim Shevertalov, Jay Kothari & Spiros Mancoridis | On the Use of Discretized Source Code Metrics for Author Identification | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 69-78, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | |
| Abstract: Intellectual property infringement and plagiarism litigation involving source code would be more easily resolved using code authorship identification tools. Previous efforts in this area have demonstrated the potential of determining the authorship of a disputed piece of source code automatically. This was achieved by using source code metrics to build a database of developer profiles, thus characterizing a population of developers. | ||||||
BibTeX:
@inproceedings{ShevertalovKSM09,
author = {Maxim Shevertalov, Jay Kothari, Edward Stehle and Spiros Mancoridis},
title = {On the Use of Discretized Source Code Metrics for Author Identification},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {69-78},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.18}
}
|
||||||
| 2009.05.14 | Joachim Wegener & Peter M. Kruse | Search-Based Testing with in-the-loop Systems | 2009 | Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09), pp. 81-84, Cumberland Lodge Windsor UK, 13-15 May | Inproceedings | Testing and Debugging |
| Abstract: With the continuously growing software and system complexity in electronic control units and shortening release cycles, the need for efficient testing grows. In order to perform testing of electronic control units in practice hardware-in-the-loop test environments are used to run the system under test in a simulation environment under real-time conditions. Tests are usually implemented manually. Even though a lot of academic work has shown the potential of evolutionary testing to fully automate testing for different testing objectives, it is not used in industrial practice. In this work we develop an integration of evolutionary testing with a testing platform supporting model-in-the-loop-, software-in-the-loop- and hardware-in-the-loop-testing of embedded systems.We demonstrate the use of evolutionary testing for functional testing in an industrial setting by applying the developed solution to the testing of an antilock-braking system electronic control unit. | ||||||
BibTeX:
@inproceedings{WegenerK09,
author = {Joachim Wegener and Peter M. Kruse},
title = {Search-Based Testing with in-the-loop Systems},
booktitle = {Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE '09)},
publisher = {IEEE Computer Society},
year = {2009},
pages = {81-84},
address = {Cumberland Lodge, Windsor, UK},
month = {13-15 May},
doi = {http://dx.doi.org/10.1109/SSBSE.2009.15}
}
|
||||||
| 2009.05.11 | Mark Harman, Jens Krinke, Jian Ren & Shin Yoo | Search Based Data Sensitivity Analysis Applied to Requirement Engineering | 2009 | Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09), pp. 1681-1688, Montreal Canada, 8-12 July | Inproceedings | Requirements/Specifications |
| Abstract: Software engineering is plagued by problems associated with unreliable cost estimates. This paper introduces an approach to sensitivity analysis for requirements engineering. It uses Search-Based Software Engineering to aid the decision maker to explore sensitivity of the cost estimates of requirements for the Next Release Problem (NRP). The paper presents both single- and multi-objective formulation of NRP with empirical sensitivity analysis on synthetic and real-world data. The results show strong correlation between the level of inaccuracy and the impact on the selection of requirements, as well as between the cost of requirements and the impact, which is as intuitively expected. However, there also exist a few sensitive exceptions to these trends; the paper uses a heat-map style visualisation to reveal these exceptions which require careful consideration. The paper also shows that such unusually sensitivity patterns occur in real-world data and how the proposed approach clearly identifies them. | ||||||
BibTeX:
@inproceedings{HarmanKRY09,
author = {Mark Harman and Jens Krinke and Jian Ren and Shin Yoo},
title = {Search Based Data Sensitivity Analysis Applied to Requirement Engineering},
booktitle = {Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (GECCO '09)},
publisher = {ACM},
year = {2009},
pages = {1681-1688},
address = {Montreal, Canada},
month = {8-12 July},
doi = {http://dx.doi.org/10.1145/1569901.1570126}
}
|
||||||
| 2009.04.29 | Vittorio Cortellessa, Fabrizio Marinelli & Pasqualina Potena | Automated Selection of Software Components Based on Cost/Reliability Tradeoff | 2006 | Proceedings of the 3rd European Workshop on Software Architecture (EWSA '06), Vol. 4344, pp. 66-81, Nantes France, 4-5 September | Inproceedings | Requirements/Specifications |
| Abstract: Functional criteria often drive the component selection in the assembly of a software system. Minimal distance strategies are frequently adopted to select the components that require minimal adaptation effort. This type of approach hides to developers the non-functional characteristics of components, although they may play a crucial role to meet the system specifications. In this paper we introduce the CODER framework, based on an optimization model, that supports "build-or-buy" decisions in selecting components. The selection criterion is based on cost minimization of the whole assembly subject to constraints on system reliability and delivery time. The CODER framework is composed by: an UML case tool, a model builder, and a model solver. The output of CODER indicates the components to buy and the ones to build, and the amount of testing to be performed on the latter in order to achieve the desired level of reliability. | ||||||
BibTeX:
@inproceedings{CortellessaMP06,
author = {Vittorio Cortellessa and Fabrizio Marinelli and Pasqualina Potena},
title = {Automated Selection of Software Components Based on Cost/Reliability Tradeoff},
booktitle = {Proceedings of the 3rd European Workshop on Software Architecture (EWSA '06)},
publisher = {Springer},
year = {2006},
volume = {4344},
pages = {66-81},
address = {Nantes, France},
month = {4-5 September},
doi = {http://dx.doi.org/10.1007/11966104_6}
}
|
||||||
| 2009.04.29 | Günther Ruhe & Moshood Omolade Saliu | The Art and Science of Software Release Planning | 2005 | IEEE Software, Vol. 22(6), pp. 47-53, November | Article | Requirements/Specifications |
| Abstract: Release planning is an important and integral part of any incremental product development. It addresses decisions related to selecting and assigning features to a consecutive product releases such that the plan meets important technical, resource, budget, and risk constraints. The authors describe and position the "art and science" of software RP. The "art of release planning" refers to relying on human intuition, communication, and capabilities to negotiate between conflicting objectives and constraints. The "science of release planning" refers to formalizing the problem and applying computational algorithms to generate best solutions. The authors propose a hybrid planning approach that integrates the strength of computational intelligence with the knowledge and experience of human experts. | ||||||
BibTeX:
@article{RuheS05b,
author = {Günther Ruhe and Moshood Omolade Saliu},
title = {The Art and Science of Software Release Planning},
journal = {IEEE Software},
year = {2005},
volume = {22},
number = {6},
pages = {47-53},
month = {November},
doi = {http://dx.doi.org/10.1109/MS.2005.164}
}
|
||||||
| 2009.04.28 | Thamer AlBourae, Günther Ruhe & Mahmood Moussavi | Lightweight Replanning of Software Product Releases | 2006 | Proceedings of the 1st International Workshop on Software Product Management (IWSPM '06), pp. 27-34, Minneapolis MN USA, 12-12 September | Inproceedings | Requirements/Specifications |
| Abstract: Well defined product features are the essence of good product management. High quality features lead to successful software products, both functionally and financially. One of the crucial processes in software product management is release planning where features are assigned to releases. Volatile features, resources and stakeholder preferences have been recognized as factors that decrease release quality. In this paper, we propose a lightweight replanning process model where old features are compared with newly added ones using the Analytical Hierarchy Process (AHP). Then, a greedy replan algorithm is applied to select the most promising features to accommodate changing market driven product demands. | ||||||
BibTeX:
@inproceedings{AlBouraeRM06,
author = {Thamer AlBourae and Günther Ruhe and Mahmood Moussavi},
title = {Lightweight Replanning of Software Product Releases},
booktitle = {Proceedings of the 1st International Workshop on Software Product Management (IWSPM '06)},
publisher = {IEEE Computer Society},
year = {2006},
pages = {27-34},
address = {Minneapolis, MN, USA},
month = {12-12 September},
doi = {http://dx.doi.org/10.1109/IWSPM.2006.5}
}
|
||||||
| 2009.04.28 | C. Li, Marjan van den Akker, Sjaak Brinkkemper & Guido Diepen | Integrated Requirement Selection and Scheduling for the Release Planning of a Software Product | 2007 | Proceedings of the 13th International Working Conference on Requirements Engineering: Foundation for Software Quality (RefsQ '07), Vol. 4542, pp. 93-108, Trondheim Norway, 11-12 June | Inproceedings | Requirements/Specifications |
| Abstract: This paper investigates two integer linear programming models that integrate requirement scheduling into software release planning. The first model can schedule the development of the requirements for the new release exactly in time so that the project span is minimized and the resource and precedence constraints are satisfied. The second model is for combined requirement selection and scheduling, which can not only maximize revenues but also calculates an on-time-delivery project schedule simultaneously. Two simulations are presented to examine the influence of precedence constraints and compare the differences of the traditional prioritization models and the two new ones. The simulation results suggest that requirement dependency can significantly influence the project plan and the combined model for requirement selection and scheduling is better in the sense of efficiency and on-time delivery. | ||||||
BibTeX:
@inproceedings{LivBD07,
author = {C. Li and Marjan van den Akker and Sjaak Brinkkemper and Guido Diepen},
title = {Integrated Requirement Selection and Scheduling for the Release Planning of a Software Product},
booktitle = {Proceedings of the 13th International Working Conference on Requirements Engineering: Foundation for Software Quality (RefsQ '07)},
publisher = {Springer},
year = {2007},
volume = {4542},
pages = {93-108},
address = {Trondheim, Norway},
month = {11-12 June},
doi = {http://dx.doi.org/10.1007/978-3-540-73031-6_7}
}
|
||||||
| 2009.04.28 | Günther Ruhe & Des Greer | Quantitative Studies in Software Release Planning under Risk and Resource Constraints | 2003 | Proceedings of the International Symposium on Empirical Software Engineering (ISESE '03), pp. 262-270, Rome Italy, 29 September-4 October | Inproceedings | Requirements/Specifications |
| Abstract: Delivering software in an incremental fashionimplicitly reduces many of the risks associatedwith delivering large software projects. However,adopting a process, where requirements aredelivered in releases means decisions have to bemade on which requirements should be deliveredin which release. This paper describes a methodcalled EVOLVE+, based on a genetic algorithmand aimed at the evolutionary planning ofincremental software development. The method isinitially evaluated using a sample project. Theevaluation involves an investigation of the trade-offrelationship between risk and the overallbenefit. The link to empirical research is two-fold:Firstly, our model is based on interaction withindustry and randomly generated data for effortand risk of requirements. The results achieved thisway are the first step for a more comprehensiveevaluation using real-world data. Secondly, we tryto approach uncertainty of data by additionalcomputational effort providing more insight intothe problem solutions: (i) Effort estimates areconsidered to be stochastic variables following agiven probability function; (ii) Instead of offeringjust one solution, the L-best (L>1) solutions aredetermined. This provides support in finding themost appropriate solution, reflecting implicitpreferences and constraints of the actual decision-maker.Stability intervals are given to indicate thevalidity of solutions and to allow the problemparameters to be changed without adverselyaffecting the optimality of the solution. | ||||||
BibTeX:
@inproceedings{RuheG03,
author = {Günther Ruhe and Des Greer},
title = {Quantitative Studies in Software Release Planning under Risk and Resource Constraints},
booktitle = {Proceedings of the International Symposium on Empirical Software Engineering (ISESE '03)},
publisher = {IEEE},
year = {2003},
pages = {262-270},
address = {Rome, Italy},
month = {29 September-4 October},
doi = {http://dx.doi.org/10.1109/ISESE.2003.1237987}
}
|
||||||
| 2009.04.28 | Omolade Saliu & Günther Ruhe | Supporting Software Release Planning Decisions for Evolving Systems | 2005 | Proceedings of the 29th Annual IEEE/NASA on Software Engineering Workshop (SEW '05), pp. 14-26, Greenbelt Maryland USA, 6-7 April | Inproceedings | Requirements/Specifications |
| Abstract: Large-scale software systems constantly change during system evolution for feature enhancement. Most of the features originate from diverse stakeholders that require their needs to be met despite resource and risk constraints. In such large systems, the number of features requested during the different releases of the system typically exceeds the available resources. Release planning involves decision making about what new features or changes to implement during which release of the software. Existing release planning techniques are not targeted at evolving systems; in this case, knowledge about existing software product is core to making meaningful release decisions. In this paper, we describe ten key technical and nontechnical aspects impacting release planning. Based on these aspects, we evaluate seven existing release planning methods. We have also proposed a new release planning framework that considers the effect of existing system characteristics on release planning decisions. Initial realization of this framework focuses on historical defect data to characterize the health of system components. This proposed approach extends the existing solution method called EVOLVE* by (i) the proactive analysis of the risk involved in integrating new features into existing components of the system and (ii) identifying the importance of estimating the integration effort for each feature based on system characteristics. An illustrative example is also presented. | ||||||
BibTeX:
@inproceedings{SaliuR05a,
author = {Omolade Saliu and Günther Ruhe},
title = {Supporting Software Release Planning Decisions for Evolving Systems},
booktitle = {Proceedings of the 29th Annual IEEE/NASA on Software Engineering Workshop (SEW '05)},
publisher = {IEEE Computer Society},
year = {2005},
pages = {14-26},
address = {Greenbelt, Maryland, USA},
month = {6-7 April},
doi = {http://dx.doi.org/10.1109/SEW.2005.42}
}
|
||||||
| 2009.04.28 | Marjan van den Akker, Sjaak Brinkkemper, Guido Diepen & Johan Versendaal | Flexible Release Composition using Integer Linear Programming | 2004 | (UU-CS-2004-063), December | Techreport | Requirements/Specifications |
| Abstract: For software vendors, the process to determine the requirements for the next release of a software product is often difficult. In this paper we present a mathematical formalization of release composition with a corresponding optimization tool that aims to support product managers and development project managers during release planning. The tool is based on integer linear programming and assumes that an optimal set of requirements is the set with maximum projected revenue against available resources in a given time period. The input for the optimization is twofold. Input data like the list of candidate requirements, estimated revenue and required team resources per requirement, whether or not a requirement is mandatory, comprise the first type of input. Secondly, several managerial steering mechanisms provide flexibility in the optimization environment: team composition, permitting of team transfers, extension of deadlines, and hiring external resources. Through experiments based on real-life data we make a sound case for the applicability of our proposal. | ||||||
BibTeX:
@techreport{vandenAkkerBDV04,
author = {Marjan van den Akker and Sjaak Brinkkemper and Guido Diepen and Johan Versendaal},
title = {Flexible Release Composition using Integer Linear Programming},
year = {2004},
number = {UU-CS-2004-063},
month = {December},
url = {http://igitur-archive.library.uu.nl/math/2006-1220-201956/akker_04_flexible_release.pdf}
}
|
||||||
| 2009.04.28 | Marjan van den Akker, Sjaak Brinkkemper, Guido Diepen & Johan Versendaal | Flexible Release Planning using Integer Linear Programming | 2005 | Proceedings of the 11th International Workshop on Requirements Engineering for Software Quality (RefsQ '05), pp. 247-262, Porto Portugal, 13-14 June | Inproceedings | Requirements/Specifications |
BibTeX:
@inproceedings{vandenAkkerBDV05,
author = {Marjan van den Akker and Sjaak Brinkkemper and Guido Diepen and Johan Versendaal},
title = {Flexible Release Planning using Integer Linear Programming},
booktitle = {Proceedings of the 11th International Workshop on Requirements Engineering for Software Quality (RefsQ '05)},
publisher = {Essener Informatik Beitrage},
year = {2005},
pages = {247-262},
address = {Porto, Portugal},
month = {13-14 June},
url = {http://www.sse.uni-essen.de/refsq/downloads/17.pdf}
}
|
||||||
| 2009.04.27 | A. Amandeep, Günther Ruhe & Mark Stanford | Intelligent Support for Software Release Planning | 2004 | Proceedings of the 5th International Conference on Product Focused Software Process Improvement (PROFES '04), Vol. 3009, pp. 248-262, Kansai Science City Japan, 5-8 April | Inproceedings | Requirements/Specifications |
| Abstract: One of the most prominent issues involved in incremental software development is to decide upon the most appropriate software release plans taking into account all explicit and implicit objectives and constraints. Such decisions have become even more complicated in the presence of large number of stakeholders such as different groups of users, managers, or developers. However, early involvement of customers and understanding of their real needs is one of the core success factors of software business [16]. This paper introduces a six step process model for release planning. It is inspired by the Quality Improvement Paradigm [2], as release planning is a learning and improvement process as well. Emphasis is on proposing the tool support implementing this process. The use of the intelligent decision support tool ReleasePlannerTM is presented by comparing a baseline scenario reflecting current state-of-the practice of release planning with a supposed improvement scenario obtained after usage of the tool. Initial experience from a real-world environment at iGrafx Corel Inc. is used to validate the improvement scenario. |
||||||
BibTeX:
@inproceedings{AmandeepRS04,
author = {A. Amandeep and Günther Ruhe and Mark Stanford},
title = {Intelligent Support for Software Release Planning},
booktitle = {Proceedings of the 5th International Conference on Product Focused Software Process Improvement (PROFES '04)},
publisher = {Springer},
year = {2004},
volume = {3009},
pages = {248-262},
address = {Kansai Science City, Japan},
month = {5-8 April},
url = {http://www.springerlink.com/content/lw41yym63p4j1ckd/}
}
|
||||||
| 2009.04.27 | Paul Baker, Mark Harman, Kathleen Steinhöfel & Alexandros Skaliotis | Search Based Approaches to Component Selection and Prioritization for the Next Release Problem | 2006 | Proceedings of the 22nd IEEE International Conference on Software Maintenance (ICSM '06), pp. 176-185, Philadelphia Pennsylvania, 24-27 September | Inproceedings | Requirements/Specifications |
| Abstract: This paper addresses the problem of determining the next set of releases in the course of software evolution. It formulates both ranking and selection of candidate software components as a series of feature subset selection problems to which search based software engineering can be applied. The approach is automated using greedy and simulated annealing algorithms and evaluated using a set of software components from the component base of a large telecommunications organisation. The results are compared to those obtained by a panel of (human) experts. The results show that the two automated approaches convincingly outperform the expert judgment approach. | ||||||
BibTeX:
@inproceedings{BakerHSS06,
author = {Paul Baker and Mark Harman and Kathleen Steinhöfel and Alexandros Skaliotis},
title = {Search Based Approaches to Component Selection and Prioritization for the Next Release Problem},
booktitle = {Proceedings of the 22nd IEEE International Conference on Software Maintenance (ICSM '06)},
publisher = {IEEE Computer Society},
year = {2006},
pages = {176-185},
address = {Philadelphia, Pennsylvania},
month = {24-27 September},
doi = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2006.56}
}
|
||||||
| 2009.04.27 | Des Greer & Günther Ruhe | Software Release Planning: An Evolutionary and Iterative Approach | 2004 | Information & Software Technology, Vol. 46(4), pp. 243-253, March | Article | Requirements/Specifications |
| Abstract: To achieve higher flexibility and to better satisfy actual customer requirements, there is an increasing tendency to develop and deliver software in an incremental fashion. In adopting this process, requirements are delivered in releases and so a decision has to be made on which requirements should be delivered in which release. Three main considerations that need to be taken account of are the technical precedences inherent in the requirements, the typically conflicting priorities as determined by the representative stakeholders, as well as the balance between required and available effort. The technical precedence constraints relate to situations where one requirement cannot be implemented until another is completed or where one requirement is implemented in the same increment as another one. Stakeholder preferences may be based on the perceived value or urgency of delivered requirements to the different stakeholders involved. The technical priorities and individual stakeholder priorities may be in conflict and difficult to reconcile. This paper provides (i) a method for optimally allocating requirements to increments; (ii) a means of assessing and optimizing the degree to which the ordering conflicts with stakeholder priorities within technical precedence constraints; (iii) a means of balancing required and available resources for all increments; and (iv) an overall method called EVOLVE aimed at the continuous planning of incremental software development. The optimization method used is iterative and essentially based on a genetic algorithm. A set of the most promising candidate solutions is generated to support the final decision. The paper evaluates the proposed approach using a sample project. | ||||||
BibTeX:
@article{GreerR04,
author = {Des Greer and Günther Ruhe},
title = {Software Release Planning: An Evolutionary and Iterative Approach},
journal = {Information & Software Technology},
year = {2004},
volume = {46},
number = {4},
pages = {243-253},
month = {March},
doi = {http://dx.doi.org/10.1016/j.infsof.2003.07.002}
}
|
||||||
| 2009.04.27 | An Ngo-The & Günther Ruhe | Optimized Resource Allocation for Software Release Planning | 2009 | IEEE Transactions on Software Engineering, Vol. 35(1), pp. 109-123, January/February | Article | Requirements/Specifications |
| Abstract: Release planning for incremental software development assigns features to releases such that technical, resource, risk and budget constraints are met. Planning of software releases and allocation of resources cannot be handled in isolation. A feature can be offered as part of a release only if all its necessary tasks are done before the given release date. We assume a given pool of human resources with different degrees of productivity to perform different types of tasks. To address the inherent difficulty of this process, we propose a two-phased optimization approach that combines the strength of two existing solution methods. The industrial applicability of the approach is primarily directed towards mature organizations having systematic development and measurement processes in place. The expected practical benefit of the planning method is to provide release plan solutions that achieve a better overall business value (e.g., expressed by the degree of stakeholder satisfaction) by better allocation of resources. Without ignoring the importance of the human expert in this process, the contributions of the paper are seen in making the overall process more objective and the resulting decisions more transparent. | ||||||
BibTeX:
@article{Ngo-TheR09,
author = {An Ngo-The and Günther Ruhe},
title = {Optimized Resource Allocation for Software Release Planning},
journal = {IEEE Transactions on Software Engineering},
year = {2009},
volume = {35},
number = {1},
pages = {109-123},
month = {January/February},
doi = {http://dx.doi.org/10.1109/TSE.2008.80}
}
|
||||||
| 2009.04.27 | Günther Ruhe & An Ngo-The | Hybrid Intelligence in Software Release Planning | 2004 | International Journal of Hybrid Intelligent Systems, Vol. 1(1-2), pp. 99-110, April | Article | Requirements/Specifications |
| Abstract: There is a growing recognition that an incremental approach to software development is often more suitable and less risky than the traditional waterfall approach. Delivering software in an incremental fashion suggests better customer satisfaction and reduces many of the risks associated with delivering large software projects. In this paper, we consider the problem of deciding which requirements should be assigned to which release. The proposed hybrid approach called EVOLVE* improves existing methods for release planning by combining the strength of mathematical models with the subtleness of experts' knowledge and judgment. It makes use of different computationally intelligent techniques such as evolutionary computing and principles of multi-criteria decision aid. This is combined with appropriate involvement of human intelligence. EVOLVE* consists of three main phases called modeling, exploration, and consolidation. Different from former algorithms of the EVOLVE family, our new approach plans only two releases in advance, i.e., each requirement is assigned to one of the following three categories: "next release", "next but one release", "not yet assigned". EVOLVE* aims to achieve maximum stakeholder satisfaction. Our iterative procedure allows intelligent search of most promising solutions under the competing criteria of time, benefit and quality as described by the "magic triangle". The complete approach is illustrated by a case study example. | ||||||
BibTeX:
@article{RuheN04,
author = {Günther Ruhe and An Ngo-The},
title = {Hybrid Intelligence in Software Release Planning},
journal = {International Journal of Hybrid Intelligent Systems},
year = {2004},
volume = {1},
number = {1-2},
pages = {99-110},
month = {April},
url = {http://iospress.metapress.com/content/7ad6fldflt80e9vg/}
}
|
||||||
| 2009.04.24 | Lionel C. Briand, Jie Feng & Yvan Labiche | Experimenting with Genetic Algorithms and Coupling Measures to Devise Optimal Integration Test Orders | 2003 | Proceedings of Software Engineeing with Computational Intelligence, pp. 204-234 | Inproceedings | Testing and Debugging |
| Abstract: We present here an improved strategy to devise optimal integration test orders in object-oriented systems in the presence of dependency cycles. Our goal is to minimize the complexity of stubbing during integration testing as this has been shown to be a major source of expenditure. Our strategy to do so is based on the combined use of inter-class coupling measurement and genetic algorithms. The former is used to assess the complexity of stubs (each coupling measure capturing a dimension of this complexity) and the latter is used to minimize cost functions based on coupling measurement. Using a precisely defined procedure, we investigate this approach in a case study investigating five real systems. Results are very encouraging as the approach clearly helps obtaining systematic results that are close to be minimal in terms of stubbing complexity. | ||||||
BibTeX:
@inproceedings{BriandFL03,
author = {Lionel C. Briand and Jie Feng and Yvan Labiche},
title = {Experimenting with Genetic Algorithms and Coupling Measures to Devise Optimal Integration Test Orders},
booktitle = {Proceedings of Software Engineeing with Computational Intelligence},
publisher = {Kluwer Academic Publishers},
year = {2003},
pages = {204-234},
url = {http://squall.sce.carleton.ca/pubs/tech_report/TR_SCE-02-03.pdf}
}
|
||||||
| 2009.04.17 | Yuanyuan Zhang, Mark Harman & S. Afshin Mansouri | The Multi-Objective Next Release Problem | 2007 | Proceedings of the 9th annual Conference on Genetic and Evolutionary Computation (GECCO '07), pp. 1129-1137 (Best Paper Award), London UK, 7-11 July | Inproceedings | Requirements/Specifications |
| Abstract: This paper is concerned with the Multi-Objective Next Release Problem (MONRP), a problem in search-based requirements engineering. Previous work has considered only single objective formulations. In the multi-objective formulation, there are at least two (possibly conflicting) objectives that the software engineer wishes to optimize. It is argued that the multi-objective formulation is more realistic, since requirements engineering is characterised by the presence of many complex and conflicting demands, for which the software engineer must find a suitable balance. The paper presents the results of an empirical study into the suitability of weighted and Pareto optimal genetic algorithms, together with the NSGA-II algorithm, presenting evidence to support the claim that NSGA-II is well suited to the MONRP. The paper also provides benchmark data to indicate the size above which the MONRP becomes non-trivial. | ||||||
BibTeX:
@inproceedings{ZhangHM07,
author = {Yuanyuan Zhang and Mark Harman and S. Afshin Mansouri},
title = {The Multi-Objective Next Release Problem},
booktitle = {Proceedings of the 9th annual Conference on Genetic and Evolutionary Computation (GECCO '07)},
publisher = {ACM},
year = {2007},
pages = {1129-1137 (Best Paper Award)},
address = {London, UK},
month = {7-11 July},
doi = {http://dx.doi.org/10.1145/1276958.1277179}
}
|
||||||
| 2009.04.09 | Paulo Marcos Siqueira Bueno, W. Eric Wong & Mario Jino | Improving Random Test Sets using the Diversity Oriented Test Data Generation | 2007 | Proceedings of the 2nd International Workshop on Random Testing, pp. 10-17, Atlanta Georgia USA, 6 November | Inproceedings | Testing and Debugging |
| Abstract: We present a measure that characterizes the diversity of a test set from the perspective of the input domain of the program under test. By using a metaheuristic algorithm, randomly generated test sets (RTS) are evolved towards Diversity Oriented Test Sets (DOTS), which thoroughly cover the input domain. DOTS are evaluated using a Monte Carlo simulation to assess how testing factors influence their effectiveness and also by the values of data flow coverage and mutation scores attained on simple programs. Results provide understanding on possible gains of using DOTS and on circumstances where RTS can be more effective. | ||||||
BibTeX:
@inproceedings{BuenoWJ07,
author = {Paulo Marcos Siqueira Bueno and W. Eric Wong and Mario Jino},
title = {Improving Random Test Sets using the Diversity Oriented Test Data Generation},
booktitle = {Proceedings of the 2nd International Workshop on Random Testing},
publisher = {ACM},
year = {2007},
pages = {10-17},
address = {Atlanta, Georgia, USA},
month = {6 November},
doi = {http://dx.doi.org/10.1145/1292414.1292419}
}
|
||||||
| 2009.04.09 | Paulo Marcos Siqueira Bueno, W. Eric Wong & Mario Jino | Automatic Test Data Generation using Particle Systems | 2008 | Proceedings of the 2008 ACM Symposium on Applied Computing, pp. 809-814, Fortaleza Ceara Brazil, 16-20 March | Inproceedings | Testing and Debugging |
| Abstract: The simulated repulsion algorithm, which is based on particle systems, is used for the automatic generation of diversity oriented test sets (DOTS). These test sets are generated by taking randomly generated test sets and iteratively improving their diversity (the level of variability among values for the test data) towards DOTS. The results of a simulation performed to evaluate characteristics of DOTS indicate improvement, with respect to fault detection, of these test sets over the standard random test sets. | ||||||
BibTeX:
@inproceedings{BuenoWJ08,
author = {Paulo Marcos Siqueira Bueno and W. Eric Wong and Mario Jino},
title = {Automatic Test Data Generation using Particle Systems},
booktitle = {Proceedings of the 2008 ACM Symposium on Applied Computing},
publisher = {ACM},
year = {2008},
pages = {809-814},
address = {Fortaleza, Ceara, Brazil},
month = {16-20 March},
doi = {http://dx.doi.org/10.1145/1363686.1363871}
}
|
||||||
| 2009.04.09 | Brett Stevens |
Transversal Covers and Packings
[BibTeX] |
1998 | School: University of Toronto | Phdthesis | Testing and Debugging |
BibTeX:
@phdthesis{Stevens98,
author = {Brett Stevens},
title = {Transversal Covers and Packings},
school = {University of Toronto},
year = {1998}
}
|
||||||
| 2009.04.07 | Ajay M. Joshi, Lieven Eeckhout, Lizy K. John & Ciji Isen | Automated Microprocessor Stressmark Generation | 2008 | Proceedings of the 14th IEEE International Symposium on High Performance Computer Architecture (HPCA '08), pp. 229-239, Salt Lake City UT USA, 16-20 February | Inproceedings | |
| Abstract: Estimating the maximum power and thermal characteristics of a processor is essential for designing its power delivery system, packaging, cooling, and power/thermal management schemes. Typical benchmark suites used in performance evaluation do not stress the processor to its limit though, and current practice in industry is to develop artificial benchmarks that are specifically written to generate maximum processor (component) activity. However, manually developing and tuning so called stressmarks is extremely tedious and time-consuming while requiring an intimate understanding of the processor. A synthetic program that can be tuned to produce a variety of benchmark characteristics would significantly help in addressing this problem by enabling the automatic exploration of the large temperature and power design space. This paper demonstrates that with a suitable choice of only 40 hardware-independent program characteristics related to the instruction mix, instruction-level parallelism, control flow behavior, and memory access patterns, it is possible to generate a synthetic benchmark whose performance relates to that of general-purpose and commercial applications. Leveraging this abstract workload modeling approach, we propose StressMaker, a framework that uses machine learning for the automated generation of stressmarks. A comparison with an exhaustive exploration of a large power design space demonstrates that StressMaker is very effective in automatically generating stressmarks in a limited amount of time. | ||||||
BibTeX:
@inproceedings{JoshiEJI08,
author = {Ajay M. Joshi and Lieven Eeckhout and Lizy K. John and Ciji Isen},
title = {Automated Microprocessor Stressmark Generation},
booktitle = {Proceedings of the 14th IEEE International Symposium on High Performance Computer Architecture (HPCA '08)},
publisher = {IEEE},
year = {2008},
pages = {229-239},
address = {Salt Lake City, UT, USA},
month = {16-20 February},
doi = {http://dx.doi.org/10.1109/HPCA.2008.4658642}
}
|
||||||
| 2009.04.07 | Chiou Peng Lam, Jitian Xiao & Huaizhong Li | Ant Colony Optimisation for Generation of Conformance Testing Sequences using a Characterising Set | 2007 | Proceedings of the 3rd IASTED Conference on Advances in Computer Science and Technology, pp. 140-146, Phuket Thailand, 2-4 April | Inproceedings | Testing and Debugging |
| Abstract: Protocol conformance testing generally involves cheching whether the protocol under test conforms to the given specification. The generation of test sequences in an efficient and effective way that achieves the required fault detection coverage is highly desirable. This paper proposed an approach that formulates the problem of finding shorter test sequences based on the Wp method into one of finding the shortest tour in the asymmetric travelling salesman problem (ATSP). In the formulation of the ATSP, the approach excludes redundant test segments, employs the concepts of overlap to reduce test sequence length and concatenation without linking cost ito the test sequence generation technique. The approach recast a Software Engineering problem as a search-based problems using Ant Colony Optimization to find the shortest will maintain the same fault detection capability as those of the Wp method. The approach is applicable to every minimal FSM as each one of them possesses a characterising set. | ||||||
BibTeX:
@inproceedings{LamXL07,
author = {Chiou Peng Lam and Jitian Xiao and Huaizhong Li},
title = {Ant Colony Optimisation for Generation of Conformance Testing Sequences using a Characterising Set},
booktitle = {Proceedings of the 3rd IASTED Conference on Advances in Computer Science and Technology},
publisher = {ACTA Press},
year = {2007},
pages = {140-146},
address = {Phuket, Thailand},
month = {2-4 April},
url = {http://portal.acm.org/citation.cfm?id=1322491}
}
|
||||||
| 2009.04.02 | Gerassimos Barlas & Khaled El-Fakih | A GA-based Movie-On-Demand Platform using Multiple Distributed Servers | 2008 | Multimedia Tools and Applications, Vol. 40(3), pp. 361-383, December | Article | Design Tools and Techniques |
| Abstract: In this paper we present the design and explore the performance of a unicast-based distributed system for Movie-on-Demand applications. The operation of multiple servers is coordinated with the assistance of an analytical framework that provides closed-form solutions to the content partitioning and scheduling problem, even under the presence of packet losses. The problem of mapping clients to servers is solved with a genetic algorithm, that manages to provide adequate, near-optimum solutions with a minimum of overhead. While previous studies focused on the static behavior of such a system, i.e. fixed a-priori known number of N servers and K clients commencing operation at the same time instance, this paper focuses on the dynamic behavior of such a system over a period of time with clients coming and going at random intervals. The paper includes a rigorous simulation study that shows how the system behaves in terms of a variety of metrics, including the average access time over all the requested media, in response to differences in the client arrival rate or the consumed server bandwidth. As it is shown, the proposed platform exhibits excellent performance characteristics that surpass traditional approaches that treat clients individually. This has been verified to be true up to extreme system loads, proving the scalability of the proposed content delivery scheme. The significance of our findings also stems from the assumption of unreliable communications, a first for the study of complete systems in this domain. | ||||||
BibTeX:
@article{BarlasE08,
author = {Gerassimos Barlas and Khaled El-Fakih},
title = {A GA-based Movie-On-Demand Platform using Multiple Distributed Servers},
journal = {Multimedia Tools and Applications},
year = {2008},
volume = {40},
number = {3},
pages = {361-383},
month = {December},
doi = {http://dx.doi.org/10.1007/s11042-008-0211-6}
}
|
||||||
| 2009.04.02 | Heather J. Goldsby & Betty H.C. Cheng | Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty | 2008 | Proceedings of the 11th International conference on Model Driven Engineering Languages and Systems (MoDELS '08), pp. 568-583, Toulouse France, 28 September-3 October | Inproceedings | Design Tools and Techniques |
| Abstract: Increasingly, high-assurance applications rely on dynamically adaptive systems (DASs) to respond to environmental changes, while satisfying functional requirements and non-functional preferences. Examples include critical infrastructure protection and transportation systems. A DAS comprises a collection of (non-adaptive) target systems (represented as UML models) and a set of adaptations that realize transitions among target systems. Two sources of uncertainty inherent to DASs are: (1) predicting the future execution environment, and (2) using functional and non-functional trade-offs to respond to the changing environment. To address this uncertainty, we are inspired by living organisms that are astonishingly adept at adapting to changing environmental conditions using evolution. In this paper, we describe a digital evolution-based approach to generating models that represent possible target systems suitable for different environmental conditions, enabling the developer to identify the functional and non-functional trade-offs between the models, and then assisting the developer in selecting target systems for the DAS. | ||||||
BibTeX:
@inproceedings{GoldsbyC08b,
author = {Heather J. Goldsby and Betty H.C. Cheng},
title = {Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty},
booktitle = {Proceedings of the 11th International conference on Model Driven Engineering Languages and Systems (MoDELS '08)},
publisher = {Springer},
year = {2008},
pages = {568-583},
address = {Toulouse, France},
month = {28 September-3 October},
doi = {http://dx.doi.org/10.1007/978-3-540-87875-9_40}
}
|
||||||
| 2009.04.02 | Yue Ma & Chengwen Zhang | Quick Convergence of Genetic Algorithm for QoS-driven Web Service Selection | 2008 | Computer Networks, Vol. 52(5), pp. 1093-1104, April | Article | Design Tools and Techniques |
| Abstract: A novel quickly convergent population diversity handling genetic algorithm (CoDiGA) is presented for web service selection with global Quality-of-Service (QoS) constraints. CoDiGA is characterized by good stability and quick convergence. In CoDiGA, an enhanced initial population policy and an evolution policy are proposed based on population diversity and a relation matrix coding scheme. The integration of the two policies overcomes shortcomings resulting from randomicity of genetic algorithm, such as slow convergence, great variance among the running results, soaring overhead along with increasing size of composition. The simulation results on web service selection with global QoS constraints have shown that prematurity was overcomed effectively, and convergence and stability of genetic algorithm were improved greatly. | ||||||
BibTeX:
@article{MaZ08,
author = {Yue Ma and Chengwen Zhang},
title = {Quick Convergence of Genetic Algorithm for QoS-driven Web Service Selection},
journal = {Computer Networks},
year = {2008},
volume = {52},
number = {5},
pages = {1093-1104},
month = {April},
doi = {http://dx.doi.org/10.1016/j.comnet.2007.12.003}
}
|
||||||
| 2009.04.02 | Andres J. Ramirez, David B. Knoester, Betty H.C. Cheng & Philip K. McKinley |
Applying Genetic Algorithms to Decision Making in Autonomic Computing Systems
[BibTeX] |
2009 | Proceedings of the 6th International Conference on Autonomic Computing (ICAC '09) | Inproceedings | Design Tools and Techniques |
BibTeX:
@inproceedings{RamirezKCM09,
author = {Andres J. Ramirez and David B. Knoester and Betty H.C. Cheng and Philip K. McKinley},
title = {Applying Genetic Algorithms to Decision Making in Autonomic Computing Systems},
booktitle = {Proceedings of the 6th International Conference on Autonomic Computing (ICAC '09)},
year = {2009}
}
|
||||||
| 2009.04.02 | Chengwen Zhang, Sen Su & Junliang Chen | DiGA: Population diversity handling genetic algorithm for QoS-aware web services selection | 2007 | Computer Communications, Vol. 30(5), pp. 1082-1090, March | Article | Design Tools and Techniques |
| Abstract: A special genetic algorithm is presented for web services selection with global QoS constraints. The relation matrix coding scheme of genome is its basis. In this genetic algorithm, a new evolution function of population is presented. Furthermore, an especial population selection policy is proposed based on the combination of population diversity handling and simulated annealing. The policy accords with the evolution characteristic of population diversity much more. It enhances convergence of genetic algorithm and can get more excellent composite service plan. The simulation results on web services selection with global QoS constraints have shown that the prematurity was overcome effectively, and that the convergence of genetic algorithm was improved very well. | ||||||
BibTeX:
@article{ZhangSC07,
author = {Chengwen Zhang and Sen Su and Junliang Chen},
title = {DiGA: Population diversity handling genetic algorithm for QoS-aware web services selection},
journal = {Computer Communications},
year = {2007},
volume = {30},
number = {5},
pages = {1082-1090},
month = {March},
doi = {http://dx.doi.org/10.1016/j.comcom.2006.11.002}
}
|
||||||
| 2009.04.01 | Giuliano Antoniol, Massimiliano Di Penta & Markus Neteler | Moving to Smaller Libraries via Clustering and Genetic Algorithms | 2003 | Proceedings of the 7th European Conference on Software Maintenance and Reengineering (CSMR '03), pp. 307-316, Benevento Italy, 26-28 March | Inproceedings | Distribution and Maintenance |
| Abstract: There may be several reasons to reduce a software system to its bare bone removing the extra fat introduced during development or evolution. Porting the software system on embedded devices or palmtops are just two examples.This paper presents an approach to re-factoring libraries with the aim of reducing the memory requirements of executables. The approach is organized in two steps. The first step defines an initial solution based on clustering methods, while the subsequent phase refines the initial solution via genetic algorithms.In particular, a novel genetic algorithm approach, considering the initial clusters as the starting population, adopting a knowledge-based mutation function and a multi-objective fitness function, is proposed.The approach has been applied to several medium and large-size open source software systems such as GRASS, KDE-QT, Samba and MySQL, allowing to effectively produce smaller, loosely coupled libraries, and to reduce the memory requirement for each application. | ||||||
BibTeX:
@inproceedings{AntoniolDN03,
author = {Giuliano Antoniol and Massimiliano Di Penta and Markus Neteler},
title = {Moving to Smaller Libraries via Clustering and Genetic Algorithms},
booktitle = {Proceedings of the 7th European Conference on Software Maintenance and Reengineering (CSMR '03)},
publisher = {IEEE},
year = {2003},
pages = {307-316},
address = {Benevento, Italy},
month = {26-28 March},
doi = {http://dx.doi.org/10.1109/CSMR.2003.1192439}
}
|
||||||
| 2009.04.01 | Lei Cao, Jian Cao & Minglu Li | Genetic Algorithm Utilized in Cost-Reduction Driven Web Service Selection | 2005 | Proceedings of the International Conference on Computational Intelligence and Security (CIS '05), pp. 679-686, Xi'an China, 15-19 December | Inproceedings | Design Tools and Techniques |
| Abstract: A single web service is most likely inadequate to serve the customers’ business needs; it takes a selection of various web services composed together to form a business process. The cost is the primary concern of many business processes. In this paper, we propose a new solution using Genetic Algorithm (GA) in cost-reduction driven web service selection. GA is utilized to optimize business process composed of many service agents (SAg), each of which corresponds to a collection of available web services provided by multiple service providers to perform a specific function. Service selection is an optimization process with taking into account the relationships among the services. Better performance has been gotten using GA in the paper than using local service selection strategy. | ||||||
BibTeX:
@inproceedings{CaoCL05,
author = {Lei Cao and Jian Cao and Minglu Li},
title = {Genetic Algorithm Utilized in Cost-Reduction Driven Web Service Selection},
booktitle = {Proceedings of the International Conference on Computational Intelligence and Security (CIS '05)},
publisher = {Springer},
year = {2005},
pages = {679-686},
address = {Xi'an, China},
month = {15-19 December},
doi = {http://dx.doi.org/10.1007/11596981_100}
}
|
||||||
| 2009.04.01 | Lei Cao, Minglu Li & Jian Cao | Cost-Driven Web Service Selection Using Genetic Algorithm | 2005 | Proceedings of the 1st International Workshop on Internet and Network Economics (WINE '05), pp. 906-915, Hong Kong China, 15-17 December | Inproceedings | Design Tools and Techniques |
| Abstract: Web services composition has been one of the hottest research topics. But with the ever increasing number of functional similar web services being made available on the Internet, there is a need to be able to distinguish them using a set of well-defined Quality of Service (QoS) criteria. The cost is the primary concern of many business processes. In this paper, we propose a new solution using Genetic Algorithm (GA) in cost-driven web service selection. GA is utilized to optimize business process composed of many service agents (SAg). Each SAg corresponds to a collection of available web services provided by multiple service providers to perform a specific function. Service selection is an optimization process with taking into account the relationships among the services. Better performance has been gotten using GA in the paper than using local service selection strategy. The global optimal solution might also be achieved with proper GA parameters. | ||||||
BibTeX:
@inproceedings{CaoLC05,
author = {Lei Cao and Minglu Li and Jian Cao},
title = {Cost-Driven Web Service Selection Using Genetic Algorithm},
booktitle = {Proceedings of the 1st International Workshop on Internet and Network Economics (WINE '05)},
publisher = {Springer},
year = {2005},
pages = {906-915},
address = {Hong Kong, China},
month = {15-17 December},
doi = {http://dx.doi.org/10.1007/11600930_92}
}
|
||||||
| 2009.04.01 | Sunny Huynh & Yuanfang Cai | An Evolutionary Approach to Software Modularity Analysis | 2007 | Proceedings of the 1st International Workshop on Assessment of Contemporary Modularization Techniques (ACoM'07), pp. 1-6, Minneapolis USA, 20-26 May | Inproceedings | Distribution and Maintenance |
| Abstract: Modularity determines software quality in terms of evolveability, changeability, maintainability, etc. and a module could be a vertical slicing through source code directory structure or class boundary. Given a modularized design, we need to determine whether its implementation realizes the designed modularity. Manually comparing source code modular structure with abstracted design mod- ular structure is tedious and error-prone. In this paper, we present an automated approach to check the conformance of source code modularity to the designed modularity. Our approach uses design structure matrices (DSMs) as a uniform representation; it uses existing tools to automatically derive DSMs from the source code and design, and uses a genetic algorithm to automatically cluster DSMs and check the conformance. We applied our approach to a small canonical software system as a proof of concept experiment. The results supported our hypothesis that it is possible to check the conformance between source code structure and design struc- ture automatically, and this approach has the potential to be scaled for use in large software systems. | ||||||
BibTeX:
@inproceedings{HuynhC07,
author = {Sunny Huynh and Yuanfang Cai},
title = {An Evolutionary Approach to Software Modularity Analysis},
booktitle = {Proceedings of the 1st International Workshop on Assessment of Contemporary Modularization Techniques (ACoM'07)},
publisher = {ACM},
year = {2007},
pages = {1-6},
address = {Minneapolis, USA},
month = {20-26 May},
doi = {http://dx.doi.org/10.1109/ACOM.2007.1}
}
|
||||||
| 2009.04.01 | Brian S. Mitchell & Spiros Mancoridis | Modeling the Search Landscape of Metaheuristic Software Clustering Algorithms | 2003 | Proceedings of the Genetic and Evolutionary Computation Conference (GECCO '03), pp. 2499-2510, Chicago IL USA, 12-16 July | Inproceedings | Distribution and Maintenance |
| Abstract: Software clustering techniques are useful for extracting architectural information about a system directly from its source code structure. This paper starts by examining the Bunch clustering system, which uses metaheuristic search techniques to perform clustering. Bunch produces a subsystem decomposition by partitioning a graph formed from the entities (e.g., modules) and relations (e.g., function calls) in the source code, and then uses a fitness function to evaluate the quality of the graph partition. Finding the best graph partition has been shown to be a NP-hard problem, thus Bunch attempts to find a sub-optimal result that is “good enough” using search algorithms. Since the validation of software clustering results often is overlooked, we propose an evaluation technique based on the search landscape of the graph being clustered. By gaining insight into the search landscape, we can determine the quality of a typical clustering result. This paper defines how the search landscape is modeled and how it can be used for evaluation. A case study that examines a number of open source systems is presented. | ||||||
BibTeX:
@inproceedings{MitchellM03,
author = {Brian S. Mitchell and Spiros Mancoridis},
title = {Modeling the Search Landscape of Metaheuristic Software Clustering Algorithms},
booktitle = {Proceedings of the Genetic and Evolutionary Computation Conference (GECCO '03)},
publisher = {Springer},
year = {2003},
pages = {2499-2510},
address = {Chicago, IL, USA},
month = {12-16 July},
doi = {http://dx.doi.org/10.1007/3-540-45110-2_153}
}
|
||||||
| 2009.04.01 | Mark O'Keeffe & Mel Ó Cinnéide | Towards Automated Design Improvement Through Combinatorial Optimisation | 2004 | Proceedings of the 26th International Conference on Software Engineering and Workshop on Directions in Software Engineering Environments (WoDiSEE '04), pp. 75-82, Edinburgh UK, 23-28 May | Inproceedings | Design Tools and Techniques |
| Abstract: In this paper we present a novel approach to the problem of automated design improvement: by treating objectoriented design as a combinatorial optimisation of metrics we have developed a prototype software engineering tool capable of improving a design with respect to a conflicting set of goals. As the prioritisation of different goals is determined by weights associated with each metric, we also describe here a method of assigning coherent weights to a set of metrics based on object-oriented design heuristics. The combinatorial optimisation approach to automated design improvement is illustrated here by means of a simple case study, which shows the effect of applying our prototype tool to a small inheritance hierarchy. Results indicate that a balance between metrics has been achieved, as several potentially conflicting design goals are accommodated. |
||||||
BibTeX:
@inproceedings{OKeeffeO04,
author = {Mark O'Keeffe and Mel Ó Cinnéide},
title = {Towards Automated Design Improvement Through Combinatorial Optimisation},
booktitle = {Proceedings of the 26th International Conference on Software Engineering and Workshop on Directions in Software Engineering Environments (WoDiSEE '04)},
publisher = {ACM},
year = {2004},
pages = {75-82},
address = {Edinburgh, UK},
month = {23-28 May},
url = {http://www.cs.auckland.ac.nz/~herm/WoDiSEE2004/papers/Towards%20Automated%20Design%20Improvement%20Through%20Combinatorial%20Optimisation.pdf}
}
|
||||||
| 2009.04.01 | Sen Su, Chengwen Zhang & Junliang Chen | An Improved Genetic Algorithm for Web Services Selection | 2007 | Proceedings of the 7th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS '07), Vol. 4531, pp. 284-295, Paphos Cyprus, 6-8 June | Inproceedings | Design Tools and Techniques |
| Abstract: An improved genetic algorithm is presented to select optimal web services composite plans from a lot of composite plans on the basis of global Quality-of-Service (QoS) constraints. The relation matrix coding scheme of genome is its basis. In this genetic algorithm, an especial fitness function and a mutation policy are proposed on the basis of the relation matrix coding scheme of genome. They enhance convergence of genetic algorithm and can get more excellent composite service plan because they accord with web services selection very well. The simulation results on QoS-aware web services selection have shown that the improved genetic algorithm can gain effectively the composite service plan that satisfies the global QoS requirements, and that the convergence of genetic algorithm was improved very well. | ||||||
BibTeX:
@inproceedings{SuZC07,
author = {Sen Su and Chengwen Zhang and Junliang Chen},
title = {An Improved Genetic Algorithm for Web Services Selection},
booktitle = {Proceedings of the 7th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS '07)},
publisher = {Springer},
year = {2007},
volume = {4531},
pages = {284-295},
address = {Paphos, Cyprus},
month = {6-8 June},
doi = {http://dx.doi.org/10.1007/978-3-540-72883-2_21}
}
|
||||||
| 2009.04.01 | Rodrigo A. Vivanco & Dean Jin | Selecting Object-Oriented Source Code Metrics to Improve Predictive Models using a Parallel Genetic Algorithm | 2007 | Proceedings of Conference on Object Oriented Programming Systems Languages and Applications Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, pp. 769-770, Montreal Quebec Canada, 21-25 October | Inproceedings | Metrics |
| Abstract: Predictive models can be used to discover potentially problematic components. Source code metrics can be used as input features to predictive models, however, there are many structural and design measures that capture related metrics of coupling, cohesion, inheritance, complexity and size. Feature selection is the process of identifying a subset of attributes that improves the performance of a predictive model. This paper presents a prototype that implements a parallel genetic algorithm as a search-based feature selection method that enhances a predictive model's ability to identify cognitively complex components in a Java application. | ||||||
BibTeX:
@inproceedings{VivancoJ07,
author = {Rodrigo A. Vivanco and Dean Jin},
title = {Selecting Object-Oriented Source Code Metrics to Improve Predictive Models using a Parallel Genetic Algorithm},
booktitle = {Proceedings of Conference on Object Oriented Programming Systems Languages and Applications Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion},
publisher = {ACM},
year = {2007},
pages = {769-770},
address = {Montreal, Quebec, Canada},
month = {21-25 October},
doi = {http://dx.doi.org/10.1145/1297846.1297879}
}
|
||||||
| 2009.04.01 | Chengwen Zhang, Sen Su & Junliang Chen | A Novel Genetic Algorithm for QoS-Aware Web Services Selection | 2006 | Proceedings of the 2nd International Workshop on Data Engineering Issues in E-Commerce and Services (DEECS '06), Vol. 4055, pp. 224-235, San Francisco CA USA, 26 June | Inproceedings | Design Tools and Techniques |
| Abstract: A novel genetic algorithm characterized by improved fitness value is presented for Quality of Service (QoS)-aware web services selection. The genetic algorithm includes a special relation matrix coding scheme of chromosomes, an initial population policy and a mutation policy. The relation matrix coding scheme suits with QoS-aware web service composition more than the one dimension coding scheme. By running only once, the proposed genetic algorithm can construct the composite service plan according with the QoS requirement from many services compositions. Meanwhile, the adoption of the initial population policy and the mutation policy promotes the fitness of genetic algorithm. Experiments on QoS-aware web services selection show that the genetic algorithm with this matrix can get more excellent composite service plan than the genetic algorithm with the one dimension coding scheme, and that the two policies play an important role at the improvement of the fitness of genetic algorithm. | ||||||
BibTeX:
@inproceedings{ZhangSC06,
author = {Chengwen Zhang and Sen Su and Junliang Chen},
title = {A Novel Genetic Algorithm for QoS-Aware Web Services Selection},
booktitle = {Proceedings of the 2nd International Workshop on Data Engineering Issues in E-Commerce and Services (DEECS '06)},
publisher = {Springer},
year = {2006},
volume = {4055},
pages = {224-235},
address = {San Francisco, CA, USA},
month = {26 June},
doi = {http://dx.doi.org/10.1007/11780397_18}
}
|
||||||
| 2009.03.31 | Mehdi Amoui, Siavash Mirarab, Sepand Ansari & Caro Lucas | A Genetic Algorithm Approach to Design Evolution using Design Pattern Transformation | 2006 | International Journal of Information Technology and Intelligent Computing, Vol. 1(2), pp. 235-244, June/August | Article | Design Tools and Techniques |
| Abstract: Improving software quality is a major concern in software development process. Despite all previous attempts to evolve software for quality improvement, these methods are neither scalable nor fully automatable. In this research we approach software evolution problem by reformulating it as a search problem. For this purpose, we applied software transformations in a form of GOF patterns to UML design model and evaluated the quality of the transformed design according to Object-Oriented metrics, particularly 'Distance from the Main Sequence'. This search based formulation of the problem enables us to use Genetic Algorithm for optimizing the metrics and find the best sequence of transformations. The implementation results show that Genetic Algorithm is able to find the optimal solution efficiently, especially when different genetic operators, adapted to characteristics of transformations, are used. Overall, we conclude that software transformations can successfully be approached automatically using evolutionary algorithms. |
||||||
BibTeX:
@article{AmouiMAL06,
author = {Mehdi Amoui and Siavash Mirarab and Sepand Ansari and Caro Lucas},
title = {A Genetic Algorithm Approach to Design Evolution using Design Pattern Transformation},
journal = {International Journal of Information Technology and Intelligent Computing},
year = {2006},
volume = {1},
number = {2},
pages = {235-244},
month = {June/August},
url = {http://itic.wshe.lodz.pl/short/iticvol1no2_short.pdf}
}
|
||||||
| 2009.03.31 | Thierry Bodhuin, Gerardo Canfora & Luigi Troiano | SORMASA: A Tool for Suggesting Model Refactoring Actions by Metrics-Led Genetic Algorithm | 2007 | Proceedings of the 1st Workshop on Refactoring Tools (WRT '07 - in conjunction with ECOOP'07), pp. 23-24, Berlin Germany, 31 July | Inproceedings | Distribution and Maintenance |
| Abstract: In this paper we introduce SORMASA, SOftware Refactoring using software Metrics And Search Algorithms, a refactoring decision support tool based on optimization techniques, in particular Genetic Algorithms. | ||||||
BibTeX:
@inproceedings{BodhuinCT07,
author = {Thierry Bodhuin and Gerardo Canfora and Luigi Troiano},
title = {SORMASA: A Tool for Suggesting Model Refactoring Actions by Metrics-Led Genetic Algorithm},
booktitle = {Proceedings of the 1st Workshop on Refactoring Tools (WRT '07 - in conjunction with ECOOP'07)},
publisher = {TU Berlin},
year = {2007},
pages = {23-24},
address = {Berlin, Germany},
month = {31 July},
url = {https://netfiles.uiuc.edu/dig/papers/WRT_Proceedings.pdf}
}
|
||||||
| 2009.03.31 | Thierry Bodhuin, Massimiliano Di Penta & Luigi Troiano | A Search-based Approach for Dynamically Re-packaging Downloadable Applications | 2007 | Proceedings of the 2007 Conference of the IBM Center for Advanced Studies on Collaborative Research, pp. 27-41, Richmond Hill Ontario Canada, 22-25 October | Inproceedings | Distribution and Maintenance |
| Abstract: Mechanisms such as Java Web Start enable on-the-fly downloading and execution of applications installed on remote servers, without the need for having them installed on the local machine. The rapid diffusion of mobile devices (e.g., Personal Device Assistants - PDAs) connected to the Internet make these applications appealing to mobile users. However, in many cases the available bandwidth is limited, and its excessive usage can even be a cost when wireless connections are paid on a Kbyte transfer basis. This paper proposes an approach based on Genetic Algorithms and an environment that, based on previous usage information of the application (i.e. scenarios), re-packages it with the objective of limiting amount of resources transmitted for using a set of application features. The paper reports an empirical study on the application of the proposed approach on three medium-sized Java applications. |
||||||
BibTeX:
@inproceedings{BodhuinDT07,
author = {Thierry Bodhuin and Massimiliano Di Penta and Luigi Troiano},
title = {A Search-based Approach for Dynamically Re-packaging Downloadable Applications},
booktitle = {Proceedings of the 2007 Conference of the IBM Center for Advanced Studies on Collaborative Research},
publisher = {ACM},
year = {2007},
pages = {27-41},
address = {Richmond Hill, Ontario, Canada},
month = {22-25 October},
doi = {http://dx.doi.org/10.1145/1321211.1321215}
}
|
||||||
| 2009.03.31 | Michael Bowman, Lionel C. Briand & Yvan Labiche | Solving the Class Responsibility Assignment Problem in Object-Oriented Analysis with Multi-Objective Genetic Algorithms | 2008 | (SCE-07-02), August | Techreport | Design Tools and Techniques |
| Abstract: In the context of object-oriented analysis and design (OOAD), class responsibility assignment is not an easy skill to acquire. Though there are many methodologies for assigning responsibilities to classes, they all rely on human judgment and decision making. Our objective is to provide decision-making support to re-assign methods and attributes to classes in a class diagram. Our solution is based on a multi-objective genetic algorithm (MOGA) and uses class coupling and cohesion measurement for defining fitness functions. Our MOGA takes as input a class diagram to be optimized and suggests possible improvements to it. The choice of a MOGA stems from the fact that there are typically many evaluation criteria that cannot be easily combined into one objective, and several alternative solutions are acceptable for a given OO domain model. Using a carefully selected case study, this article investigates the application of our proposed MOGA to the class responsibility assignment problem, in the context of object-oriented analysis and domain class models. Our results suggest that the MOGA can help correct suboptimal class responsibility assignment decisions and perform far better than simpler alternative heuristics such as hill climbing and a single objective GA. | ||||||
BibTeX:
@techreport{BowmanBL08,
author = {Michael Bowman and Lionel C. Briand and Yvan Labiche},
title = {Solving the Class Responsibility Assignment Problem in Object-Oriented Analysis with Multi-Objective Genetic Algorithms},
year = {2008},
number = {SCE-07-02},
month = {August},
url = {http://squall.sce.carleton.ca/pubs/tech_report/TR_SCE-07-02_v3.pdf}
}
|
||||||
| 2009.03.31 | Sylvain Chardigny, Abdelhak Seriai, Mourad Oussalah & Dalila Tamzalit | Search-based Extraction of Component-Based Architecture from Object-Oriented Systems | 2008 | Proceedings of the 2nd European conference on Software Architecture, Vol. 5292, pp. 322-325, Paphos Cyprus, 29 September-1October | Inproceedings | Design Tools and Techniques |
| Abstract: Software architecture modeling and representation are a main phase of the development process of complex systems. In fact, software architecture representation provides many advantages during all phases of software life cycle. Nevertheless, for many systems, like legacy or eroded ones, there is no available representation of their architectures. In order to benefit from this representation, we propose an approach called ROMANTIC which focuses on extracting a component-based architecture of an existing object-oriented system. This approach considers this problem as a balancing problem of competing constraints which aims to select the best solution among all the possible architectures. Consequently, we present in this paper the identified constraints of this problem and its formulation as a search-based problem. | ||||||
BibTeX:
@inproceedings{ChardignySOT08,
author = {Sylvain Chardigny and Abdelhak Seriai and Mourad Oussalah and Dalila Tamzalit},
title = {Search-based Extraction of Component-Based Architecture from Object-Oriented Systems},
booktitle = {Proceedings of the 2nd European conference on Software Architecture},
publisher = {Springer},
year = {2008},
volume = {5292},
pages = {322-325},
address = {Paphos, Cyprus},
month = {29 September-1October},
doi = {http://dx.doi.org/10.1007/978-3-540-88030-1_28}
}
|
||||||
| 2009.03.31 | Sylvain Chardigny, Abdelhak Seriai, Dalila Tamzalit & Mourad Oussalah | Quality-Driven Extraction of a Component-based Architecture from an Object-Oriented System | 2008 | Proceedings of the 12th European Conference on Software Maintenance and Reengineering (CSMR '08), pp. 269-273, Athens Greece, 1-4 April | Inproceedings | Design Tools and Techniques |
| Abstract: Software architecture modeling and representation became a main phase of the development process of complex systems. In fact, software architecture representation provides many advantages during all phases of software life cycle. Nevertheless, for many systems, like legacy or eroded ones, there is no available representation of their architectures. In order to benefit from this representation, we propose, in this paper, an approach called ROMANTIC which focuses on extracting the architecture of an object-oriented system. The main idea of this approach is to propose a quasi-automatic process of architecture recovery based on the quality characteristics of an architecture by formulating it as a search-based problem. This last acts on the space composed of all possible architectures abstracting the object-oriented system. | ||||||
BibTeX:
@inproceedings{ChardignySTO08,
author = {Sylvain Chardigny and Abdelhak Seriai and Dalila Tamzalit and Mourad Oussalah},
title = {Quality-Driven Extraction of a Component-based Architecture from an Object-Oriented System},
booktitle = {Proceedings of the 12th European Conference on Software Maintenance and Reengineering (CSMR '08)},
publisher = {IEEE Computer Society},
year = {2008},
pages = {269-273},
address = {Athens, Greece},
month = {1-4 April},
doi = {http://dx.doi.org/10.1109/CSMR.2008.4493324}
}
|
||||||
| 2009.03.31 | Yong Chen & Yong Zhong | Automatic Path-Oriented Test Data Generation Using a Multi-population Genetic Algorithm | 2008 | Proceedings of the 4th International Conference on Natural Computation (ICNC '08), pp. 565-570, Jinan China, 25-27 August | Inproceedings | Testing and Debugging |
| Abstract: Automatic path-oriented test data generation is an undecidable problem and genetic algorithm (GA) has been used to test data generation since 1992. In favor of MATLAB, a multi-population genetic algorithm (MPGA) was implemented, which selects individuals for free migration based on their fitness values. Applying MPGA to generating path-oriented test data generation is a new and meaningful attempt. After depicting how to transform path-oriented test data generation into an optimization problem, basic process flow of path-oriented test data generation using GA was presented. Using a triangle classifier as program under test, experimental results show that MPGA based approach can generate path-oriented test data more effectively and efficiently than simple GA based approach does. | ||||||
BibTeX:
@inproceedings{ChenZ08,
author = {Yong Chen and Yong Zhong},
title = {Automatic Path-Oriented Test Data Generation Using a Multi-population Genetic Algorithm},
booktitle = {Proceedings of the 4th International Conference on Natural Computation (ICNC '08)},
publisher = {IEEE},
year = {2008},
pages = {565-570},
address = {Jinan, China},
month = {25-27 August},
doi = {http://dx.doi.org/10.1109/ICNC.2008.388}
}
|
||||||
| 2009.03.31 | Vittorio Cortellessa, Ivica Crnkovic, Fabrizio Marinelli & Pasqualina Potena | Experimenting the Automated Selection of COTS Components Based on Cost and System Requirements | 2008 | Journal of Universal Computer Science, Vol. 14(8), pp. 1228-1255 | Article | Requirements/Specifications |
| Abstract: In a component-based development process the selection of components is an activity that takes place over multiple lifecycle phases that span from requirement specifications through design to implementation and integration. In different phases, different assumptions are valid and different granularity of information is available, which has a consequence that different procedure should be used in the selection process and an automated tool support for an optimized component selection would be very helpful in each phase. In this paper we analyze the assumptions and propose the selection procedure in the requirements phase. The selection criterion is based on cost minimization of the whole system while assuring a certain degree of satisfaction of the system requirements that can be considered before designing the whole architecture. For the selection and optimization procedure we have adopted the DEER (DEcision support for componEnt-based softwaRe) framework, previously developed to be used in the selection process in the design phase. The output of DEER indicates the optimal combination of single COTS (Commercial-Off-The-Shelf) components and assemblies of COTS that satisfy the requirements while minimizing costs. In a case study we illustrate the selection and optimization procedure and an analysis of the model sensitivity to changes in the requirements. | ||||||
BibTeX:
@article{CortellessaCMP08,
author = {Vittorio Cortellessa and Ivica Crnkovic and Fabrizio Marinelli and Pasqualina Potena},
title = {Experimenting the Automated Selection of COTS Components Based on Cost and System Requirements},
journal = {Journal of Universal Computer Science},
year = {2008},
volume = {14},
number = {8},
pages = {1228-1255},
doi = {http://dx.doi.org/10.3217/jucs-014-08-1228}
}
|
||||||
| 2009.03.31 | Massimiliano Di Penta | Evolution Doctor: A Framework to Control Software System Evolution | 2005 | Proceedings of the 9th European Conference on Software Maintenance and Reengineering (CSMR '05), pp. 280-283, Manchester UK, 21-23 March | Inproceedings | Distribution and Maintenance |
| Abstract: Real world software systems undergo, during their lifetime, to repeated maintenance activities. Due to the market pressure and to the need for having back the system operational in the shortest time possible, maintenance tends to introduce negative side effects. Some examples are the growth of the cloning percentage, the increase of library size, the presence of unused objects, or the lost of source file organization. This thesis proposes a framework, named Evolution Doctor, to diagnose and cure such phenomena. The framework permits the analysis and prediction of several indicators of software system evolution (size, complexity, cloning). Then, the framework defines a set of methods and tools to cure the problems: remove clones and unused objects, reorganize libraries, and restructure the source file directory organizations. | ||||||
BibTeX:
@inproceedings{DiPenta05,
author = {Massimiliano Di Penta},
title = {Evolution Doctor: A Framework to Control Software System Evolution},
booktitle = {Proceedings of the 9th European Conference on Software Maintenance and Reengineering (CSMR '05)},
publisher = {IEEE Computer Society},
year = {2005},
pages = {280-283},
address = {Manchester, UK},
month = {21-23 March},
doi = {http://dx.doi.org/10.1109/CSMR.2005.29}
}
|
||||||
| 2009.03.31 | Massimiliano Di Penta, Markus Neteler, Giuliano Antoniol & Ettore Merlo | A Language-Independent Software Renovation Framework | 2005 | Journal of Systems and Software, Vol. 77(3), pp. 225-240, September | Article | Distribution and Maintenance |
| Abstract: One of the undesired effects of software evolution is the proliferation of unused components, which are not used by any application. As a consequence, the size of binaries and libraries tends to grow and system maintainability tends to decrease. At the same time, a major trend of today's software market is the porting of applications on hand-held devices or, in general, on devices which have a limited amount of available resources. Refactoring and, in particular, the miniaturization of libraries and applications are therefore necessary. We propose a Software Renovation Framework (SRF) and a toolkit covering several aspects of software renovation, such as removing unused objects and code clones, and refactoring existing libraries into smaller more cohesive ones. Refactoring has been implemented in the SRF using a hybrid approach based on hierarchical clustering, on genetic algorithms and hill climbing, also taking into account the developers' feedback. The SRF aims to monitor software system quality in terms of the identified affecting factors, and to perform renovation activities when necessary. Most of the framework activities are language-independent, do not require any kind of source code parsing, and rely on object module analysis. The SRF has been applied to GRASS, which is a large open source Geographical Information System of about one million LOCs in size. It has significantly improved the software organization, has reduced by about 50% the average number of objects linked by each application, and has consequently also reduced the applications' memory requirements. |
||||||
BibTeX:
@article{DiPentaNAM05,
author = {Massimiliano Di Penta and Markus Neteler and Giuliano Antoniol and Ettore Merlo},
title = {A Language-Independent Software Renovation Framework},
journal = {Journal of Systems and Software},
year = {2005},
volume = {77},
number = {3},
pages = {225-240},
month = {September},
doi = {http://dx.doi.org/10.1016/j.jss.2004.03.033}
}
|
||||||
| 2009.03.31 | Khaled El-Fakih, Hirozumi Yamaguchi & Gregor v. Bochmann | A Method and a Genetic Algorithm for Deriving Protocols for Distributed Applications with Minimum Communication Cost | 1999 | Proceedings of the 11th International Conference on Parallel and Distributed Computing and Systems (PDCS '99), Boston USA, 3-6 November | Inproceedings | Network Protocols |
| Abstract: We consider a set of rules for deriving the specification of the protocol of a distributed system from a given specification of services, and define and formulate the message exchange optimization problem using a 0-1 integer programming model. This problem is about determining the minimum number of messages to be exchanged between the physical locations of the distributed system, in order to reduce the communication cost. We then present a genetic algorithm for solving this problem. The main advantage of this algorithm, in comparison with exact algorithms, is that its complexity remains manageable for realistic large specifications. The experimental results show that the minimum number of messages to be exchanged is found in a very reasonable time. | ||||||
BibTeX:
@inproceedings{ElFakihYB99,
author = {Khaled El-Fakih and Hirozumi Yamaguchi and Gregor v. Bochmann},
title = {A Method and a Genetic Algorithm for Deriving Protocols for Distributed Applications with Minimum Communication Cost},
booktitle = {Proceedings of the 11th International Conference on Parallel and Distributed Computing and Systems (PDCS '99)},
year = {1999},
address = {Boston, USA},
month = {3-6 November},
url = {http://www-higashi.ist.osaka-u.ac.jp/~h-yamagu/resource/pdcs99.pdf}
}
|
||||||
| 2009.03.31 | Anthony Finkelstein, Mark Harman, S. Afshin Mansouri, Jian Ren & Yuanyuan Zhang | A Search based Approach to Fairness Analysis in Requirement Assignments to Aid Negotiation, Mediation and Decision Making | 2009 | Requirements Engineering Journal (RE '08 Special Issue), Vol. 14(4), pp. 231-245, December | Article | Requirements/Specifications |
| Abstract: This paper uses a multi-objective optimisation approach to support investigation of the trade-offs in various notions of fairness between multiple customers. Results are presented to validate the approach using two real-world data sets and also using data sets created specifically to stress test the approach. Simple graphical techniques are used to visualize the solution space. The paper also reports on experiments to determine the most suitable algorithm for this problem, comparing the results of the NSGA-II algorithms, a widely used multi objective evolutionary algorithm, and the Two-Archive evolutionary algorithm, a recently proposed alternative. | ||||||
BibTeX:
@article{FinkelsteinHMRZ09,
author = {Anthony Finkelstein and Mark Harman and S. Afshin Mansouri and Jian Ren and Yuanyuan Zhang},
title = {A Search based Approach to Fairness Analysis in Requirement Assignments to Aid Negotiation, Mediation and Decision Making},
journal = {Requirements Engineering Journal (RE '08 Special Issue)},
year = {2009},
volume = {14},
number = {4},
pages = {231-245},
month = {December},
doi = {http://dx.doi.org/10.1007/s00766-009-0075-y}
}
|
||||||
| 2009.03.31 | S. Ghazi & Moataz A Ahmed | Pair-wise Test Coverage using Genetic Algorithms | 2003 | Proceedings of the IEEE Congress on Evolutionary Computation (CEC '03), pp. 1420-1424, Canberra Australia, 8-12 December | Inproceedings | Testing and Debugging |
| Abstract: There has been an emerging trend to develop software using different components. In this way the cost of the software reduces and the developer is able to complete the system efficiently. The components' code may or may not be visible to the developer. Testing, in this case, requires the development of a set of test configurations that can be applied on the software. However, for software that comprises a large number of components, it is infeasible to test each and every test configuration within the limited testing budget and time. In this paper we propose a GA-based technique that identifies a set of test configurations that are expected to maximize pair-wise coverage, with the constraint that the number of test configurations is predefined. Although the paper primarily focuses on the interaction between software components, the idea can be applied to single code component testing. We performed some experiments using our proposed approach. The results were promising. | ||||||
BibTeX:
@inproceedings{GhaziA03,
author = {S. Ghazi and Moataz A Ahmed},
title = {Pair-wise Test Coverage using Genetic Algorithms},
booktitle = {Proceedings of the IEEE Congress on Evolutionary Computation (CEC '03)},
publisher = {IEEE},
year = {2003},
pages = {1420-1424},
address = {Canberra, Australia},
month = {8-12 December},
doi = {http://dx.doi.org/10.1109/CEC.2003.1299837}
}
|
||||||
| 2009.03.31 | Heather J. Goldsby, Betty H.C. Cheng, Philip K. McKinley, David B. Knoester & Charles A. Ofria | Digital Evolution of Behavioral Models for Autonomic Systems | 2008 | Proceedings of the 2008 International Conference on Autonomic Computing, pp. 87-96, Chicago IL USA, 2-6 June | Inproceedings | Design Tools and Techniques |
| Abstract: We describe an automated method to generating models of an autonomic system. Specifically, we generate UML state diagrams for a set of interacting objects, including the extension of existing state diagrams to support new behavior. The approach is based on digital evolution, a form of evolutionary computation that enables a designer to explore an enormous solution space for complex problems. In our application of this technology,an evolving population of digital organisms is subjected to natural selection,where organisms are rewarded for generating state diagrams that support key scenarios and satisfy critical properties as specified by the developer.To achieve this capability, we extended the Avida digital evolution platform to enable state diagram generation, and integrated Avida with third-party software engineering tools, e.g., the Spin model checker, to assess the generated state diagrams. To illustrate this approach, we successfully applied it to the generation of state diagrams describing the autonomous navigation behavior of a humanoid robot. | ||||||
BibTeX:
@inproceedings{GoldsbyCMKO08,
author = {Heather J. Goldsby and Betty H.C. Cheng and Philip K. McKinley and David B. Knoester and Charles A. Ofria},
title = {Digital Evolution of Behavioral Models for Autonomic Systems},
booktitle = {Proceedings of the 2008 International Conference on Autonomic Computing},
publisher = {IEEE Computer Society},
year = {2008},
pages = {87-96},
address = {Chicago, IL, USA},
month = {2-6 June},
doi = {http://dx.doi.org/10.1109/ICAC.2008.26}
}
|
||||||
| 2009.03.31 | Kenneth Hoste & Lieven Eeckhout | COLE: Compiler Optimization Level Exploration | 2008 | Proceedings of the 6th Annual IEEE/ACM International Symposium on Code Generation and Optimization, pp. 165-174, Boston MA USA, 5-9 April | Inproceedings | Coding Tools and Techniques |
| Abstract: Modern compilers implement a large number of optimizations which all interact in complex ways, and which all have a different impact on code quality, compilation time, code size, energy consumption, etc. For this reason, compilers typically provide a limited number of standard optimization levels, such as -O1, -O2, -O3 and -Os, that combine various optimizations providing a number of trade-offs between multiple objective functions (such as code quality, compilation time and code size). The construction of these optimization levels, i.e., choosing which optimizations to activate at each level, is a manual process typically done using high-level heuristics based on the compiler developer's experience. This paper proposes COLE, Compiler Optimization Level Exploration, a framework for automatically finding Pareto optimal optimization levels through multi-objective evolutionary searching. Our experimental results using GCC and the SPEC CPU benchmarks show that the automatic construction of optimization levels is feasible in practice, and in addition, yields better optimization levels than GCC's manually derived (-Os, -O1, -O2 and -O3) optimization levels, as well as the optimization levels obtained through random sampling. We also demonstrate that COLE can be used to gain insight into the effectiveness of compiler optimizations as well as to better understand a benchmark's sensitivity to compiler optimizations. |
||||||
BibTeX:
@inproceedings{HosteE08,
author = {Kenneth Hoste and Lieven Eeckhout},
title = {COLE: Compiler Optimization Level Exploration},
booktitle = {Proceedings of the 6th Annual IEEE/ACM International Symposium on Code Generation and Optimization},
publisher = {ACM},
year = {2008},
pages = {165-174},
address = {Boston, MA, USA},
month = {5-9 April},
doi = {http://dx.doi.org/10.1145/1356058.1356080}
}
|
||||||
| 2009.03.31 | Sun-Jen Huang, Nan-Hsing Chiu & Li-Wei Chen | Integration of the Grey Relational Analysis with Genetic Algorithm for Software Effort Estimation | 2008 | European Journal of Operational Research, Vol. 188(3), pp. 898-909, August | Article | Management |
| Abstract: Accurate estimates of efforts in software development are necessary in project management practices. Project managers or domain experts usually conduct software effort estimation using their experience; hence, subjective or implicit estimates occur frequently. As most software projects have incomplete information and uncertain relations between effort drivers and the required development effort, the grey relational analysis (GRA) method has been applied in building a formal software effort estimation model for this study. The GRA in the grey system theory is a problem-solving method that is used when dealing with similarity measures of complex relations. This paper examines the potentials of the software effort estimation model by integrating a genetic algorithm (GA) to the GRA. The GA method is adopted to find the best fit of weights for each software effort driver in the similarity measures. Experimental results show that the software effort estimation using an integration of the GRA with GA method presents more precise estimates over the results using the case-based reasoning (CBR), classification and regression trees (CART), and artificial neural networks (ANN) methods. | ||||||
BibTeX:
@article{HuangCC08,
author = {Sun-Jen Huang and Nan-Hsing Chiu and Li-Wei Chen},
title = {Integration of the Grey Relational Analysis with Genetic Algorithm for Software Effort Estimation},
journal = {European Journal of Operational Research},
year = {2008},
volume = {188},
number = {3},
pages = {898-909},
month = {August},
doi = {http://dx.doi.org/10.1016/j.ejor.2007.07.002}
}
|
||||||
| 2009.03.31 | Michael C. Jaeger & Gero Mühl | QoS-based Selection of Services: The Implementation of a Genetic Algorithm | 2007 | Proceedings of Kommunikation in Verteilten Systemen (KiVS) 2007 Workshop: Service-Oriented Architectures and Service-Oriented Computing | Inproceedings | Design Tools and Techniques |
| Abstract: In today’s businesses we can see the trend that service-oriented architectures (SOA) represent the main paradigm for IT infrastructures. In this setting, software offers its functionality as an electronic service to other software in a network. In order to realise more complex tasks or business processes that are comprised of individual services, compositions of these are formed. Thus, several research efforts cover the creation of service compositions, including their modelling, development and provision. In this setting, individual services must be selected that perform the tasks of the composition. This selection can consider the quality-of-service (QoS). This paper discusses the optimisation problem when selecting services while considering different QoS characteristics. For this problem, we investigate the application of a genetic algorithm. Based on previous research work, the implementation of this algorithm is tested in our simulation environment SENECA in order to compare its performance with other approaches. Furthermore we use the simulation environment in order to determine the impact of different parameters (e.g. mutation rate, fitness function) on the optimisation capability of the genetic algorithm. |
||||||
BibTeX:
@inproceedings{JaegerM07,
author = {Michael C. Jaeger and Gero Mühl},
title = {QoS-based Selection of Services: The Implementation of a Genetic Algorithm},
booktitle = {Proceedings of Kommunikation in Verteilten Systemen (KiVS) 2007 Workshop: Service-Oriented Architectures and Service-Oriented Computing},
year = {2007},
url = {http://kbs.cs.tu-berlin.de/publications/fulltext/kivs2007_1.pdf}
}
|
||||||
| 2009.03.31 | Gabriel Jarillo, Giancarlo Succi, Witold Pedrycz & Marek Reformat | Analysis of Software Engineering Data using Computational Intelligence Techniques | 2001 | Proceedings of the 7th International Conference on Object Oriented Information Systems (OOIS '01), pp. 133-142, Calgary Canada, 27-29 August | Inproceedings | Management |
| Abstract: The accurate estimation of software development effort has major implications for the management of software development in the industry. Underestimates lead to time pressures that may compromise full functional development and thorough testing of the software product. On the other hand, overestimates can result in over allocation of development resources and personnel [7]. Many models for effort estimation have been developed during the past years; some of them use parametric methods with some degree of success, other kind of methods belonging to the computational intelligence family, such as Neural Networks (NN), have been also studied in this field showing more accurate estimations, and finally the Genetic programming (GP) techniques are being considered as promising tools for the prediction of effort estimation. | ||||||
BibTeX:
@inproceedings{JarilloSPR01,
author = {Gabriel Jarillo and Giancarlo Succi and Witold Pedrycz and Marek Reformat},
title = {Analysis of Software Engineering Data using Computational Intelligence Techniques},
booktitle = {Proceedings of the 7th International Conference on Object Oriented Information Systems (OOIS '01)},
publisher = {Springer},
year = {2001},
pages = {133-142},
address = {Calgary, Canada},
month = {27-29 August},
url = {http://www.google.com/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fwww.inf.unibz.it%2F~gsucci%2Fpublications%2Fimages%2Fanalysisofsoftwareengineeringdatausingcomputationalsoftwaretechniques.pdf&ei=Gz6tSZntMqTJjAfu4pmjBg&usg=AFQjCNGQ_Yv6Mk1I4CYLxzk32uT91DZdhQ&sig2=7TnWSmQGyBJoF_gucgUB2Q}
}
|
||||||
| 2009.03.31 | Hsinyi Jiang, Carl K. Chang, Dan Zhu & Shuxing Cheng | A Foundational Study on the Applicability of Genetic Algorithm to Software Engineering Problems | 2007 | Proceedings of IEEE Congress on Evolutionary Computation (CEC '07), pp. 2210-2219, Singapore, 25-28 September | Inproceedings | General Aspects and Survey |
| Abstract: Many problems in software engineering (SE) can be formulated as optimization problems. Genetic algorithm (GA) is one of the more effective tools for solving such optimization problems and has attracted the attention of SE researchers in recent years. However, there is a general lack of sound support theory to help SE researchers investigate the applicability of GA to certain classes of SE problems. Without such a theory, numerous attempts to conduct a wide spectrum of experiments for solution validation appear to be ad hoc and the results are often difficult to generalize. This paper reports a foundational study to develop such a support theory. Some preliminary results are also given. | ||||||
BibTeX:
@inproceedings{JiangCZC07,
author = {Hsinyi Jiang and Carl K. Chang and Dan Zhu and Shuxing Cheng},
title = {A Foundational Study on the Applicability of Genetic Algorithm to Software Engineering Problems},
booktitle = {Proceedings of IEEE Congress on Evolutionary Computation (CEC '07)},
publisher = {IEEE},
year = {2007},
pages = {2210-2219},
address = {Singapore},
month = {25-28 September},
doi = {http://dx.doi.org/10.1109/CEC.2007.4424746}
}
|
||||||
| 2009.03.31 | A.M. Khamis, M.R. Girgis & A.S. Ghiduk | Automatic Software Test Data Generation for Spanning Sets Coverage using Genetic Algorithms | 2007 | Computing and Informatics, Vol. 26(4), pp. 383-401 | Article | Testing and Debugging |
| Abstract: Software testing takes a considerable amount of time and resources spent on producing software. Therefore, it would be useful to have ways to reduce the cost of software testing. The new concepts of spanning sets of entities suggested by Marré and Bertolino are useful for reducing the cost of testing. In fact, to reduce the testing effort, the generation of test data can be targeted to cover the entities in the spanning set, rather than all the entities in the tested program. Marré and Bertolino presented an algorithm based on the subsumption relation between entities to find spanning sets for a family of control flow and data flow-based test coverage criteria. This paper presents a new general technique for the automatic test data generation for spanning sets coverage. The proposed technique applies to the algorithm proposed recently by Marré and Bertolino to automatically generate the spanning sets of program entities that satisfy a wide range of control flow and data flow-based test coverage criteria. Then, it uses a genetic algorithm to automatically generate sets of test data to cover these spanning sets. The proposed technique employed the concepts of spanning sets to limit the number of test cases, guide the test case selection, overcome the problem of the redundant test cases and automate the test path generation. | ||||||
BibTeX:
@article{KhamisGG07,
author = {A. M. Khamis and M. R. Girgis and A. S. Ghiduk},
title = {Automatic Software Test Data Generation for Spanning Sets Coverage using Genetic Algorithms},
journal = {Computing and Informatics},
year = {2007},
volume = {26},
number = {4},
pages = {383-401},
url = {http://www.sav.sk/index.php?lang=sk&charset=&doc=publish-journal&part=list_articles&journal_issue_no=1984}
}
|
||||||
| 2009.03.31 | Taghi M. Khoshgoftaar, Naeem Seliya & Dennis J. Drown | On the Rarity of Fault-prone Modules in Knowledge-based Software Quality Modeling | 2008 | Proceedings of the 20th International Conference on Software Engineering and Knowledge Engineering, pp. 279-284, San Francisco CA USA, 1-3 July | Inproceedings | Management |
| Abstract: A large imbalance between proportions of the not-faultprone and fault-prone program modules in a software measurement dataset has an adverse impact on the trained software quality model. This rarity of known fault-prone modules during software quality modeling is a common occurrence, especially in high assurance systems. Such disparity in proportions of the two classes is observed in other domains as well. We present an evolutionary computing-based data sampling approach to address class imbalance in binary classification problems. The approach, named Evolutionary Sampling, works by "naturally" selecting the good instances in the training data and removing those that are redundant, irrelevant, or impart no additional knowledge. We compare our majority undersampling technique with the other existing majority undersampling techniques, i.e. random undersampling, Wilson's editing, and one-sided selection. Our approach can also be combined with a genetic algorithm-based optimization of a classifier's modeling parameters. The multilayer perceptron neural network is used in this study as the underlying software quality model. Case studies of two real-world software measurement datasets are used for evaluating our genetic algorithm-based data sampling approach with the other majority undersampling techniques. It is shown that Evolutionary Sampling is significant in outperforming the other data sampling techniques, and shows a clear improvement over the software quality model built without any data sampling. |
||||||
BibTeX:
@inproceedings{KhoshgoftaarSD08,
author = {Taghi M. Khoshgoftaar and Naeem Seliya and Dennis J. Drown},
title = {On the Rarity of Fault-prone Modules in Knowledge-based Software Quality Modeling},
booktitle = {Proceedings of the 20th International Conference on Software Engineering and Knowledge Engineering},
publisher = {Knowledge Systems Institute Graduate School},
year = {2008},
pages = {279-284},
address = {San Francisco, CA, USA},
month = {1-3 July}
}
|
||||||
| 2009.03.31 | Bogdan Korel | Automated Software Test Data Generation | 1990 | Transactions on Software Engineering, Vol. SE-16(8), pp. 870-879, August | Article | Testing and Debugging |
| Abstract: An alternative approach to test-data generation based on actual execution of the program under test, function-minimization methods and dynamic data-flow analysis is presented. Test data are developed for the program using actual values of input variables. When the program is executed, the program execution flow is monitored. If during program execution an undesirable execution flow is observed then function-minimization search algorithms are used to automatically locate the values of input variables for which the selected path is traversed. In addition, dynamic data-flow analysis is used to determine those input variables responsible for the undesirable program behavior, significantly increasing the speed of the search process. The approach to generating test data is then extended to programs with dynamic data structures and a search method based on dynamic data-flow analysis and backtracking is presented. In the approach described, values of array indexes and pointers are known at each step of program execution; this information is used to overcome difficulties of array and pointer handling. | ||||||
BibTeX:
@article{Korel90,
author = {Bogdan Korel},
title = {Automated Software Test Data Generation},
journal = {Transactions on Software Engineering},
year = {1990},
volume = {SE-16},
number = {8},
pages = {870-879},
month = {August},
doi = {http://dx.doi.org/10.1109/32.57624}
}
|
||||||
| 2009.03.31 | Michael Kuperberg, Klaus Krogmann & Ralf Reussner | Performance Prediction for Black-Box Components Using Reengineered Parametric Behaviour Models | 2008 | Proceedings of the 11th International Symposium on Component-Based Software Engineering (CBSE '08), Vol. 5282, pp. 48-63, Karlsruhe Germany, 14-17 October | Inproceedings | Distribution and Maintenance |
| Abstract: In component-based software engineering, the response time of an entire application is often predicted from the execution durations of individual component services. However, these execution durations are specific for an execution platform (i.e. its resources such as CPU) and for a usage profile. Reusing an existing component on different execution platforms up to now required repeated measurements of the concerned components for each relevant combination of execution platform and usage profile, leading to high effort. This paper presents a novel integrated approach that overcomes these limitations by reconstructing behaviour models with platform-independent resource demands of bytecode components. The reconstructed models are parameterised over input parameter values. Using platform-specific results of bytecode benchmarking, our approach is able to translate the platform-independent resource demands into predictions for execution durations on a certain platform. We validate our approach by predicting the performance of a file sharing application. | ||||||
BibTeX:
@inproceedings{KuperbergKR08,
author = {Michael Kuperberg and Klaus Krogmann and Ralf Reussner},
title = {Performance Prediction for Black-Box Components Using Reengineered Parametric Behaviour Models},
booktitle = {Proceedings of the 11th International Symposium on Component-Based Software Engineering (CBSE '08)},
publisher = {Springer},
year = {2008},
volume = {5282},
pages = {48-63},
address = {Karlsruhe, Germany},
month = {14-17 October},
doi = {http://dx.doi.org/10.1007/978-3-540-87891-9_4}
}
|
||||||
| 2009.03.31 | Chris Lokan | What Should You Optimize When Building an Estimation Model? | 2005 | Proceedings of the 11th IEEE International Software Metrics Symposium (METRICS '05), pp. 34-44, Como Italy, 19-22 September | Inproceedings | Management |
| Abstract: When estimation models are derived from existing data, they are commonly evaluated using statistics such as mean magnitude of relative error. But when the models are derived in the first place, it is usually by optimizing something else - typically, as in statistical regression, by minimizing the sum of squared deviations. How do estimation models for typical software engineering data fare, on various common accuracy statistics, if they are derived using other "fitness functions"? In this study, estimation models are built using a variety of fitness functions, and evaluated using a wide range of accuracy statistics. We find that models based on minimizing actual errors generally out-perform models based on minimizing relative errors. Given the nature of software engineering data sets, minimizing the sum of absolute deviations seems an effective compromise. | ||||||
BibTeX:
@inproceedings{Lokan05,
author = {Chris Lokan},
title = {What Should You Optimize When Building an Estimation Model?},
booktitle = {Proceedings of the 11th IEEE International Software Metrics Symposium (METRICS '05)},
publisher = {IEEE Computer Society},
year = {2005},
pages = {34-44},
address = {Como, Italy},
month = {19-22 September},
doi = {http://dx.doi.org/10.1109/METRICS.2005.55}
}
|
||||||
| 2009.03.31 | Rudi Lutz | Evolving Good Hierarchical Decompositions of Complex Systems | 2001 | Journal of Systems Architecture, Vol. 47(7), pp. 613-634, July | Article | Design Tools and Techniques |
| Abstract: Many application areas represent the architecture of complex systems by means of hierarchical graphs containing basic entities with directed links between them, and showing the decomposition of systems into a hierarchical nested "module" structure. An interesting question is then: How best should such a complex system be decomposed into a hierarchical tree of nested "modules"? This paper describes an interesting complexity measure (based on an information theoretic minimum description length principle) which can be used to compare two such hierarchical decompositions. This is then used as the fitness function for a genetic algorithm (GA) which successfully explores the space of possible hierarchical decompositions of a system. The paper also describes the novel crosssover and mutation operators that are necessary in order to do this, and gives some examples of the system in practice. | ||||||
BibTeX:
@article{Lutz01,
author = {Rudi Lutz},
title = {Evolving Good Hierarchical Decompositions of Complex Systems},
journal = {Journal of Systems Architecture},
year = {2001},
volume = {47},
number = {7},
pages = {613-634},
month = {July},
doi = {http://dx.doi.org/10.1016/S1383-7621(01)00019-4}
}
|
||||||
| 2009.03.31 | Christoph C. Michael, Gary E. McGraw & M.A. Schatz | Opportunism and Diversity in Automated Software Test Data Generation | 1998 | Proceedings of the 13th IEEE International Conference on Automated Software Engineering (ASE '98), pp. 136-146, Hawaii USA, 13-16 October | Inproceedings | Testing and Debugging |
| Abstract: We report on GADGET, a new software test generation system that uses combinatorial optimization to obtain condition/decision coverage of C/C++ programs. The GADGET system is fully automatic and supports all C/C++ language constructs. This allows us to generate tests for larger programs than those previously reported in the literature. We address a number of issues that are encountered when automatically generating tests for larger software systems. These issues have not been discussed in earlier work on testdata generation, which concentrated on small programs written in restricted programming languages. | ||||||
BibTeX:
@inproceedings{MichaelMS98,
author = {Christoph C. Michael and Gary E. McGraw and M. A. Schatz},
title = {Opportunism and Diversity in Automated Software Test Data Generation},
booktitle = {Proceedings of the 13th IEEE International Conference on Automated Software Engineering (ASE '98)},
year = {1998},
pages = {136-146},
address = {Hawaii, USA},
month = {13-16 October},
doi = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.922}
}
|
||||||
| 2009.03.31 | Cu Nguyen, Simon Miles, Anna Perini, Paolo Tonella, Mark Harman & Michael Luck | Evolutionary Testing of Autonomous Software Agents | 2009 | Proceedings of the 8th International Conference on Autonomous Agents and Multiagent Systems (AAMAS '09), pp. 521-528, Budapest Hungary, 10-15 May | Inproceedings | Distributed Artificial Intelligence |
| Abstract: A system built in terms of autonomous agents may require even greater correctness assurance than one which is merely reacting to the immediate control of its users. Agents make substantial decisions for themselves, so thorough testing is an important consideration. However, autonomy also makes testing harder; by their nature, autonomous agents may react in different ways to the same inputs over time, because, for instance they have changeable goals and knowledge. For this reason, we argue that testing of autonomous agents requires a procedure that caters for a wide range of test case contexts, and that can search for the most demanding of these test cases, even when they are not apparent to the agents' developers. In this paper, we address this problem, introducing and evaluating an approach to testing autonomous agents that uses evolutionary optimization to generate demanding test cases. | ||||||
BibTeX:
@inproceedings{NguyenMPTHL09,
author = {Cu Nguyen and Simon Miles and Anna Perini and Paolo Tonella and Mark Harman and Michael Luck},
title = {Evolutionary Testing of Autonomous Software Agents},
booktitle = {Proceedings of the 8th International Conference on Autonomous Agents and Multiagent Systems (AAMAS '09)},
publisher = {International Foundation for Autonomous Agents and Multiagent Systems},
year = {2009},
pages = {521-528},
address = {Budapest, Hungary},
month = {10-15 May},
url = {http://portal.acm.org/citation.cfm?id=1558013.1558085}
}
|
||||||
| 2009.03.31 | Outi Räihä | Applying Genetic Algorithms in Software Architecture Design | 2008 | , February School: Department of Computer Sciences, University of Tampere | Mastersthesis | Design Tools and Techniques |
| Abstract: This thesis experiments with a novel approach to applying genetic algorithms in software architecture design by giving the structure of an architecture at a highly abstract level. Previously in the literature, genetic algorithms are used only to improve existing architectures. The structure and evaluation of software architectures and the principles of meta-heuristic search algorithms are introduced to give a basis to understand the implementation. Current research in the field of search-based software engineering is explored to give a perspective to the implementation presented in this thesis. The chosen genetic construction of software architectures is based on a model which contains information of a set of responsibilities and dependencies between them. An implementation using this model is presented, as well as test results achieved from a case study made on a sketch of an electronic home control system. The test results show that quality results can be achieved using the selected approach and that the presented implementation is a good starting point for future research. | ||||||
BibTeX:
@mastersthesis{Raiha08,
author = {Outi Räihä},
title = {Applying Genetic Algorithms in Software Architecture Design},
school = {Department of Computer Sciences, University of Tampere},
year = {2008},
month = {February},
url = {www.cs.uta.fi/research/thesis/masters/Raiha_Outi.pdf}
}
|
||||||
| 2009.03.31 | Outi Räihä | Genetic Synthesis of Software Architecture | 2008 | , September School: University of Tampere | Phdthesis | Design Tools and Techniques |
| Abstract: This thesis experiments with a novel approach to applying genetic algorithms in software architecture design by giving the structure of an architecture at a highly abstract level. Previously in the literature, genetic algorithms are used only to improve existing architectures. The structure and evaluation of software architectures and the principles of meta-heuristic search algorithms are introduced to give a basis to understand the implementation. Current research in the field of search-based software engineering is explored to give a perspective to the implementation presented in this thesis. The chosen genetic construction of software architectures is based on a model which contains information of a set of responsibilities and dependencies between them. An implementation using this model is presented, as well as test results achieved from a case study made on a sketch of an electronic home control system. The test results show that quality results can be achieved using the selected approach and that the presented implementation is a good starting point for future research. | ||||||
BibTeX:
@phdthesis{Raiha08b,
author = {Outi Räihä},
title = {Genetic Synthesis of Software Architecture},
school = {University of Tampere},
year = {2008},
month = {September},
url = {http://tutkielmat.uta.fi/pdf/lisuri00085.pdf}
}
|
||||||
| 2009.03.31 | Outi Räihä | A Survey on Search-Based Software Design | 2009 | (D-2009-1), March | Techreport | General Aspects and Survey |
| Abstract: Search-based approaches to software design are investigated. Software design is considered from a wide view, including topics that can also be categorized under software maintenance or re-engineering. Search-based approaches have been used in research from high architecture level design to software clustering and finally software refactoring. Enhancing and predicting software quality with search-based methods is also taken into account as a part of the design process. The choices regarding fundamental decisions, such as representation and fitness function, when using in meta-heuristic search algorithms, are emphasized and discussed in detail. Ideas for future research directions are also given. | ||||||
BibTeX:
@techreport{Raiha09,
author = {Outi Räihä},
title = {A Survey on Search-Based Software Design},
year = {2009},
number = {D-2009-1},
month = {March},
url = {http://www.cs.uta.fi/reports/dsarja/D-2009-1.pdf}
}
|
||||||
| 2009.03.31 | Outi Räihä, Kai Koskimies & Erkki Mäkinen | Genetic Synthesis of Software Architecture | 2008 | Proceedings of the 7th International Conference on Simulated Evolution and Learning (SEAL '08), pp. 565-574, Melbourne Australia | Inproceedings | Design Tools and Techniques |
| Abstract: Design of software architecture is intellectually one of the most demanding tasks in software engineering. This paper proposes an approach to automatically synthesize software architecture using genetic algorithms. The technique applies architectural patterns for mutations and quality metrics for evaluation, producing a proposal for a software architecture on the basis of functional requirements given as a graph of functional responsibilities. Two quality attributes, modifiability and efficiency, are considered. The behavior of the genetic synthesis process is analyzed with respect to quality improve ment speed, the effect of dynamic mutation, and the effect of quality attribute prioritization. Our tests show that it is possible to genetically synthesize architectures that achieve a high fitness value early on. | ||||||
BibTeX:
@inproceedings{RaihaKM08,
author = {Outi Räihä and Kai Koskimies and Erkki Mäkinen},
title = {Genetic Synthesis of Software Architecture},
booktitle = {Proceedings of the 7th International Conference on Simulated Evolution and Learning (SEAL '08)},
publisher = {Springer},
year = {2008},
pages = {565-574},
address = {Melbourne, Australia},
doi = {http://dx.doi.org/10.1007/978-3-540-89694-4_57}
}
|
||||||
| 2009.03.31 | Outi Räihä, Kai Koskimies, Erkki Mäkinen & Tarja Systä |
Pattern-Based Genetic Model Refinements in MDA
[BibTeX] |
2008 | Proceedings of the Nordic Workshop on Model-Driven Engineering (NW-MoDE '08), pp. 129-144, Reykjavik Iceland, August | Inproceedings | Design Tools and Techniques |
BibTeX:
@inproceedings{RaihaKMS08,
author = {Outi Räihä and Kai Koskimies and Erkki Mäkinen and Tarja Systä},
title = {Pattern-Based Genetic Model Refinements in MDA},
booktitle = {Proceedings of the Nordic Workshop on Model-Driven Engineering (NW-MoDE '08)},
publisher = {University of Iceland},
year = {2008},
pages = {129-144},
address = {Reykjavik, Iceland},
month = {August}
}
|
||||||
| 2009.03.31 | Marek Reformat, Xinwei Chai & James Miller | On the Possibilities of (Pseudo-) Software Cloning from External Interactions | 2007 | Soft Computing - A Fusion of Foundations, Methodologies and Applications, Vol. 12(1), pp. 29-49, August | Article | Distribution and Maintenance |
| Abstract: This paper discusses some initial investigations into the application of genetic programming technology as a vehicle for re-examining some existing approaches within the software life-cycle. Specifically, it outlines a new direction in production techniques—software cloning from executable specifications or source code. It explores the possibility and advantages of producing a system from its external interactions. To allow this production to be automatic, the system assumes that it can view (and potentially manipulate) these external interactions of the original system; and hence it assumes the existence of either an executable specification or the source code—an object to assist in the generation of the external interactions; i.e. the system is treated as a black-box. Although the generation and application of software clones is relatively unexplored, it is believed that this is a fundamental technology that can have many different applications within a software engineering environment. For example, software clones could be used in: complexity measurement, software testing and software fault tolerance. Clearly, for these clones to be usable, their production needs to be automated. An interesting approach to this automatic production or generation problem is the application of evolutionary-based Genetic Programming (GP). Using the paradigms of best fit, selection, crossover and mutation, a number of clones, satisfying specific requirements, can be automatically generated. In general, GP is a flexible and powerful algorithm suitable for solving a variety of different problems. This paper presents the results of studies that have been conducted in order to answer questions related to feasibility of using GP for clone generation: what features of GP are important? What works and what does not? How can the GP be “tuned” for the problem? The results have been used to draw a set of suggestions and conclusions that indicate possible usability of GP-based approach to automatic generation of clones. | ||||||
BibTeX:
@article{ReformatCM07,
author = {Marek Reformat and Xinwei Chai and James Miller},
title = {On the Possibilities of (Pseudo-) Software Cloning from External Interactions},
journal = {Soft Computing - A Fusion of Foundations, Methodologies and Applications},
year = {2007},
volume = {12},
number = {1},
pages = {29-49},
month = {August},
doi = {http://dx.doi.org/10.1007/s00500-007-0215-6}
}
|
||||||
| 2009.03.31 | Marc Schoenauer & Spyros Xanthakis | Constrained GA Optimization | 1993 | Proceedings of the 5th International Conference on Genetic Algorithms (ICGA '93), pp. 573-580, San Mateo CA USA, 17-22 July | Inproceedings | Testing and Debugging |
| Abstract: We present a general method of handling constraints in genetic optimization, based on the Behavioural Memory paradigm. Instead of requiring the problem-dependent design of either repair operators (projection on the feasible region) or penalty function (weighted sum of the constraints violations and theobjective function), we sample the feasible region by evolving from an initially random population,uccessively applying a series of different fitness functions whiche final step is the optimization of the objective function restricted to the success of the whole process is highly dependent on the genetic diversitymaintained during the first steps, ensuring a uniform sampling of the feasible region. This method succeeded on some truss structure optimization problems,here the other genetic techniques for handling the constraints failed to give good results.eMoreover in some domains, as in automatic generation of software test data, no other technique can be easily applied, as some constraints are not even computable until others are satisfied. feasible region. embody constraint satisfaction. |
||||||
BibTeX:
@inproceedings{SchoenauerX93,
author = {Marc Schoenauer and Spyros Xanthakis},
title = {Constrained GA Optimization},
booktitle = {Proceedings of the 5th International Conference on Genetic Algorithms (ICGA '93)},
publisher = {Morgan Kauffmann},
year = {1993},
pages = {573-580},
address = {San Mateo, CA, USA},
month = {17-22 July},
url = {http://portal.acm.org/citation.cfm?id=657606}
}
|
||||||
| 2009.03.31 | Vibhu Saujanya Sharma & Pankaj Jalote | Deploying Software Components for Performance | 2008 | Proceedings of the 11th International Symposium on Component-Based Software Engineering (CBSE '08), pp. 32-47, Karlsruhe Germany, 14-17 October | Inproceedings | Design Tools and Techniques |
| Abstract: Performance is a critical attribute of software systems and depends heavily on the software architecture. Though the impact of the component and connector architecture on performance is well appreciated and modeled, the impact of component deployment has not been studied much. For a given component and connector architecture, the system performance is also affected by how components are deployed onto hardware resources. In this work we first formulate this problem of finding the deployment that maximizes performance, and then present a heuristic-based solution approach for it. Our approach incorporates the software architecture, component resource requirements, and the hardware specifications of the system. We break the problem into two sub-problems and formulate heuristics for suggesting the best deployment in terms of performance. Our evaluation indicates that the proposed heuristic performs very well and outputs a deployment that is the best or close to the best, in more than 96% cases. | ||||||
BibTeX:
@inproceedings{SharmaJ08,
author = {Vibhu Saujanya Sharma and Pankaj Jalote},
title = {Deploying Software Components for Performance},
booktitle = {Proceedings of the 11th International Symposium on Component-Based Software Engineering (CBSE '08)},
publisher = {Springer},
year = {2008},
pages = {32-47},
address = {Karlsruhe, Germany},
month = {14-17 October},
doi = {http://dx.doi.org/10.1007/978-3-540-87891-9_3}
}
|
||||||
| 2009.03.31 | A.A. Sofokleous, A.S. Andreou & A. Kourras |
Symbolic Execution for Dynamic, Evolutionary Test Data Generation
[BibTeX] |
2009 | Proceedings of the 11th International Conference on Enterprise Information Systems (ICEIS '09), Milan Italy, May | Inproceedings | Testing and Debugging |
BibTeX:
@inproceedings{SofokleousAK09,
author = {A.A. Sofokleous and A.S. Andreou and A. Kourras},
title = {Symbolic Execution for Dynamic, Evolutionary Test Data Generation},
booktitle = {Proceedings of the 11th International Conference on Enterprise Information Systems (ICEIS '09)},
publisher = {INSTICC Press},
year = {2009},
address = {Milan, Italy},
month = {May}
}
|
||||||
| 2009.03.31 | K. Vijayalakshmi, N. Ramaraj & R. Amuthakkannan | Improvement of Component Selection Process using Genetic Algorithm for Component-Based Software Development | 2008 | International Journal of Information Systems and Change Management, Vol. 3(1), pp. 63-80, July | Article | Design Tools and Techniques |
| Abstract: Modern information systems are becoming more expensive to build and maintain. Software development management and software quality goals are necessary, but not sufficient for the needs of today's marketplace. Shorter cycle time, completed with fewer resources is also in demand. Therefore, organisations are turning to Component-Based Software Development (CBSD). Potentially, CBSD can be used to reduce software development time by bringing the system to markets as early as possible. CBSD process consists of four major processes: component qualification, component adaptation, component composition and component update. To realise the benefits which CBS brings it is imperative that the right software component is selected for a project, because selecting inappropriate component may results in increased time and cost of software development which CBSD aims at reducing. Component selection is a major challenge to CBS developers, due to the multiplicity of similar components on the market with varying capabilities. Although several approaches and criteria have been proposed for component selection, there is no well-defined procedure to select optimised components. In this article, an automated approach is proposed based on Genetic Algorithm that enables the selection of software components both considering functional and non-functional requirements to find the best combination of components. | ||||||
BibTeX:
@article{VijayalakshmiRA08,
author = {K. Vijayalakshmi and N. Ramaraj and R. Amuthakkannan},
title = {Improvement of Component Selection Process using Genetic Algorithm for Component-Based Software Development},
journal = {International Journal of Information Systems and Change Management},
year = {2008},
volume = {3},
number = {1},
pages = {63-80},
month = {July},
doi = {http://dx.doi.org/10.1504/IJISCM.2008.019289}
}
|
||||||
| 2009.03.31 | Stefan Wappler | Using Evolutionary Algorithms for the Test of Object-Oriented Systems | 2004 | , September School: University of Potsdam | Mastersthesis | Testing and Debugging |
BibTeX:
@mastersthesis{Wappler04,
author = {Stefan Wappler},
title = {Using Evolutionary Algorithms for the Test of Object-Oriented Systems},
school = {University of Potsdam},
year = {2004},
month = {September},
url = {http://www.systematic-testing.com/documents/Evolutionärer_Test_objektorientierter_Systeme_Stefan_Wappler_09_2004.pdf}
}
|
||||||
| 2009.03.31 | Stefan Wappler | Automatic Generation of Object-Oriented Unit Tests using Genetic Programming | 2008 | , January School: Technical University of Berlin | Phdthesis | Testing and Debugging |
| Abstract: Automating the generation of object-oriented unit tests for structural testing techniques has been challenging many researchers due to the benefits it promises in terms of cost saving and test quality improvement. It requires test sequences to be generated, each of which models a particular scenario in which the class under test is examined. The generation process aims at obtaining a preferably compact set of test sequences which attains a high degree of structural coverage. The degree of achieved structural coverage indicates the adequacy of the tests and hence the test quality in general. Existing approaches to automatic test generation for object-oriented software mainly rely either on symbolic execution and constraint solving, or on a particular search technique. However, these approaches suffer from various limitations which negatively affect both their applicability in terms of classes for which they are feasible, and their effectiveness in terms of achievable structural coverage. The approaches based on symbolic execution and constraint solving inherit the limitations of these techniques, which are, for instance, issues with scalability and problems with loops, arrays, and complex predicates. The search-based approaches encounter problems in the presence of complex predicates and complex method call dependences. In addition, existing work addresses neither testing non-public methods without breaking data encapsulation, nor the occurrence of runtime exceptions during test generation. Yet, data encapsulation, non-public methods, and exception handling are fundamental concepts of object-oriented software and require also particular consideration for testing. This thesis proposes a new approach to automating the generation of object-oriented unit tests. It employs genetic programming, a recent meta-heuristic optimization technique, which allows formulating the task of test sequence generation as a search problem more suitably than the search techniques applied by the existing approaches. The approach enables testing non-public methods and accounts for runtime exceptions by appropriately designing the objective functions that are used to guide the genetic programming search. The value of the approach is shown by a case study with real-world classes that involve non-public methods and runtime exceptions. The structural coverage achieved by the approach is contrasted with that achieved by a random approach and two commercial test sequence generators. In most of the cases, the approach of this thesis outperformed the other methods. |
||||||
BibTeX:
@phdthesis{Wappler08,
author = {Stefan Wappler},
title = {Automatic Generation of Object-Oriented Unit Tests using Genetic Programming},
school = {Technical University of Berlin},
year = {2008},
month = {January},
url = {http://opus.kobv.de/tuberlin/volltexte/2008/1733/}
}
|
||||||
| 2009.03.31 | Stefan Wappler & Ina Schieferdecker | Improving Evolutionary Class Testing in the Presence of Non-Public Methods | 2007 | Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE '07), pp. 381-384, Atlanta Georgia USA, 5-9 November | Inproceedings | Testing and Debugging |
| Abstract: Automating the generation of object-oriented unit tests is a challenging task. This is mainly due to the complexity and peculiarities that the principles of object-orientation imply. One of these principles is the encapsulation of class members which prevents non-public methods and attributes of the class under test from being freely accessed. This paper suggests an improvement of our automated search-based test generation approach which particularly addresses the test of non-public methods. We extend our objective functions by an additional component that accounts for encapsulation. Additionally, we propose a modification of the search space which increases the efficiency of the approach. The value of the improvement in terms of achieved code coverage is demonstrated by a case study with 7 real-world test objects. In contrast to other approaches which break encapsulation in order to test non-public methods, the tests generated by our approach inherently guarantee that class invariants are not violated. At the same time, refactorings of the encapsulated class members will not break the generated tests |
||||||
BibTeX:
@inproceedings{WapplerS07,
author = {Stefan Wappler and Ina Schieferdecker},
title = {Improving Evolutionary Class Testing in the Presence of Non-Public Methods},
booktitle = {Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE '07)},
publisher = {IEEE},
year = {2007},
pages = {381-384},
address = {Atlanta, Georgia, USA},
month = {5-9 November},
doi = {http://dx.doi.org/10.1145/1321631.1321689}
}
|
||||||
| 2009.03.30 | Rodrigo Vivanco & Dean Jin | Enhancing Predictive Models using Principal Component Analysis and Search Based Metric Selection: A Comparative Study | 2008 | Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM '08), pp. 273-275, Kaiserslautern Germany, 9-10 October | Inproceedings | Metrics |
| Abstract: Predictive models are used for the detection of potentially problematic component that decrease product quality. Source code metrics can be used as input features in predictive models; however, there exist numerous structural measures that capture different aspects of size, coupling, cohesion, inheritance and complexity. An important question to answer is which metrics should be used with a predictor. A comparative analysis of metric selection strategies (principal component analysis, a genetic algorithm and the CK metrics set) has been carried out. Initial results indicate that search-based metric selection gives the best predictive performance in identifying Java classes with high cognitive complexity that degrades product maintenance. | ||||||
BibTeX:
@inproceedings{VivancoJ08,
author = {Rodrigo Vivanco and Dean Jin},
title = {Enhancing Predictive Models using Principal Component Analysis and Search Based Metric Selection: A Comparative Study},
booktitle = {Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM '08)},
publisher = {ACM},
year = {2008},
pages = {273-275},
address = {Kaiserslautern, Germany},
month = {9-10 October},
doi = {http://dx.doi.org/10.1145/1414004.1414049}
}
|
||||||
| 2009.03.29 | Pei He, Lishan Kang & Ming Fu | Formality Based Genetic Programming | 2008 | Proceedings of the IEEE Congress on Evolutionary Computation (CEC '08) (IEEE World Congress on Computational Intelligence), pp. 4080-4087, Hong Kong China, 1-6 June | Inproceedings | Software/Program Verification |
| Abstract: Genetic programming (GP) is an illogical method for automatic programming. It shows creativity in discovering a desired program to solve problem, but in essence bases its searching principle on software testing. This paper is dedicated to establishing a novel GP which combines classical GP and formal approaches like Hoarepsilas logic, model checking, and automaton, etc. The result indicates these methods can collaborate in the framework pretty well. As has been demonstrated by the experiment, they work in a way that preserves their advantages while each compensates for the deficiencies of the other. So, once an approximate program is obtained, we can say with certainty it is correct with respect to its corresponding pre- and post-conditions. | ||||||
BibTeX:
@inproceedings{HeKF08,
author = {Pei He and Lishan Kang and Ming Fu},
title = {Formality Based Genetic Programming},
booktitle = {Proceedings of the IEEE Congress on Evolutionary Computation (CEC '08) (IEEE World Congress on Computational Intelligence)},
publisher = {IEEE Press},
year = {2008},
pages = {4080-4087},
address = {Hong Kong, China},
month = {1-6 June},
doi = {http://dx.doi.org/10.1109/CEC.2008.4631354}
}
|
||||||
| 2009.03.29 | José Carlos Bregieiro Ribeiro, Mário Alberto Zenha-Rela & Francisco Fernandéz de Vega | A Strategy for Evaluating Feasible and Unfeasible Test Cases for the Evolutionary Testing of Object-Oriented Software | 2008 | Proceedings of the 3rd international workshop on Automation of Software Test (AST '08), pp. 85-92, Leipzig Germany, 11-11 May | Inproceedings | Testing and Debugging |
| Abstract: Evolutionary Testing is an emerging methodology for automatically producing high quality test data. The focus of our on-going work is precisely on generating test data for the structural unit-testing of object-oriented Java programs. The primary objective is that of efficiently guiding the search process towards the definition of a test set that achieves full structural coverage of the test object. However, the state problem of object-oriented programs requires specifying carefully fine-tuned methodologies that promote the traversal of problematic structures and difficult control-flow paths - which often involves the generation of complex and intricate test cases, that define elaborate state scenarios. This paper proposes a methodology for evaluating the quality of both feasible and unfeasible test cases - i.e., those that are effectively completed and terminate with a call to the method under test, and those that abort prematurely because a runtime exception is thrown during test case execution. With our approach, unfeasible test cases are considered at certain stages of the evolutionary search, promoting diversity and enhancing the possibility of achieving full coverage. |
||||||
BibTeX:
@inproceedings{RibeiroZV08b,
author = {José Carlos Bregieiro Ribeiro and Mário Alberto Zenha-Rela and Francisco Fernandéz de Vega},
title = {A Strategy for Evaluating Feasible and Unfeasible Test Cases for the Evolutionary Testing of Object-Oriented Software},
booktitle = {Proceedings of the 3rd international workshop on Automation of Software Test (AST '08)},
publisher = {ACM},
year = {2008},
pages = {85-92},
address = {Leipzig, Germany},
month = {11-11 May},
doi = {http://dx.doi.org/10.1145/1370042.1370061}
}
|
||||||
| 2009.03.03 | Massimiliano Di Penta & Kunal Taneja | Towards the Automatic Evolution of Reengineering Tools | 2005 | Proceedings of the 9th European Conference on Software Maintenance and Reengineering (CSMR '05),, pp. 241-244, Manchester UK, 21-23 March | Inproceedings | Distribution and Maintenance |
| Abstract: Building reverse engineering or reengineering tools often requires parsers for many different programming languages. The diffusion of dialects and variants makes many available parsers almost useless. While manual grammar maintenance is feasible, it can be a long, tedious and expensive task. This paper proposes to adopt genetic algorithms to evolve existing grammars inferring changes from examples written using the dialect. Applying grammar inference from scratch may lead to a useless grammar, while the proposed approach simply applies changes to the original grammar when needed, thus producing a meaningful grammar. The paper reports some preliminary results related to the evolution of a C grammar. | ||||||
BibTeX:
@inproceedings{DiPentaT05,
author = {Massimiliano Di Penta and Kunal Taneja},
title = {Towards the Automatic Evolution of Reengineering Tools},
booktitle = {Proceedings of the 9th European Conference on Software Maintenance and Reengineering (CSMR '05),},
publisher = {IEEE Computer Society},
year = {2005},
pages = {241-244},
address = {Manchester, UK},
month = {21-23 March},
doi = {http://dx.doi.org/10.1109/CSMR.2005.52}
}
|
||||||
| 2009.03.03 | Matthew P. Evett, Taghi M. Khoshgoftaar, Pei der Chien & Edward B Allen | Using Genetic Programming to Determine Software Quality | 1999 | Proceedings of the 12th International Florida Artificial Intelligence Research Society Conference (FLAIRS '99), pp. 113-117, Orlando FL USA, 3-5 May | Inproceedings | Management |
| Abstract: Software development managers use software quality prediction methods to determine to which modules expensive reliability techniques should be applied. In this paper we describe a genetic programming (GP) based system that classifies software modules as "faulty" or "Not faulty", allowing the targeting of modules for reliability enhancement. The paper describes the GP system, and provides a case study using software quality data from a very large industrial project. The demonstrated quality of the system is such that plans are under way to integrate it into a commercial software quality management system. | ||||||
BibTeX:
@inproceedings{EvettKCA99,
author = {Matthew P. Evett and Taghi M. Khoshgoftaar and Pei-der Chien and Edward B Allen},
title = {Using Genetic Programming to Determine Software Quality},
booktitle = {Proceedings of the 12th International Florida Artificial Intelligence Research Society Conference (FLAIRS '99)},
publisher = {Florida Research Society},
year = {1999},
pages = {113-117},
address = {Orlando, FL, USA},
month = {3-5 May},
url = {www.aaai.org/Papers/FLAIRS/1999/FLAIRS99-020.pdf}
}
|
||||||
| 2009.03.03 | Mark Harman, Fayezin Islam, Tao Xie & Stefan Wappler | Automated Test Data Generation for Aspect-Oriented Programs | 2009 | Proceedings of the 8th International Conference on Aspect-Oriented Software Development (AOSD '09), pp. 185-196, Charlottesville Virginia USA, 2-6 March | Inproceedings | Testing and Debugging |
| Abstract: Despite the upsurge of interest in the Aspect-Oriented Programming (AOP) paradigm, there remain few results on test data generation techniques for AOP. Furthermore, there is no work on search-based optimization for test data generation, an approach that has been shown to be successful in other programming paradigms. In this paper, we introduce a search-based optimization approach to automated test data generation for structural coverage of AOP systems. We present the results of an empirical study that demonstrates the effectiveness of the approach. We also introduce a domain reduction approach for AOP testing and show that this approach not only reduces test effort, but also increases test effectiveness. This finding is significant, because similar studies for non-AOP programming paradigms show no such improvement in effectiveness, merely a reduction in effort. We also present the results of an empirical study of the reduction in test effort achieved by focusing specifically on branches inside aspects. |
||||||
BibTeX:
@inproceedings{HarmanIXW09,
author = {Mark Harman and Fayezin Islam and Tao Xie and Stefan Wappler},
title = {Automated Test Data Generation for Aspect-Oriented Programs},
booktitle = {Proceedings of the 8th International Conference on Aspect-Oriented Software Development (AOSD '09)},
publisher = {ACM},
year = {2009},
pages = {185-196},
address = {Charlottesville, Virginia, USA},
month = {2-6 March},
doi = {http://dx.doi.org/10.1145/1509239.1509264}
}
|
||||||
| 2009.03.03 | Taghi M. Khoshgoftaar & Yi Liu | A Multi-Objective Software Quality Classification Model Using Genetic Programming | 2007 | IEEE Transactions On Reliability, Vol. 56(2), pp. 237-245, June | Article | Management |
| Abstract: A key factor in the success of a software project is achieving the best-possible software reliability within the allotted time & budget. Classification models which provide a risk-based software quality prediction, such as fault-prone & not fault-prone, are effective in providing a focused software quality assurance endeavor. However, their usefulness largely depends on whether all the predicted fault-prone modules can be inspected or improved by the allocated software quality-improvement resources, and on the project-specific costs of misclassifications. Therefore, a practical goal of calibrating classification models is to lower the expected cost of misclassification while providing a cost-effective use of the available software quality-improvement resources. This paper presents a genetic programming-based decision tree model which facilitates a multi-objective optimization in the context of the software quality classification problem. The first objective is to minimize the "Modified Expected Cost of Misclassification", which is our recently proposed goal-oriented measure for selecting & evaluating classification models. The second objective is to optimize the number of predicted fault-prone modules such that it is equal to the number of modules which can be inspected by the allocated resources. Some commonly used classification techniques, such as logistic regression, decision trees, and analogy-based reasoning, are not suited for directly optimizing multi-objective criteria. In contrast, genetic programming is particularly suited for the multi-objective optimization problem. An empirical case study of a real-world industrial software system demonstrates the promising results, and the usefulness of the proposed model. | ||||||
BibTeX:
@article{KhoshgoftaarL07,
author = {Taghi M. Khoshgoftaar and Yi Liu},
title = {A Multi-Objective Software Quality Classification Model Using Genetic Programming},
journal = {IEEE Transactions On Reliability},
year = {2007},
volume = {56},
number = {2},
pages = {237-245},
month = {June},
doi = {http://dx.doi.org/10.1109/TR.2007.896763}
}
|
||||||
| 2009.03.03 | Taghi M. Khoshgoftaar, Yi Liu & Naeem Seliya | Genetic Programming-based Decision Trees for Software Quality Classification | 2003 | Proceedings of the 15th International Conference on Tools with Artificial Intelligence (ICTAI '03), pp. 374-383, Sacramento California USA, 3-5 November | Inproceedings | Management |
| Abstract: The knowledge of the likely problematic areas of a software system is very useful for improving its overall quality. Based on such information, a more focused software testing and inspection pla | ||||||