Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- abstractJune 2024
Recycling Items Sorting System
WCCCE '24: Proceedings of the 26th Western Canadian Conference on Computing EducationArticle No.: 21, Pages 1–2https://doi.org/10.1145/3660650.3660660This nifty assignment requires students to construct a Recycling Items Sorting System using Java, focusing on object-oriented design, abstract data types (ADTs), and sorting algorithms to classify recyclables by type and properties. Targeted at ...
- posterOctober 2020
Towards automatic assessment of object-oriented programs
ICSE '20: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion ProceedingsPages 276–277https://doi.org/10.1145/3377812.3390907The computing education community has shown a long-time interest in how to analyze the Object-Oriented (OO) source code developed by students to provide them with useful formative tips. In this paper, we propose and evaluate an approach to analyze how ...
- research-articleAugust 2015
1ML – core and modules united (F-ing first-class modules)
ICFP 2015: Proceedings of the 20th ACM SIGPLAN International Conference on Functional ProgrammingPages 35–47https://doi.org/10.1145/2784731.2784738ML is two languages in one: there is the core, with types and expressions, and there are modules, with signatures, structures and functors. Modules form a separate, higher-order functional language on top of the core. There are both practical and ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 9 - research-articleOctober 2014
Compiler verification meets cross-language linking via data abstraction
OOPSLA '14: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & ApplicationsPages 675–690https://doi.org/10.1145/2660193.2660201Many real programs are written in multiple different programming languages, and supporting this pattern creates challenges for formal compiler verification. We describe our Coq verification of a compiler for a high-level language, such that the compiler ...
Also Published in:
ACM SIGPLAN Notices: Volume 49 Issue 10 -
- ArticleJune 2014
Formal System Modelling Using Abstract Data Types in Event-B
ABZ 2014: Proceedings of the 4th International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z - Volume 8477Pages 222–237https://doi.org/10.1007/978-3-662-43652-3_20We present a formal modelling approach using Abstract Data Types ADTs for developing large-scale systems in Event-B. The novelty of our approach is the combination of refinement and instantiation techniques to manage the complexity of systems under ...
- research-articleApril 2013
Mixin’ Up the ML Module System
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 35, Issue 1Article No.: 2, Pages 1–84https://doi.org/10.1145/2450136.2450137ML modules provide hierarchical namespace management, as well as fine-grained control over the propagation of type information, but they do not allow modules to be broken up into mutually recursive, separately compilable components. Mixin modules ...
- posterJuly 2012
Intuitive thinking while dealing with abstract data types
ITiCSE '12: Proceedings of the 17th ACM annual conference on Innovation and technology in computer science educationPage 391https://doi.org/10.1145/2325296.2325408This paper describes a research conducted in computer science high-school classrooms while the students were learning Abstract Data Types ("Software Design"). The students were studying abstract data type's module after completing three modules based on ...
- ArticleApril 2012
A Software Testing Tool for the Verification of Abstract Data Type Implementations from Formal Algebraic Specifications
CSEET '12: Proceedings of the 2012 IEEE 25th Conference on Software Engineering Education and TrainingPages 100–104https://doi.org/10.1109/CSEET.2012.16This Work in Progress report presents an educational software tool for testing abstract data types implemented in C++ against formal algebraic specifications written in Maude, a formal specification language based on rewriting logic that allows the ...
- research-articleOctober 2011
HAWKEYE: effective discovery of dataflow impediments to parallelization
OOPSLA '11: Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applicationsPages 207–224https://doi.org/10.1145/2048066.2048085Parallelization transformations are an important vehicle for improving the performance and scalability of a software system. Utilizing concurrency requires that the developer first identify a suitable parallelization scope: one that poses as a ...
Also Published in:
ACM SIGPLAN Notices: Volume 46 Issue 10 - research-articleMarch 2011
Array requirements for scientific applications and an implementation for microsoft SQL server
- László Dobos,
- Alexander Szalay,
- José Blakeley,
- Tamás Budavári,
- István Csabai,
- Dragan Tomic,
- Milos Milovanovic,
- Marko Tintor,
- Andrija Jovanovic
AD '11: Proceedings of the EDBT/ICDT 2011 Workshop on Array DatabasesPages 13–19https://doi.org/10.1145/1966895.1966897This paper outlines certain scenarios from the fields of astrophysics and fluid dynamics simulations which require high performance data warehouses that support array data type. A common feature of all these use cases is that subsetting and ...
- research-articleJanuary 2010
F-ing modules
TLDI '10: Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementationPages 89–102https://doi.org/10.1145/1708016.1708028ML modules are a powerful language mechanism for decomposing programs into reusable components. Unfortunately, they also have a reputation for being "complex" and requiring fancy type theory that is mostly opaque to non-experts. While this reputation is ...
- research-articleJanuary 2010
A relational modal logic for higher-order stateful ADTs
POPL '10: Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 185–198https://doi.org/10.1145/1706299.1706323The method of logical relations is a classic technique for proving the equivalence of higher-order programs that implement the same observable behavior but employ different internal data representations. Although it was originally studied for pure, ...
Also Published in:
ACM SIGPLAN Notices: Volume 45 Issue 1 - ArticleNovember 2009
A Frame Manipulation Algebra for ER Logical Stage Modelling
ER '09: Proceedings of the 28th International Conference on Conceptual ModelingPages 9–24https://doi.org/10.1007/978-3-642-04840-1_2The ER model is arguably today's most widely accepted basis for the conceptual specification of information systems. A further common practice is to use the Relational Model at an intermediate logical stage, in order to adequately prepare for physical ...
- research-articleNovember 2009
A comparison of abstract data type and constraint database approaches to GIS query languages
GIS '09: Proceedings of the 17th ACM SIGSPATIAL International Conference on Advances in Geographic Information SystemsPages 380–383https://doi.org/10.1145/1653771.1653824Designing query languages for geographic information systems using the traditional approach of constantly adding new data types and operations on the new data types has reached a limit beyond which the query language is no longer easy to understand or ...
- ArticleOctober 2009
Model transformation languages relying on models as ADTs
SLE'09: Proceedings of the Second international conference on Software Language EngineeringPages 133–143https://doi.org/10.1007/978-3-642-12107-4_10In this paper we describe a simple formal approach that can be used to support the definition and implementation of model to model transformations. The approach is based on the idea that models as well as metamodels should be regarded as abstract data ...
- research-articleMarch 2009
The hidden injuries of overloading 'ADT'
SIGCSE '09: Proceedings of the 40th ACM technical symposium on Computer science educationPages 256–259https://doi.org/10.1145/1508865.1508958The most commonly stated definition of abstract data type (ADT) is that it is a domain of values and the operations over that domain. So, for example, a language's built-in types, like int are seen to be ADTs. It is our opinion that a pure ...
Also Published in:
ACM SIGCSE Bulletin: Volume 41 Issue 1 - research-articleJanuary 2009
State-dependent representation independence
POPL '09: Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 340–353https://doi.org/10.1145/1480881.1480925Mitchell's notion of representation independence is a particularly useful application of Reynolds' relational parametricity -- two different implementations of an abstract data type can be shown contextually equivalent so long as there exists a relation ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 1 - ArticleOctober 2008
Automating Algebraic Specifications of Non-freely Generated Data Types
ATVA '08: Proceedings of the 6th International Symposium on Automated Technology for Verification and AnalysisPages 141–155https://doi.org/10.1007/978-3-540-88387-6_12Non-freely generated data types are widely used in case studies carried out in the theorem prover KIV. The most common examples are stores, sets and arrays. We present an automatic method that generates finite counterexamples for wrong conjectures and ...
- research-articleSeptember 2008
Mixin' up the ML module system
ICFP '08: Proceedings of the 13th ACM SIGPLAN international conference on Functional programmingPages 307–320https://doi.org/10.1145/1411204.1411248ML modules provide hierarchical namespace management, as well as fine-grained control over the propagation of type information, but they do not allow modules to be broken up into mutually recursive, separately compilable components. Mixin modules ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 9