Optimizing Alloy for Multi-objective Software Product Line Configuration

  • Ed Zulkoski
  • Chris Kleynhans
  • Ming-Ho Yee
  • Derek Rayside
  • Krzysztof Czarnecki
Conference paper

DOI: 10.1007/978-3-662-43652-3_34

Part of the Lecture Notes in Computer Science book series (LNCS, volume 8477)
Cite this paper as:
Zulkoski E., Kleynhans C., Yee MH., Rayside D., Czarnecki K. (2014) Optimizing Alloy for Multi-objective Software Product Line Configuration. In: Ait Ameur Y., Schewe KD. (eds) Abstract State Machines, Alloy, B, TLA, VDM, and Z. ABZ 2014. Lecture Notes in Computer Science, vol 8477. Springer, Berlin, Heidelberg

Abstract

Software product line (SPL) engineering involves the modeling, analysis, and configuration of variability-rich systems. We improve the performance of the multi-objective optimization of SPLs in Alloy by several orders of magnitude with two techniques.

First, we rewrite the model to remove binary relations that map to integers, which enables removing most of the integer atoms from the universe. SPL models often require using large bitwidths, hence the number of integer atoms in the universe can be orders of magnitude more than the other atoms. In our approach, the tuples for these integer-valued relations are computed outside the sat solver before returning the solution to the user. Second, we add a checkpointing facility to Kodkod, which allows the multi-objective optimization algorithm to reuse previously computed internal sat solver state, after backtracking.

Together these result in orders of magnitude improvement in using Alloy as a multi-objective optimization tool for software product lines.

Keywords

Product Lines Multi-objective Optimization Kodkod Alloy 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Ed Zulkoski
    • 1
  • Chris Kleynhans
    • 1
  • Ming-Ho Yee
    • 1
  • Derek Rayside
    • 1
  • Krzysztof Czarnecki
    • 1
  1. 1.University of WaterlooWaterlooCanada

Personalised recommendations