Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorBarwell, Adam David
dc.contributor.authorBrown, Christopher Mark
dc.contributor.editorStutterheim, Jurriën
dc.contributor.editorChin, Wei Ngan
dc.date.accessioned2020-02-18T11:30:01Z
dc.date.available2020-02-18T11:30:01Z
dc.date.issued2020-02-11
dc.identifier266448742
dc.identifier9d640da1-60f7-4269-804d-65451443ca3c
dc.identifier85128542047
dc.identifier.citationBarwell , A D & Brown , C M 2020 , A trustworthy framework for resource-aware embedded programming . in J Stutterheim & W N Chin (eds) , Proceedings of International Symposium on Implementation and Application of Functional Languages (IFL'19) . ACM , The 31st symposium on Implementation and Application of Functional Languages (IFL 2019) , Singapore , Singapore , 25/09/19 . https://doi.org/10.1145/1122445.1122456en
dc.identifier.citationconferenceen
dc.identifier.urihttps://hdl.handle.net/10023/19488
dc.descriptionFunding: EU Horizon 2020 project, TeamPlay (https://www.teamplay-h2020.eu), grant number 779882; UK EPSRC Discovery, grant number EP/P020631/1.en
dc.description.abstractSystems with non-functional requirements, such as Energy, Time and Security (ETS), are of increasing importance due to the proliferation of embedded devices with limited resources such as drones, wireless sensors, and tablet computers. Currently, however, there are little to no programmer supported methodologies or frameworks to allow them to reason about ETS properties in their source code. Drive is one such existing framework supporting the developer by lifting non-functional properties to the source-level through the Contract Specification Language (CSL), allowing non-functional properties to be first-class citizens, and supporting programmer-written code-level contracts to guarantee the non-functional specifications of the program are met. In this paper, we extend the Drive system by providing rigorous implementations of the underlying proof-engine, modeling the specification of the annotations and assertions from CSL for a representative subset of C, called Imp. We define both an improved abstract interpretation that automatically derives proofs of assertions, and define inference algorithms for the derivation of both abstract interpretations and the context over which the interpretation is indexed. We use the dependently-typed programming language, Idris, to give a formal definition, and implementation, of our abstract interpretation. Finally, we show our well-formed abstract interpretation over some representative exemplars demonstrating provable assertions of ETS.
dc.format.extent827276
dc.language.isoeng
dc.publisherACM
dc.relation.ispartofProceedings of International Symposium on Implementation and Application of Functional Languages (IFL'19)en
dc.subjectDependent typesen
dc.subjectIdrisen
dc.subjectLIghtweight verificationen
dc.subjectNon-functional propertiesen
dc.subjectAbstract interpretationen
dc.subjectProof-carrying codeen
dc.subjectEmbedded systemsen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectQA76 Computer softwareen
dc.subjectT-NDASen
dc.subjectBDUen
dc.subject.lccQA75en
dc.subject.lccQA76en
dc.titleA trustworthy framework for resource-aware embedded programmingen
dc.typeConference itemen
dc.contributor.sponsorEuropean Commissionen
dc.contributor.sponsorEPSRCen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.identifier.doi10.1145/1122445.1122456
dc.identifier.urlhttp://2019.iflconference.org/#draft-proceedingsen
dc.identifier.grantnumber779882en
dc.identifier.grantnumberEP/P020631/1en


This item appears in the following Collection(s)

Show simple item record