Author image not provided
 Alan Mycroft

Authors:
Add personal information
  Affiliation history
Bibliometrics: publication history
Average citations per article7.92
Citation Count578
Publication count73
Publication years1983-2017
Available for download22
Average downloads per article257.55
Downloads (cumulative)5,666
Downloads (12 Months)298
Downloads (6 Weeks)40
SEARCH
ROLE
Arrow RightAuthor only
· Editor only
· All roles


AUTHOR'S COLLEAGUES
See all colleagues of this author

SUBJECT AREAS
See all subject areas




BOOKMARK & SHARE


73 results found Export Results: bibtexendnoteacmrefcsv

Result 1 – 20 of 73
Result page: 1 2 3 4

Sort by:

1 published by ACM
January 2017 POPL 2017: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages
Publisher: ACM
Bibliometrics:
Citation Count: 2
Downloads (6 Weeks): 14,   Downloads (12 Months): 103,   Downloads (Overall): 365

Full text available: PDFPDF
We present a type system combining subtyping and ML-style parametric polymorphism. Unlike previous work, our system supports type inference and has compact principal types. We demonstrate this system in the minimal language MLsub, which types a strict superset of core ML programs. This is made possible by keeping a strict ...
Keywords: Algebra, Polymorphism, Subtyping, Type Inference
Also published in:
May 2017  ACM SIGPLAN Notices - POPL '17: Volume 52 Issue 1, January 2017

2
October 2015 Essays Dedicated to Hanne Riis Nielson and Flemming Nielson on the Occasion of Their 60th Birthdays on Semantics, Logics, and Calculi - Volume 9560
Publisher: Springer-Verlag New York, Inc.
Bibliometrics:
Citation Count: 1

Effect systems were originally conceived as an inference-based program analysis to capture program behaviour--as a set of representations of effects. Two orthogonal developments have since happened. First, motivated by static analysis, effects were generalised to values in an algebra, to better model control flow e.g. for may/must analyses and concurrency. ...

3
January 2015 Science of Computer Programming: Volume 97 Issue P1, January 2015
Publisher: Elsevier North-Holland, Inc.
Bibliometrics:
Citation Count: 0

Program querying and analysis tools are of growing importance, and occur in two main variants. Firstly there are source-code query languages which help software engineers to explore a system, or to find code in need of refactoring as coding standards evolve. These also enable language designers to understand the practical ...
Keywords: Graph databases, Source-code queries and DSLs, Programming language evolution

4 published by ACM
October 2014 Onward! 2014: Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software
Publisher: ACM
Bibliometrics:
Citation Count: 0
Downloads (6 Weeks): 3,   Downloads (12 Months): 16,   Downloads (Overall): 103

Full text available: PDFPDF
Programming languages and coding standards provide invariants to ease reasoning about the correctness of code. Although useful, invariants are often intentionally broken by programmers for performance or compatibility purposes. An operation that consists of multiple steps can preserve an invariant overall even though it breaks it temporarily during the process ...
Keywords: abstraction, close world assumption, feature interaction, invariants, negative features, programming language design, programming language evolution

5
August 2014
Bibliometrics:
Citation Count: 3

SummaryJava 8 in Action is a clearly written guide to the new features of Java 8. The book covers lambdas, streams, and functional-style programming. With Java 8's functional features you can now write more concise code in less time, and also automatically benefit from multicore architectures. It's time to dig ...

6 published by ACM
August 2014 ICFP '14: Proceedings of the 19th ACM SIGPLAN international conference on Functional programming
Publisher: ACM
Bibliometrics:
Citation Count: 6
Downloads (6 Weeks): 1,   Downloads (12 Months): 18,   Downloads (Overall): 315

Full text available: PDFPDF
The notion of context in functional languages no longer refers just to variables in scope. Context can capture additional properties of variables (usage patterns in linear logics; caching requirements in dataflow languages) as well as additional resources or properties of the execution environment (rebindable resources; platform version in a cross-platform ...
Keywords: coeffects, context, indexed comonads, types
Also published in:
November 2014  ACM SIGPLAN Notices - ICFP '14: Volume 49 Issue 9, September 2014

7 published by ACM
July 2014 PLE '14: Proceedings of the 1st Workshop on Programming Language Evolution
Publisher: ACM
Bibliometrics:
Citation Count: 1
Downloads (6 Weeks): 4,   Downloads (12 Months): 15,   Downloads (Overall): 74

Full text available: PDFPDF
Programming languages evolve in response to external and internal factors. External factors include new hardware, new theory or foundational research, trends or fashions in languages, and applications. Internal factors include a change in the way a language is used or the discovery of problems or deficiencies with existing features. However, ...

8
December 2013 Proceedings of the 11th Asian Symposium on Programming Languages and Systems - Volume 8301
Publisher: Springer-Verlag
Bibliometrics:
Citation Count: 0

Object-oriented languages allow any object to point to any other object, limited only by type. The resultant possible aliasing makes programs hard to verify and maintain. Much research has been done on alias protection schemes to restrict aliasing. However, existing schemes are either informal (design-pattern-like) or static type-like systems. The ...

9
July 2013 ICALP'13: Proceedings of the 40th international conference on Automata, Languages, and Programming - Volume Part II
Publisher: Springer-Verlag
Bibliometrics:
Citation Count: 9

Monadic effect systems provide a unified way of tracking effects of computations, but there is no unified mechanism for tracking how computations rely on the environment in which they are executed. This is becoming an important problem for modern software --- we need to track where distributed computations run, which ...

10
May 2013 MSR '13: Proceedings of the 10th Working Conference on Mining Software Repositories
Publisher: IEEE Press
Bibliometrics:
Citation Count: 24
Downloads (6 Weeks): 3,   Downloads (12 Months): 27,   Downloads (Overall): 213

Full text available: PDFPDF
The problem of matching between binaries is important for software copyright enforcement as well as for identifying disclosed vulnerabilities in software. We present a search engine prototype called Rendezvous which enables indexing and searching for code in binary form. Rendezvous identifies binary code using a statistical model comprising instruction mnemonics, ...

11
January 2013 Aliasing in Object-Oriented Programming: types, analysis, and verification
Publisher: Springer-Verlag
Bibliometrics:
Citation Count: 0

Historically, concerns about aliasing and confinement in object-oriented languages arose from the Software Engineering or Program Verification viewpoint: spaghetti-data resulted in programs too delicate to modify or "… we could prove Q if only we knew that x is not aliased". By and large, these issues arose in the context ...

12
January 2013 Aliasing in Object-Oriented Programming: types, analysis, and verification
Publisher: Springer-Verlag
Bibliometrics:
Citation Count: 0

We survey notions of aliasing and ownership. An extreme but conceptually useful model is that of pure linear languages where each object is constructed once and read, being consumed, once. We see more realistic programming languages as relaxing this to allow multiple references to an object (spatial aliasing) or multiple ...

13 published by ACM
October 2012 PLATEAU '12: Proceedings of the ACM 4th annual workshop on Evaluation and usability of programming languages and tools
Publisher: ACM
Bibliometrics:
Citation Count: 4
Downloads (6 Weeks): 2,   Downloads (12 Months): 15,   Downloads (Overall): 145

Full text available: PDFPDF
Programming languages evolve just like programs. Language features are added and removed, for example when programs using them are shown to be error-prone. When language features are modified, deprecated, removed or even deemed unsuitable for the project at hand, it is necessary to analyse programs to identify occurrences to refactor. ...
Keywords: program analysis, query languages, source code

14
September 2012 SAS'12: Proceedings of the 19th international conference on Static Analysis
Publisher: Springer-Verlag
Bibliometrics:
Citation Count: 1

Since first being described, the Join Calculus has been incorporated into a variety of languages as an alternative concurrency primitive. While there has been some work on efficient library implementation of the calculus, there has been little on statically analysing and transforming it. This work explores adapting conventional analysis techniques ...
Keywords: optimisation, program analysis, concurrency

15
September 2012 SAS'12: Proceedings of the 19th international conference on Static Analysis
Publisher: Springer-Verlag
Bibliometrics:
Citation Count: 4

Precise flow- and context-sensitive pointer analysis (FCPA) is generally considered prohibitively expensive for large programs; most tools relax one or both of the requirements for scalability. We argue that precise FCPA has been over-harshly judged--the vast majority of points-to pairs calculated by existing algorithms are never used by any client ...

16
April 2012 ISORC '12: Proceedings of the 2012 IEEE 15th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing
Publisher: IEEE Computer Society
Bibliometrics:
Citation Count: 1

We present a compositional approach to schedul ability analysis of safety-critical Java programs. We introduce a specification language in order to write abstract behavioural specifications regarding task execution-time and use of resources. Schedulabilty is checked on a model composed of the abstract specifications, possibly before any implementation, and as the ...
Keywords: real-time, Java, scj, analysis, model checking

17
October 2011 FoVeOOS'11: Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
Publisher: Springer-Verlag
Bibliometrics:
Citation Count: 2

Programs distributed between two or more cores on a multi-core processor are significantly slowed down when both repeatedly access the same cache line--unless both accesses consist of reads. The hardware performs best when programs satisfy a 'memory isolation' property whereby each line of writable memory is available to only one ...

18 published by ACM
September 2011 Haskell '11: Proceedings of the 4th ACM symposium on Haskell
Publisher: ACM
Bibliometrics:
Citation Count: 3
Downloads (6 Weeks): 2,   Downloads (12 Months): 17,   Downloads (Overall): 246

Full text available: PDFPDF
Sequencing of effectful computations can be neatly captured using monads and elegantly written using do notation. In practice such monads often allow additional ways of composing computations, which have to be written explicitly using combinators. We identify joinads, an abstract notion of computation that is stronger than monads and captures ...
Keywords: concurrency, joinads, monads, pattern matching
Also published in:
January 2012  ACM SIGPLAN Notices - Haskell '11: Volume 46 Issue 12, December 2011

19
September 2011 ICPPW '11: Proceedings of the 2011 40th International Conference on Parallel Processing Workshops
Publisher: IEEE Computer Society
Bibliometrics:
Citation Count: 1

With the prevalence of multi-core processors, it is essential that legacy programs are parallelised effectively and efficiently. However, compilers have not been able to automatically extract sufficient parallelism in general programs. One of the major reasons, we argue, is that algorithms are often implemented sequentially in a way that unintentionally ...

20
August 2011 Euro-Par'11: Proceedings of the 17th international conference on Parallel processing - Volume Part II
Publisher: Springer-Verlag
Bibliometrics:
Citation Count: 0

Many modern systems provide heterogeneous parallelism, for example NUMA multi-core processors and CPU-GPU combinations. Placement, scheduling and indeed algorithm choices affect the overall execution time and, for portable programs, must adapt to the target machine at either load-time or run-time. We see these choices as preserving I/O determinism but exposing ...
Keywords: parallelism, petri-nets, scheduling, heterogeneous architectures



The ACM Digital Library is published by the Association for Computing Machinery. Copyright © 2018 ACM, Inc.
Terms of Usage   Privacy Policy   Code of Ethics   Contact Us