Skip to content

Implementation of CUDMAG: A DSR artifact for detecting requirement smells and ambiguities in natural language specifications.

Notifications You must be signed in to change notification settings

software-adn-lab/CUDMAG_Artifact

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CUDMAG: Questionnaire for Manual Detection of General Ambiguities

License: MIT Type: DSR Artifact Status: Active

πŸ“„ Abstract

CUDMAG (Cuestionario para la DetecciΓ³n Manual de AmbigΓΌedades Generales) is a software artifact developed under the Design Science Research (DSR) methodology. Its primary purpose is to systematically identify Requirement Smells associated with ambiguity in Natural Language (NL) software specifications.

The artifact operationalizes linguistic rules to detect defects that compromise software quality during the analysis phase. By transforming subjective interpretation into a structured verification process, CUDMAG helps reduce technical debt before the design and implementation phases.

πŸ”— Live Demo: Access the Tool Here


🎯 Scope & Taxonomy

This tool is designed to analyze unstructured or semi-structured requirements (e.g., User Stories, Functional Features, Descriptive Paragraphs). It detects the following 7 types of ambiguity:

# Ambiguity Type Description
1 Conditional Evaluates logic, temporality, and consistency in "If... then" structures.
2 Lexical Identifies polysemous terms (words with multiple meanings).
3 Syntactic Detects confusing grammatical structures.
4 Referential Flags unclear pronouns or references (e.g., "this", "it").
5 Vague Quantifiers Highlights indeterminate quantities (e.g., "many", "fast").
6 Passive Voice Detects omission of the semantic agent.
7 Incomplete Context Checks for missing conditions, exceptions, or thresholds.

πŸ› οΈ Technical Implementation

The artifact is implemented as a Client-Side Web Application to ensure accessibility and privacy (data is processed locally in the browser).

  • Architecture: Static Web Page (SPA - Single Page Application).
  • Stack: HTML5, CSS3, Vanilla JavaScript.
  • Deployment: GitHub Pages.
  • Input/Output: * Input: Raw natural language requirement text.
    • Processing: Rule-based inference engine.
    • Output: Structured diagnostic report (Ambiguous/Non-Ambiguous) with specific smell indicators.

πŸš€ Usage Guide

  1. Enter the Requirement: Paste the User Story or requirement text into the main text area.
  2. Select Evaluation Mode:
    • Choose "Conditional Ambiguity" for requirements containing logical conditions.
    • Choose "General Ambiguities" for all other textual checks.
  3. Answer the Questionnaire: Follow the guided dichotomous and multiple-choice questions.
  4. Review Results: The tool will generate a dynamic report indicating if the requirement is ambiguous and listing the specific causes.

🀝 Contributing

This artifact is part of an ongoing research project. Contributions are welcome, especially in:

  • Refining the inference rules.
  • Adding export features (PDF/JSON).
  • Translating the interface.
  • Fork the Project.
  • Create your Feature Branch (git checkout -b feature/NewFeature)
  • Commit your Changes (git commit -m 'Add some NewFeature')
  • Push to the Branch (git push origin feature/NewFeature)
  • Open a Pull Request

πŸ“ License

Distributed under the MIT License. See LICENSE for more information.

About

Implementation of CUDMAG: A DSR artifact for detecting requirement smells and ambiguities in natural language specifications.

Topics

Resources

Stars

Watchers

Forks

Languages