![]() |
![]() |
University of Birmingham > Talks@bham > Theoretical computer science seminar > Primrose: Selecting Container Data Types by their Properties
Primrose: Selecting Container Data Types by their PropertiesAdd to your list(s) Download to your calendar using vCal
If you have a question about this talk, please contact George Kaye. Zoom details
Abstract Container data types such as sets, lists, and trees, represent collections of data that, are commonly used in computer programs. Much work have been done in the past decades to design better abstraction, improve performance and verify correctness for container data types. However, one crucial problem still exists. Currently, when choosing a container data type, programmers can not choose an abstract container only based on the desired container’s behaviours, but they must choose a concrete implementation of that abstract container as well. For example, instead of being able to request a container with unique elements, programmers must choose between possible implementation such as trees or hash sets. One serious drawback is that the chosen concrete implementation cannot provide the desirable performance or memory efficiency in all usage scenarios. Also, the portability of programs is limited as one concrete implementation might only have optimised performance for certain hardware systems. To resolve this problem, we present Primrose, a language-agnostic tool allowing: 1) programmers to specify expected behaviours of a container in a program instead of how the container is implemented as property specifications; 2) the compiler to select all implementations from a container library where their library specifications match the desired property specifications; 3) a best implementation for the program to then be chosen automatically. In this talk, I will present the status of our ongoing work. I will demonstrate how an application developer can specify desired properties of container types in our system, how a library developer provides a specification of container implementations, and how Primrose is able to select the valid container implementations that satisfy the desired properties. This talk is part of the Theoretical computer science seminar series. This talk is included in these lists:
Note that ex-directory lists are not shown. |
Other listsReading Group in Combinatorics and Probability Postgraduate Algebra Seminar Chemical Engineering Research Seminar SeriesOther talksUltrafast Spectroscopy and Microscopy as probes of Energy Materials TBA Proofs of Turán's theorem TBA TBA The tragic destiny of Mileva Marić Einstein |