Show simple item record

dc.contributor.authorEid, Elias
dc.contributor.authorDay, Nancy A.
dc.date.accessioned2022-04-01 18:46:12 (GMT)
dc.date.available2022-04-01 18:46:12 (GMT)
dc.date.issued2023-02
dc.identifier.urihttps://doi.org/10.1109/TSE.2022.3162985
dc.identifier.urihttp://hdl.handle.net/10012/18128
dc.description© 2022 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.en
dc.description.abstractModeling of software-intensive systems using formal declarative modeling languages offers a means of managing software complexity through the use of abstraction and early identification of correctness issues by formal analysis. Alloy is one such language used for modeling systems early in the development process. Little work has been done to study the styles and techniques commonly used in Alloy models. We present the first static analysis study of Alloy models. We investigate research questions that examine a large corpus of 1,652 Alloy models. To evaluate these research questions, we create a methodology that leverages the power of ANTLR pattern matching and the query language XPath. Our research questions are split into two categories depending on their purpose. The Model Characteristics category aims to identify what language constructs are used commonly. Modeling Practices questions are considerably more complex and identify how modelers are using Alloy's constructs. We also evaluate our research questions on a subset of models from our corpus written by expert modelers. We compare the results of the expert corpus to the results obtained from the general corpus to gain insight into how expert modelers use the Alloy language. We draw conclusions from the findings of our research questions and present actionable items for educators, language and environment designers, and tool developers. Actionable items for educators are intended to highlight underutilized language constructs and features, and help student modelers avoid discouraged practices. Actionable items aimed at language designers present ways to improve the Alloy language by adding constructs or removing unused ones based on trends identified in our corpus of models. The actionable items aimed at environment designers address features to facilitate model creation. Actionable items for tool developers provide suggestions for back-end optimizations.en
dc.description.sponsorshipNatural Sciences and Engineering Research Council of Canada.en
dc.language.isoenen
dc.publisherIEEEen
dc.relation.ispartofseriesIEEE Transactions on Software Engineering;
dc.subjectdeclarative modelingen
dc.subjectalloyen
dc.subjectstatic analysisen
dc.titleStatic Profiling of Alloy Modelsen
dc.typeArticleen
dcterms.bibliographicCitationEid, E., & Day, N. A. (2022). Static Profiling Alloy Models. IEEE Transactions on Software Engineering, 1–1. https://doi.org/10.1109/TSE.2022.3162985en
uws.contributor.affiliation1Faculty of Mathematicsen
uws.contributor.affiliation2David R. Cheriton School of Computer Scienceen
uws.typeOfResourceTexten
uws.peerReviewStatusRevieweden
uws.scholarLevelFacultyen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages