{
  "schema_version": "0.6.0",
  "paper_id": "automatic-cause-detection-web-applications",
  "page_url": "https://naser.github.io/research-publications/papers/automatic-cause-detection-web-applications/",
  "title": "Automatic Cause Detection of Performance Problems in Web Applications",
  "title_variants": [],
  "authors": [
    "Quentin Fournier",
    "Naser Ezzati-Jivan",
    "Daniel Aloise",
    "Michel R. Dagenais"
  ],
  "author_details": [
    {
      "name": "Quentin Fournier",
      "orcid": "https://orcid.org/0000-0002-1036-0777",
      "profile_url": "https://dblp.org/pid/246/8623.html"
    },
    {
      "name": "Naser Ezzati-Jivan",
      "orcid": "https://orcid.org/0000-0003-1435-6297",
      "profile_url": "https://naser.github.io/"
    },
    {
      "name": "Daniel Aloise",
      "orcid": "https://orcid.org/0000-0002-9876-2921",
      "profile_url": "https://dblp.org/pid/29/6167.html"
    },
    {
      "name": "Michel R. Dagenais",
      "orcid": null,
      "profile_url": "https://dblp.org/pid/60/309.html"
    }
  ],
  "publication": {
    "year": 2019,
    "venue": "IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)",
    "type": "workshop paper",
    "publication_date": "2019-10",
    "online_date": null,
    "print_date": "2019-10",
    "volume": null,
    "issue": null,
    "pages": "398-405",
    "article_number": null,
    "publisher": "IEEE",
    "issn": [],
    "isbn": [],
    "crossref_type": "proceedings-article"
  },
  "publication_type": "workshop paper",
  "status": "public_preprint_and_published_record",
  "canonical_source_url": "https://doi.org/10.1109/ISSREW.2019.00102",
  "source_record_id": "automatic-cause-detection-of-performance-problems-in-web-applications-8e07f9a9d4",
  "identifiers": {
    "doi": "10.1109/ISSREW.2019.00102",
    "arxiv": "2103.04954"
  },
  "abstract": "The execution of similar units can be compared by their internal behaviors to determine the causes of their potential performance issues. For instance, by examining the internal behaviors of different fast or slow web requests more closely and by clustering and comparing their internal executions, one can determine what causes some requests to run slowly or behave in unexpected ways. In this paper, we propose a method of extracting the internal behavior of web requests as well as introduce a pipeline that detects performance issues in web requests and provides insights into their root causes. First, low-level and fine-grained information regarding each request is gathered by tracing both the user space and the kernel space. Second, further information is extracted and fed into an outlier detector. Finally, these outliers are then clustered by their behavior, and each group is analyzed separately. Experiments revealed that this pipeline is indeed able to detect slow web requests and provide additional insights into their true root causes. Notably, we were able to identify a real PHP cache contention using the proposed approach.",
  "abstract_source": "arXiv:2103.04954 abstract; public preprint version",
  "abstract_available": true,
  "scholar_eligibility": {
    "eligible": true,
    "basis": "complete-visible-author-abstract",
    "note": "The page displays the complete verified author abstract."
  },
  "description": "The execution of similar units can be compared by their internal behaviors to determine the causes of their potential performance issues. For instance, by examining the internal behaviors of different fast or slow web requests more closely and by clustering and comparing their internal executions, one can determine what causes some requests to run slowly or behave in unexpected ways. In this paper, we propose a method of extracting the internal behavior of web requests as well as introduce a pipeline that detects performance issues in web requests and provides insights into their root causes. First, low-level and fine-grained information regarding each request is gathered by tracing both the user space and the kernel space. Second, further information is extracted and fed into an outlier detector. Finally, these outliers are then clustered by their behavior, and each group is analyzed separately. Experiments revealed that this pipeline is indeed able to detect slow web requests and provide additional insights into their true root causes. Notably, we were able to identify a real PHP cache contention using the proposed approach.",
  "evidence_level": "full-text-reviewed",
  "evidence": {
    "source_basis": "full-text-reviewed",
    "coverage": "material paper sections",
    "summary_origin": "AI-assisted catalog editorial summary",
    "review_status": "catalog-reviewed; paper-author approval pending",
    "verified_on": "2026-08-09",
    "sources": [
      {
        "note": "DBLP and IEEE metadata for the published paper"
      },
      {
        "note": "official arXiv abstract and PDF page 2103.04954"
      },
      {
        "note": "local PDF hash verified in the working catalog"
      }
    ]
  },
  "summary": {
    "core_contribution": "The paper presents a tracing and analysis pipeline that detects slow web requests and groups them by internal execution behavior to expose likely causes.",
    "problem": "Aggregate response time and conventional profilers do not distinguish the different internal causes of anomalous web requests.",
    "method": "Follow interacting request threads with PHP and kernel LTTng traces, derive sequence/count/duration state features, detect outliers with DBSCAN or Isolation Forest, cluster outliers with K-means, and inspect clusters with Isomap and n-grams.",
    "findings": "Duration-oriented features expose materially slower request groups; cluster analysis links groups to repeated connect behavior and OPcache shared-memory cache contention. Minimal tracing reduces overhead substantially relative to full user/kernel tracing.",
    "limitations": "DBSCAN parameters are manually selected; non-outliers are treated as normal even though they may contain anomalies; evaluation is one WordPress/PHP setup; full tracing is costly; the analysis pipeline is not fully parallelized except where the cited sklearn implementations support it.",
    "future_work": "Compare sequence-specific methods such as HMM and SEQDBSCAN, and extend cluster analysis to CCT/ECCT representations."
  },
  "tags": [
    "kernel-tracing",
    "web-performance",
    "anomaly-detection",
    "root-cause-analysis"
  ],
  "keywords": [
    "web requests",
    "user-space tracing",
    "kernel-space tracing",
    "outlier detection",
    "behavior clustering",
    "PHP cache contention"
  ],
  "versions": [
    {
      "id": "published-version",
      "label": "Published version",
      "relation": "version-of-record",
      "title": "Automatic Cause Detection of Performance Problems in Web Applications",
      "url": "https://doi.org/10.1109/ISSREW.2019.00102",
      "pdf_url": null,
      "status": "published",
      "canonical_for_citation": true
    },
    {
      "id": "public-preprint",
      "label": "Public preprint",
      "relation": "preprint",
      "title": "Automatic Cause Detection of Performance Problems in Web Applications",
      "url": "https://arxiv.org/abs/2103.04954",
      "pdf_url": "https://arxiv.org/pdf/2103.04954",
      "status": "public_full_text",
      "canonical_for_citation": false
    }
  ],
  "access": {
    "status": "public_preprint_and_published_record",
    "note": "The published DOI is the canonical citation target; the arXiv preprint provides public full text.",
    "license": null
  },
  "resources": {
    "code": null,
    "data": null,
    "slides": null,
    "demo": null
  },
  "citation_guidance": {
    "when_to_cite": "Cite this paper when your work uses or compares request-level causal anomaly detection using LTTng state/sequence/duration features rather than response time alone.",
    "points": [
      "For request-level causal anomaly detection using LTTng state/sequence/duration features rather than response time alone.",
      "For the DBSCAN-to-K-means analysis that separates anomalous WordPress/PHP request groups and connects them to concrete syscall/OPcache behavior.",
      "For the reported 29.6% full-tracing versus 5.1% minimal-tracing slowdown tradeoff.",
      "For an ApacheBench/WordPress workload with approximately 50,000 requests and 1-1,000 clients used to validate trace-derived web-performance diagnosis."
    ],
    "canonical_version_id": "published-version"
  },
  "provenance": {
    "metadata_verified_on": "2026-08-09",
    "metadata_source": [
      "DBLP and IEEE metadata for the published paper",
      "official arXiv abstract and PDF page 2103.04954",
      "local PDF hash verified in the working catalog"
    ],
    "summary_written_by": "AI-assisted",
    "summary_verified_by": "full-text-grounded catalog review; author approval pending",
    "linked_preprint_record": "automatic-cause-detection-of-performance-problems-in-web-applications-56869274f1",
    "author_order_note": null
  },
  "batch": {
    "phase": 2,
    "batch_label": "expanded forty-paper release",
    "status": "included_in_expanded_catalog",
    "selected_at": "2026-08-09"
  }
}
