Publications

This page contains bibliographic entries for most of my publications. It is fairly complete for the older publications; the only exclusions are technical reports that were later published in a more public forum.  Recent publications are more easily found through my DBLP page or my Google Scholar page.

In some cases I have also included links to an electronic version of the publication, although for copyright reasons the linked version is sometimes to a technical report that predates the publication version. For many of my recent publication, I have reserved the right to make a copy available, but for some of the older articles, I did not realize the importance of doing so.  More recently (post 2010),
publishers such as ACM and IEE who had previously been willing to allow me to distribute my own papers, began refusing permission to do so.  I hope to add more electronic versions as I find time, so if you require a copy of a paper that is not posted here, and yet is not marked as unavailable, please send me email. 

The list is divided into six sections.

  1. Works in progress
  2. Fully refereed papers (those refereed by a journal editorial board or the program committee of a selective conference).
  3. Loosely refereed papers (those reviewed by workshop committees, and invited papers at conferences)
  4. Books and Book Chapters
  5. Technical Reports and Unrefereed Papers (excluding those later published more formally above)
  6. My Doctoral Dissertation

Works in Progress

Papers in progress, submitted for publication, and undergoing review.




Andrew P. Black.  Classes Considered Harmful.  Submitted to NOOL 2015

Fully refereed papers

These papers were refereed by a journal editorial board or the program committee of a selective conference.

Andrew P. Black, Kim B. Bruce, Michael Homer and James Noble.  Grace: the absence of (inessential) difficulty.  Onward! 2012
Andrew P. Black. Object-oriented programming: Some history, and challenges for the next fifty years. Information and Computation.  Pre-publication version
spacer
Emerson R. Murphy-Hill, Chris Parnin, Andrew P. Black: How We Refactor, and How We Know It. IEEE Trans. Software Eng. 38(1): pp. 5-18 (2012) doi:10.1109/TSE.2011.41
Towards Haskell in the cloud
Jeff Epstein, Andrew P. Black, Simon L. Peyton Jones: Towards Haskell in the cloud. Haskell 2011: Proceedings of the 4th ACM symposium on Haskell, 2011 ACM SIGPLAN pp. 118-129

Emerson R. Murphy-Hill, Moin Ayazifar, Andrew P. Black: Restructuring software with gestures. VL/HCC 2011: pp. 165-172
spacer An interactive ambient visualization for code smells
Emerson R. Murphy-Hill, Andrew P. Black: An interactive ambient visualization for code smells. SOFTVIS 2010: Proceedings of the 5th international symposium on Software visualization, 2010. pp. 514

Emerson R. Murphy-Hill, Chris Parnin, Andrew P. Black: How we refactor, and how we know it. ICSE 2009: pp. 287-297

Daniel Vainsencher, Andrew P. Black: A Pattern Language for Extensible Program Representation. Transactions on Pattern Languages of Programming 1: pp. 1-47 (2009)
Emerson Murphy-Hill and Andrew P. Black. Refactoring Tools: Fitness for Purpose. IEEE Software 25(5): pp. 38-44 (2008).
Emerson Murphy-Hill and Andrew P. Black. Breaking the Barriers to Successful Refactoring: Observations and Tools for Extract Method. International Conference on Software engineering, May 2008, Leipzig, Germany. IEEE Computer Society and ACM Press
Chuan-Kai Lin and Andrew P. Black. DirectFlow: a Domain-Specific Language for Information-Flow Systems. Proceedings of European Conference on Object-Oriented Programming, Berlin, July 2007. LNCS Vol 4609, pp 229332. Available here by permission of Springer-Verlag; the definitive version is on Springer LINK.
A. P. Black, N. C. Hutchinson, E. Jul, and H. M. Levy. The development of the Emerald programming language. In HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages, pp. 11-111-51, New York, NY, USA, 2007. ACM. doi.acm.org/10.1145/1238844.1238855
Stphane Ducasse, Oscar Nierstrasz, Nathanael Schrli, Roel Wuyts, and Andrew P Black. Traits: A Mechanism for Fine-grained Reuse. ACM Transactions on Programming Languages and Systems (TOPLAS) Volume 28 Issue 2, March 2006. pp. 331388   ACM Press. doi.acm.org/10.1145/1119479.1119483
Emerson R. Murphy-Hill, Philip J. Quitslund, and Andrew P. Black. Practitioner reports: Removing duplication from java.io: a case study using traits. Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications OOPSLA '05. October 2005, pp. 282291  
Nathanael Schrli, Andrew P. Black, Stphane Ducasse. Object-oriented encapsulation for dynamically typed languages. Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA) 2004, Vancouver, BC, pp. 130149
Emerson R. Murphy-Hill and Andrew P. Black. Traits: experience with a language feature. In OOPSLA 04: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages and applications, pp. 275282, New York, NY, USA, October 2004. ACM Press. doi.acm.org/10.1145/1028664.1028771
Andrew Black and Nathanael Schrli. Traits: Tools and Methodology. International Conference on Software Engineering (ICSE), Edinburgh, Scotland, May 2004, pp. 676686
Nathanael Schrli and Andrew Black. A Browser for Incremental Programming. Computer Languages, Systems & Structures, AprilJuly 2004, vol 30 Nr 12, pp 7995 Elsevier. This is a preprint of an article published in Computer Languages, Systems & Structures.
Andrew P. Black, Vincent Cremet, Rachid Guerraoui and Martin Odersky. An Equational Theory for Transactions. 23rd Conference on Foundations of Software Technology and Theoretical Computer Science, Mumbai (Bombay), India, December 2003.
Andrew Black, Nathanael Schrli and Stphane Ducasse. Applying Traits to the Smalltalk Collection Hierarchy. ACM Conference on Object Oriented Systems, Languages and Applications (OOPSLA), pp. 4764, October 2003
Nathanael Schrli, Stphane Ducasse, Oscar Nierstrasz and Andrew Black. Traits: Composable Units of Behavior. European Conference on Object-Oriented Programming (ECOOP), July 2003. Springer LNCS 2743, Ed. Luca Cardelli.

Rainer Koster, Andrew P. Black, Jie Huang, Jonathan Walpole and Calton Pu. Thread Transparency in Information Flow Middleware. SoftwarePractice & Experience 33(4), 2003. This is a preprint of an article published in SoftwarePractice & Experience Copyright (2003) John Wiley & Sons Ltd.

A. P. Black, J. Huang, R. Koster, J. Walpole, and C. Pu. Infopipes: an Abstraction for Multimedia Streaming, Multimedia Systems (special issue on Multimedia Middleware) 8(5), pp. 406419, 2002. This is a preprint of an article published in Multimedia Systems, Copyright (2002) Springer Verlag. The original publication should be available on LINK at link.springer.de/link/service/journals/00530/bibs/2008005/20080406.htm, but that URL actually points to some buggy page proofs.

Rainer Koster, Andrew P. Black, Jie Huang, Jonathan Walpole, and Calton Pu. Thread Transparency in Information Flow Middleware. Middleware 2001 IFIP/ACM International Conference on Distributed Systems Platforms, Heidelberg, Germany, November 2001, pp 121140. LNCS 2218. This is a preprint of an article Copyright (2002) Springer Verlag. The original publication is available on LINK at link.springer.de/link/service/series/0558/papers/2218/22180121.pdf.

 

Oscar Nierstrasz, Gabriela Arvalo, Stphane Ducasse, Roel Wuyts, Andrew Black, Peter Mller, Christian Zeidler, Thomas Genssler and Reinier van den Born. A Component Model for Field Devices. IFIP/ACM Conference on Component Deployment, Berlin, Germany, June 2002, pp. 200-209.

 

Johan Nordlander, Mark P. Jones, Magnus Carlsson, Richard B. Kieburtz and Andrew Black. Reactive Objects. 5th IEEE International Symposium on Object-oriented Real-time distributed computing, Crystal City, Virginia, USA, April 2002.

 

Black, A. P. (1998). Object-Oriented Programming: Regaining the Excitement. Proceedings of ECOOP'99, Springer Verlag LNCS 1628, pp 519-528

Black, A.P. (1996) Object-oriented Languages: The Next Generation. ACM Computing Surveys 28 (4es) December 1996, Article 149.

 

