Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2576768.2598308acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

Improved heuristics for solving OCL constraints using search algorithms

Published: 12 July 2014 Publication History

Abstract

The Object Constraint Language (OCL) is a standard language for specifying constraints on Unified Modeling Language (UML) models. The specified constraints can be used for various purposes including verification, and model-based testing (e.g., test data generation). Efficiently solving OCL constraints is one of the key requirements for the practical use of OCL. In this paper, we propose an improvement in existing heuristics to solve OCL constraints using search algorithms. We evaluate our improved heuristics using two empirical studies with three search algorithms: Alternating Variable Method (AVM), (1+1) Evolutionary Algorithm (EA), and a Genetic Algorithm (GA). We also used Random Search (RS) as a comparison baseline. The first empirical study was conducted using carefully designed artificial problems (constraints) to assess each individual heuristics. The second empirical study is based on an industrial case study provided by Cisco about model-based testing of Video Conferencing Systems. The results of both empirical evaluations reveal that the effectiveness of the search algorithms, measured in terms of time to solve the OCL constraints to generate data, is significantly improved when using the novel heuristics presented in this paper. In particular, our experiments show that (1+1) EA with the novel heuristics has the highest success rate among all the analyzed algorithms, as it requires the least number of iterations to solve constraints.

References

[1]
OCL. (2011). Object Constraint Language Specification, Version 2.2. Available: http://www.omg.org/spec/OCL/2.2/
[2]
R. V. Binder, Testing object-oriented systems: models, patterns, and tools: Addison-Wesley Longman Publishing Co., Inc., 1999.
[3]
S. Ali, M. Z. Iqbal, A. Arcuri, and L. Briand, "A Search-based OCL Constraint Solver for Model-based Test Data Generation," in Proceedings of the 11th International Conference On Quality Software (QSIC 2011), 2011, pp. 41--50.
[4]
S. Ali, M. Z. Iqbal, A. Arcuri, and L. Briand, "Generating Test Data from OCL Constraints with Search Techniques," IEEE Trans. Softw. Eng., vol. 39, pp. 1376--1402, 2013.
[5]
P. McMinn, "Search-based software test data generation: a survey: Research Articles," Softw. Test. Verif. Reliab., vol. 14, pp. 105--156, 2004.
[6]
S. Ali, M. Z. Iqbal, A. Arcuri, and L. Briand, "Generating Test Data from OCL Constraints with Search Techniques," Simula Reserach Laboratory, Technical Report (2010--16)2012.
[7]
S. Ali, M. Z. Iqbal, and A. Arcuri, "Empirically Evaluating Improved Heuristics for Test Data Generation from OCL Constraints using Search Algorithms," Simula Research Laboratory2012.
[8]
S. Ali, L. C. Briand, H. Hemmati, and R. K. Panesar-Walawege, "A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation," IEEE Transactions on Software Engineering, vol. 99, 2009.
[9]
A. Arcuri, "It really does matter how you normalize the branch distance in search-based software testing," Software Testing, Verification and Reliability, 2011.
[10]
M. Z. Iqbal, A. Arcuri, and L. Briand, "Empirical Investigation of Search Algorithms for Environment Model-Based Testing of Real-Time Embedded Software " in International Symposium on Software Testing and Analysis (ISSTA), 2012.
[11]
A. Arcuri and G. Fraser, "On Parameter Tuning in Search Based Software Engineering," presented at the International Symposium on Search Based Software Engineering (SSBSE), 2011.
[12]
A. Arcuri and L. Briand., "A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering," presented at the International Conference on Software Engineering (ICSE), 2011.
[13]
D. J. Sheskin, Handbook of Parametric and Nonparametric Statistical Procedures: Chapman and Hall/CRC, 2007.
[14]
B. Bordbar and K. Anastasakis, "UML2Alloy: A tool for lightweight modelling of Discrete Event Systems," presented at the IADIS International Conference in Applied Computing, 2005.
[15]
D. Distefano, J.-P. Katoen, and A. Rensink, "Towards model checking OCL," presented at the ECOOP-Workshop on Defining Precise Semantics for UML, 2000.
[16]
M. Clavel and M. A. G. d. Dios, "Checking unsatisfiability for OCL constraints," presented at the In the proceedings of the 9th OCL 2009 Workshop at the UML/MoDELS Conferences, 2009.
[17]
J. Winkelmann, G. Taentzer, K. Ehrig, and J. M. ster, "Translation of Restricted OCL Constraints into Graph Constraints for Generating Meta Model Instances by Graph Grammars," Electron. Notes Theor. Comput. Sci., vol. 211, pp. 159--170, 2008.
[18]
D. Jackson, I. Schechter, and H. Shlyahter, "Alcoa: the alloy constraint analyzer," presented at the Proceedings of the 22nd international conference on Software engineering, Limerick, Ireland, 2000.
[19]
M. Krieger and A. Knapp, "Executing Underspecified OCL Operation Contracts with a SAT Solver," presented at the 8th International Workshop on OCL Concepts and Tools., 2008.
[20]
L. v. Aertryck and T. Jensen, "UML-Casting: Test synthesis from UML models using constraint resolution," presented at the Approches Formelles dans l'Assistance au Développement de Logiciels (AFADL'2003), 2003.
[21]
J. Cabot, R. Claris, and D. Riera, "Verification of UML/OCL Class Diagrams using Constraint Programming," presented at the Proceedings of the 2008 IEEE International Conference on Software Testing Verification and Validation Workshop, 2008.
[22]
A. D. Brucker, M. P. Krieger, D. Longuet, and B. Wolff, "A Specification-Based Test Case Generation Method for UML/OCL," presented at the Worksshop on OCL and Textual Modelling, MoDELS, 2010.
[23]
L. Bao-Lin, L. Zhi-shu, L. Qing, and C. Y. Hong, "Test case automate generation from uml sequence diagram and ocl expression," presented at the International Conference on computational Intelligence and Security, 2007.

