{
  "schema_version": "0.6.0",
  "paper_id": "model-based-constraints-execution-tracing",
  "page_url": "https://naser.github.io/research-publications/papers/model-based-constraints-execution-tracing/",
  "title": "Automated Generation of Model-Based Constraints for Common Multi-core and Real-Time Applications Using Execution Tracing",
  "title_variants": [],
  "authors": [
    "Raphael Beamonte",
    "Naser Ezzati-Jivan",
    "Michel R. Dagenais"
  ],
  "author_details": [
    {
      "name": "Raphael Beamonte",
      "orcid": "https://orcid.org/0000-0002-3078-0947",
      "profile_url": "https://dblp.org/pid/181/3722.html"
    },
    {
      "name": "Naser Ezzati-Jivan",
      "orcid": "https://orcid.org/0000-0003-1435-6297",
      "profile_url": "https://naser.github.io/"
    },
    {
      "name": "Michel R. Dagenais",
      "orcid": null,
      "profile_url": "https://dblp.org/pid/60/309.html"
    }
  ],
  "publication": {
    "year": 2021,
    "venue": "International Journal of Parallel Programming",
    "type": "journal article",
    "publication_date": "2021-01-01",
    "online_date": "2021-01-01",
    "print_date": "2021-02",
    "volume": "49",
    "issue": "1",
    "pages": "104-134",
    "article_number": null,
    "publisher": "Springer Science and Business Media LLC",
    "issn": [
      "0885-7458",
      "1573-7640"
    ],
    "isbn": [],
    "crossref_type": "journal-article"
  },
  "publication_type": "research paper",
  "status": "published_metadata_record",
  "canonical_source_url": "https://doi.org/10.1007/s10766-020-00689-5",
  "source_record_id": "automated-generation-of-model-based-constraints-for-common-multi-core-and-real-time-applications-6d19ca8934",
  "identifiers": {
    "doi": "10.1007/s10766-020-00689-5"
  },
  "abstract": null,
  "abstract_source": "Published-paper PDF reviewed on 2026-08-06; abstract not reproduced because reuse permission for the publisher version was not established.",
  "abstract_available": false,
  "scholar_eligibility": {
    "eligible": false,
    "basis": "not-eligible",
    "note": "The page is a discovery record; it does not claim Google Scholar article-host eligibility."
  },
  "description": "The paper automatically builds an approximate workflow model and adaptive quantitative constraints from user-space and kernel execution traces, reducing manual model construction for real-time and multicore diagnosis.",
  "evidence_level": "metadata-or-abstract-reviewed",
  "evidence": {
    "source_basis": "metadata-only",
    "coverage": "bibliographic metadata",
    "summary_origin": "AI-assisted catalog editorial summary",
    "review_status": "catalog-reviewed; paper-author approval pending",
    "verified_on": "2026-08-09",
    "sources": [
      {
        "note": "Crossref and local DBLP/venue metadata for 10.1007/s10766-020-00689-5"
      },
      {
        "note": "author identity matched to Naser Ezzati-Jivan in the local research catalog"
      },
      {
        "note": "Model-constraints PDF pp. 1-2, 5-17: user-space/kernel scope, LTTng cyclictest case, per-thread/LCS workflow generation, adaptive constraints, and case-study detections"
      },
      {
        "note": "Model-constraints PDF pp. 21-30: hardware, trace sizes, runtime/scalability, and full-cyclictest approximately 7-minute result"
      },
      {
        "note": "Model-constraints PDF p. 30: limitation and future-work boundary"
      },
      {
        "note": "local model-constraints PDF hash verified in pdf-evidence/extraction-manifest.json"
      }
    ]
  },
  "summary": {
    "core_contribution": "The paper automatically builds an approximate workflow model and adaptive quantitative constraints from user-space and kernel execution traces, reducing manual model construction for real-time and multicore diagnosis.",
    "problem": "Manual model and constraint construction for concurrent real-time applications requires substantial system knowledge and effort, even though low-overhead tracing provides the evidence needed for verification.",
    "method": "The method organizes trace events per thread, groups similar sequences with longest-common-subsequence matching using strict or flexible key-value matching, removes unneeded repetitions, builds a state model, and infers adaptive constraint operators and values from runtime timing distributions. The model is presented for user checking and correction; LTTng is explicitly used in the cyclictest case.",
    "findings": "The generated model detects the JACK2 xrun, the cyclictest outlier, and the in-kernel wakelock priority inversion. For cyclictest, a manually set 3-ms deadline is inferred as about 2.685 ms. In the reported evaluation, model construction is dominant - about 7 minutes for full cyclictest - while traces range from 321 UST and 419,164 kernel events for JACK2 to 41,677 UST and 208,489 kernel events for cyclictest and 42 UST and 194,997 kernel events for wakelock.",
    "limitations": "Generated models can contain extra constraints and still need user correction. The evaluation emphasizes common real-time cases with relatively simple loops and does not establish performance across more complex modeling requirements.",
    "future_work": "Build and detect models on the fly, compatible with LTTng flight-recorder mode."
  },
  "tags": [
    "system-tracing",
    "multicore-systems",
    "trace-analysis",
    "performance-analysis",
    "lttng"
  ],
  "keywords": [
    "model-based constraints",
    "execution tracing",
    "multi-core systems",
    "real-time applications",
    "constraint generation",
    "LTTng",
    "Trace Compass",
    "cyclictest",
    "JACK2",
    "wakelock"
  ],
  "versions": [
    {
      "id": "published-version",
      "label": "Published version",
      "relation": "version-of-record",
      "title": "Automated Generation of Model-Based Constraints for Common Multi-core and Real-Time Applications Using Execution Tracing",
      "url": "https://doi.org/10.1007/s10766-020-00689-5",
      "pdf_url": null,
      "status": "published",
      "canonical_for_citation": true
    }
  ],
  "access": {
    "status": "published_metadata_record",
    "note": "The DOI is the canonical citation target; this catalog does not redistribute the publisher PDF.",
    "license": null
  },
  "resources": {
    "code": null,
    "data": null,
    "slides": null,
    "demo": null
  },
  "citation_guidance": {
    "when_to_cite": "Cite this paper when generating model-based real-time constraints or using user-space and kernel traces for multicore diagnosis.",
    "points": [
      "Automatic workflow extraction from per-thread traces using sequence matching.",
      "Adaptive timing constraints inferred from runtime trace values.",
      "LTTng-backed JACK2, cyclictest, and kernel-wakelock case studies."
    ],
    "canonical_version_id": "published-version"
  },
  "provenance": {
    "metadata_verified_on": "2026-08-09",
    "metadata_source": [
      "Crossref and local DBLP/venue metadata for 10.1007/s10766-020-00689-5",
      "author identity matched to Naser Ezzati-Jivan in the local research catalog",
      "Model-constraints PDF pp. 1-2, 5-17: user-space/kernel scope, LTTng cyclictest case, per-thread/LCS workflow generation, adaptive constraints, and case-study detections",
      "Model-constraints PDF pp. 21-30: hardware, trace sizes, runtime/scalability, and full-cyclictest approximately 7-minute result",
      "Model-constraints PDF p. 30: limitation and future-work boundary",
      "local model-constraints PDF hash verified in pdf-evidence/extraction-manifest.json"
    ],
    "summary_written_by": "AI-assisted",
    "summary_verified_by": "metadata/abstract-grounded catalog review; full-text review and author approval pending",
    "linked_preprint_record": null,
    "author_order_note": null
  },
  "batch": {
    "phase": 2,
    "batch_label": "expanded forty-paper release",
    "status": "included_in_expanded_catalog",
    "selected_at": "2026-08-09"
  }
}