M. Mira da Silva, M. P. Atkinson and A. P. Black. Semantics for Parameter Passing in a Type-complete Persistent RPC. Proceeding of the 16th Int. Conf. on Distributed Computing Systems, IEEE 1996, pp 411-419.

Calton Pu, Tito Autrey, Andrew Black, Charles Consel, Crispin Cowan, Jon Inouye, Lakshmi Kethana, Jonathan Walpole and Ke Zhang. Optimistic Incremental Specialization: Streamlining a Commercial Operating System. Proceedings of 15th ACM Symposium on Operating System Principles, December 1995, pp. 314-324.

 

A.P. Black and M.P. Immel. Encapsulating Plurality. Proceedings of European Conference on Object-Oriented Programming (ECOOP 93), July 1993. Springer LNCS Nr 707.

 

R.K. Raj, E.D. Tempero, H.M. Levy, A.P. Black, N.C. Hutchinson, and E. Jul. Emerald: A General Purpose Programming Language. SoftwarePractice & Experience, 21(1), Jan. 1991, pp. 91-118.

 

Andrew P. Black, and Yeshauahu Artsy. Implementing Location Independent Invocation. IEEE Trans on Parallel and Distributed Systems, 1(1), Jan. 1990, pp. 107-119.

 

Andrew P. Black, and Yeshauahu Artsy. Implementing Location Independent Invocation. Proc. 9th International Conference on Distributed Computing Systems. IEEE Press, June 1989, pp. 550-559.

D. Notkin, A. P. Black, E. D. Lazowska, H. M. Levy, J. Sanislo, and J. Zahorjan, Interconnecting Heterogeneous Computer Systems, Communications of the ACM, 31(3), pp. 258-273, 1988.

 

Andrew P. Black and Charles H. Burris, Jr. A compact representation for file versions: a preliminary report. Proc. 5th International Conference on Data Engineering. IEEE Press, February 1989.

 

E. Jul, H. Levy, N. Hutchinson and A. P. Black. Fine-Grained Mobility in the Emerald System, ACM Trans. Computer Syst., 6(1), February 1988, pp. 109-133.

 

E. Jul, H. Levy, N. Hutchinson and A. P. Black. Fine Grained Mobility in the Emerald System. Proc. 11th ACM Symposium on Operating Systems Principles, Austin, TX, November 1987.

 

J. H. Maloney and A. P. Black. File Sessions: A Technique for Analyzing Dynamic File Usage Patterns. Proc. 3rd International Conference on Data Engineering, Los Angeles, CA, pp 5461, February 1987. This paper IEEE and appears by permission.

 

A. P. Black, N. Hutchinson, E. Jul, H. M. Levy, and L. Carter. Distribution and Abstract Types in Emerald. IEEE Transactions on Software Engineering, Vol SE-13, Nr 1, pp.6576, January 1987. This paper IEEE and appears by permission.

 

Andrew P. Black, Norman Hutchinson, Eric Jul, Henry M. Levy. Object Structure in the Emerald System. Procs. 1st ACM Conference on Object-Oriented Programming Systems, Languages and Applications, (OOPSLA'86), October 1986, pp. 78-86.

 

Andrew P. Black. Supporting Distributed Applications: Experience with Eden. Proc. 10th ACM Symposium on Operating Systems Principles. December 1985, pp 181-193.

 

Guy Almes, Andrew P. Black, Edward Lazowska and Jerre Noe. The Eden Project: A Technical Review. IEEE Trans. Softw. Eng. Vol SE-11 Nr 1. January 1985, pp 43-59.

 

Guy Almes, Andrew P. Black, Carl Bunje and Doug Wiebe. Edmas: The Eden Demonstration Mail System. Proc. 7th International Conference on Software Engineering, March 1984, pp 56-66.

 

Andrew P. Black. Asymmetric Stream Communication. Proc. 9th ACM Symposium on Operating Systems Principles, October 1983, pp 4-10.





Loosely refereed papers

These papers were reviewed by workshop committees, were published in the popular press, or were invited for presentation at a conference.

spacer
Andrew P. Black.  The Expression Problem, Gracefully.  MASPEGHI 2015,  Prague.
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.