Cited By

View all
  • (2022)An automated search‐based test model generation approach for structural testing of model transformationsJournal of Software: Evolution and Process10.1002/smr.246134:11Online publication date: 9-May-2022
  • (2018)Spectrum-Based Fault Localization in Model TransformationsACM Transactions on Software Engineering and Methodology10.1145/324174427:3(1-50)Online publication date: 17-Sep-2018
  • (2018)Improving the performance of OCL constraint solving with novel heuristics for logical operationsEmpirical Software Engineering10.1007/s10664-015-9392-621:6(2459-2502)Online publication date: 26-Dec-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
GECCO '14: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation
July 2014
1478 pages
ISBN:9781450326629
DOI:10.1145/2576768
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 July 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. OCL
  2. UML
  3. empirical evaluation
  4. search-based testing
  5. test data

Qualifiers

  • Research-article

Conference

GECCO '14
Sponsor:
GECCO '14: Genetic and Evolutionary Computation Conference
July 12 - 16, 2014
BC, Vancouver, Canada

Acceptance Rates

GECCO '14 Paper Acceptance Rate 180 of 544 submissions, 33%;
Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2022)An automated search‐based test model generation approach for structural testing of model transformationsJournal of Software: Evolution and Process10.1002/smr.246134:11Online publication date: 9-May-2022
  • (2018)Spectrum-Based Fault Localization in Model TransformationsACM Transactions on Software Engineering and Methodology10.1145/324174427:3(1-50)Online publication date: 17-Sep-2018
  • (2018)Improving the performance of OCL constraint solving with novel heuristics for logical operationsEmpirical Software Engineering10.1007/s10664-015-9392-621:6(2459-2502)Online publication date: 26-Dec-2018
  • (2018)Application of Genetic Algorithms in Software Engineering: A Systematic Literature ReviewTechnology Trends10.1007/978-3-030-05532-5_50(659-670)Online publication date: 30-Dec-2018
  • (2016)Generating boundary values from OCL constraints using constraints rewriting and search algorithms2016 IEEE Congress on Evolutionary Computation (CEC)10.1109/CEC.2016.7743819(379-386)Online publication date: Jul-2016
  • (2014)A Search Based Test Data Generation Approach for Model TransformationsTheory and Practice of Model Transformations10.1007/978-3-319-08789-4_2(17-24)Online publication date: 2014

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media