{"id":20305993,"url":"https://github.com/prmr/dscribe-plugin","last_synced_at":"2026-01-07T22:33:43.786Z","repository":{"id":42396816,"uuid":"407516444","full_name":"prmr/DScribe-plugin","owner":"prmr","description":"Eclipse plug-in for the DScribe test generator","archived":false,"fork":false,"pushed_at":"2022-04-07T00:19:17.000Z","size":12414,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-03T23:43:05.660Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prmr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-17T11:32:04.000Z","updated_at":"2022-02-14T19:34:01.000Z","dependencies_parsed_at":"2022-09-21T18:41:51.939Z","dependency_job_id":null,"html_url":"https://github.com/prmr/DScribe-plugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prmr%2FDScribe-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prmr%2FDScribe-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prmr%2FDScribe-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prmr%2FDScribe-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prmr","download_url":"https://codeload.github.com/prmr/DScribe-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246162112,"owners_count":20733354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T17:11:10.509Z","updated_at":"2026-01-07T22:33:43.754Z","avatar_url":"https://github.com/prmr.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Eclipse Plugin for DScribe\n\n[\u003cimg src=\"DScribeUpdateSite/assets/mcgill-logo.png\" alt=\"McGill Logo\" width=\"150\"/\u003e](https://www.mcgill.ca/)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n[\u003cimg src=\"DScribeUpdateSite/assets/dscribe-logo.PNG\" alt=\"DScribe Logo\" width=\"450\"/\u003e](https://github.com/prmr/DScribe)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n[\u003cimg src=\"DScribeUpdateSite/assets/eclipse-logo.png\" alt=\"Eclipse Logo\" width=\"150\"/\u003e](https://www.eclipse.org/)\n\n\n## Overview\n* Do you frequently copy-paste exisiting unit tests to test a recurrent specification?\n* Do you frequently copy-paste existing documentation fragments to document a recurrent specification?\n* Do you find it annoying to update both the corresponding unit tests AND documentation fragments when a specification evolves?\n\nIf you answered yes to any of the above questions, then DScribe is the right tool for you!\u003c/p\u003e\n\nDScribe allows you to test and document recurring concerns consistently and with ease. You simply define joint templates to capture \nthe structure to test and document a specification. Then, you use method-level Java annotations to invoke the templates.\n\nTo learn more about DScribe, visit the [DScribe GitHub repository](https://github.com/prmr/DScribe).\n\n\n## Documentation \n**Creating and Invoking DScribe Templates** \u003cbr\u003e\nTo learn how to create and invoke your own DScribe templates, visit DScribe's [README](https://github.com/prmr/DScribe#how-dscribe-works).\n\n**Running DScribe in Eclipse** \u003cbr\u003e\nTo generate unit tests and documentation for a production class(es):\n1. Select the target class(es) in Eclipse's ``Project Explorer`` view.\n     * To select one class, simply click on it with your mouse.\n     * To select multiple classes, hold down the ``Ctrl key`` and click on each class one by one.\n2. Perform a ``Right`` click. The Eclipse dropdown menu will appear.\n3. Click the ``Run DScribe`` command in the dropdown menu (see [screenshot](https://github.com/prmr/DScribe-plugin/blob/main/DScribeUpdateSite/assets/dscribe-command.png)).\n\nOnce DScribe terminates, a message dialog will appear to display the execution results. If DScribe runs successfully, the generated documentation \nand unit tests will be added to the production class and its corresponding test class, respectively.\n\n**Publications**\n* Mathieu Nassif, Alexa Hernandez, Ashvitha Sridharan, and Martin P. Robillard. [Generating Unit Tests for Documentation](https://ieeexplore-ieee-org.proxy3.library.mcgill.ca/document/9447988). To appear in \u003ci\u003eIEEE Transactions on Software Engineering\u003c/i\u003e, 12 pages, 2021. \n\n## Download\nDScribe is distributed under the terms of the [Apache License v 2.0](https://github.com/prmr/DScribe-plugin/blob/main/LICENSE.txt). To install the DScribe Eclipse plugin, follow the steps below.\n\n**System requirements:** Eclipse 3.4, JavaSE 14. DScribe is currently tested on Windows only.\n\n**To install DScribe:**\n1. From the Eclipse menu bar, select ``Help \u003e Install New Software``.\n2. Click the ``Add`` button. This Add Repository window will appear.\n3. For the name, enter *DScribe*. For the Location, enter *https://www.cs.mcgill.ca/~martin/DScribeUpdateSite*. Click ``Add``.\n5. Select the new ``DScribe`` entry in the list and click ``Next`` twice.\n6. Select that you accept the terms of the license agreement and click ``Finish``.\n7. Restart your workspace.\n\n## Contact \nFor any questions, concerns, or suggestions, please free feel to contact [Alexa Hernandez](mailto:alexa.hernandez@mail.mcgill.ca).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprmr%2Fdscribe-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprmr%2Fdscribe-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprmr%2Fdscribe-plugin/lists"}