Skip to content

TimoGuenther/explaining-sat-queries-for-spls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Explaining Satisfiability Queries for Software Product Lines

This repository contains artifacts used in the 2017 master's thesis Explaining Satisfiability Queries for Software Product Lines [Gün17]. In that thesis, an algorithm capable of finding explanations for satisfiability queries in a software product line context is presented. While the implementation of that algorithm is available in the open-source project FeatureIDE [MTS+17], the documentation and the evaluation reference several models that can be accessed from here. Additionally, the code for the evaluation lives in this repository.

Contents

This repository contains various projects that can be imported into Eclipse.

Data

All data projects contain feature models that can be opened in FeatureIDE [MTS+17].

  • The folder Documentation/data contains the data shown throughout the thesis. All files in that folder are the work of the author, with two exceptions:
    • The feature model of Car is from Ananieva [Ana16].
    • The project HelloWorld-Colligens is a FeatureIDE example [MTS+17]. An additional preprocessor annotation was added to main.c in order to showcase explanations for invariant presence conditions.
  • The folder Evaluation/Qualitative/data contains feature models used in the qualitative analysis. All of them are from Ananieva [Ana16].
  • The folder Evaluation/Quantitative/data contains the data used in the quantitative analysis. They are sourced from various works:
    • The feature model of Automotive01 is a FeatureIDE example [MTS+17]. Its configurations were generated using IncLing [AHKT+16].
    • The feature models of SortingLine and PPU are from the Pick-and-Place Unit case studies [FLVH15] implemented by Kowal et al. [KATS17]. Their configurations were generated using IncLing [AHKT+16].
    • The feature models and configurations of PROFilE-E-Agribusiness and PROFilE-ERP-System are from Pereira et al. [PMK+16].
    • The remaining projects in that folder are from Knüppel et al. [KTM+17]. Their configurations were generated using IncLing [AHKT+16].

Sources

The folder Evaluation/Quantitative/src contains the source code for the quantitative analysis. To run the evaluation program, both this repository and the FeatureIDE repository need to be cloned. The easiest way to get the program working is to import the source projects of both repositories into Eclipse without copying them into the workspace. Then, the main methods of FeatureModelExplanationTest and ConfigurationExplanationTest can be run to gather data on explanations for feature models and configurations respectively. The measurements are stored as comma-separated values in a folder called results.

References

About

Artifacts for the 2017 master's thesis "Explaining Satisfiability Queries for Software Product Lines"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages