My research explains how and why software behaves, based on user intentions. We want to know that our software is doing what we told it. We also want to know the reasons our software does something unexpected. Finally, we want to be able to design software to meet our intentions in the first place.

This is particularly important today:

  • extensive use of “other people’s code” in the form of libraries and packages;
  • software running on “other people’s computers”, i.e., the cloud;
  • software with a wide latitude to make its own decisions, often relying on opaque machine learning algorithms.

You can find more from the slides I used for this recent talk.

Selected Publications

These are the most recent and/or interesting publications. For a complete list, or mostly complete, best to look at one of the following sites.

Please don’t use ResearchGate or other commercial, walled-garden ‘aggregators’; email me and I will track down a preprint for you. I encourage you to check out Impact Story’s “UnPaywall” extension.

Conference publications

  1. (short paper) M. P. Robillard, A. Marcus, C. Treude, G. Bavota, O. Chaparro, N. Ernst, M. A. Gerosa, M. Godfrey, M. Lanza, M. Linares-Vásquez, G. Murphy, L. Moreno, D. Shepherd, and E. Wong, “On-Demand Developer Documentation”, ICSME ’17: 33rd Int’l. Conf. on Software Maintenance and Evolution (AR: 58%) preprint c/o C. Treude
  2. George Mathew, Tim Menzies, Neil A. Ernst, John Klein, “Shorter Reasoning About Larger Requirements Models”, International Requirements Engineering Conference, Porto, 2017. arXiv:1702.05568
  3. Neil A. Ernst, Stephany Bellomo, Ipek Ozkaya, Robert Nord, “What to Fix? Distinguishing between design and non-design rules in automated tools”, International Conference on Software Architecture, Gothenburg, 2017. preprintlong versionblog post
  4. Neil A. Ernst, Mary Popeck, Felix Bachmann, Patrick Donohoe, Creating Software Modernization Roadmaps: The Architecture Options Workshop”. Working International Conference on Software Architecture (WICSA), Venice, Italy, 2016. preprint
  5. Neil A. Ernst, Stephany Bellomo, Robert Nord, Ipek Ozkaya, Ian Gorton: “Measure It, Manage It, Ignore It: Software Practitioners and Technical Debt”. International Conference on Foundations of Software Engineering/European Software Engineering Conference (ESEC/FSE), Bergamo, Italy, 2015. Distinguished paper award. (Acceptance rate: 25.4%, 291 submissions). Datapreprint • blogslides 
  6. John Klein, Ian Gorton, Neil A. Ernst, Patrick Donohoe, Kim Pham, Christian Matser, “Application-specific evaluation of NoSQL databases”, International Big Data Congress, New York, 2015.
  7. Stephany Bellomo, Neil A. Ernst, Robert L. Nord, Rick Kazman: “Toward Design Decisions to Enable Deployability: Empirical Study of Three Projects Reaching for the Continuous Delivery Holy Grail’’. International Conference on Dependable Systems and Networks, Atlanta, pp. 702-707, 2014.
  8. Neil A. Ernst, A. Borgida, J. Mylopoulos, I. Jureta, “Agile Requirements Evolution via Paraconsistent Reasoning”, International Conference on Advanced Information Systems Engineering (CAISE), Gdansk, Poland, June 2012. preprintslides
  9. N. A. Ernst, A. Borgida, I. Jureta, “Finding Incremental Solutions for Evolving Requirements,” International Conference on Requirements Engineering, Trento: September, 2011. pre-print • slides
  10. N. A. Ernst, J. Mylopoulos, A. Borgida, and I. J. Jureta, “Reasoning with Optional and Preferred Requirements,” International Conference on Conceptual Modeling (ER), Vancouver: November, 2010. preprintslides
  11. Ivan J. Jureta, Alex Borgida, Neil A. Ernst, John Mylopoulos, “Techne: Towards a New Generation of Requirements Modeling Languages with Goals, Preferences, and Inconsistency Handling”,  International Conference on Requirements Engineering (RE), Sydney: September, 2010. preprint


  1. Ivan J. Jureta, Alexander Borgida, Neil A. Ernst, and John Mylopoulos. “The requirements problem for adaptive systems”. ACM Transactions on Management Information Systems, 5(3):17:1–17:33, September 2014. preprint publisher
  2. Neil A. Ernst, Alexander Borgida, Ivan J. Jureta, John Mylopoulos, “Agile requirements engineering via paraconsistent reasoning”, Information Systems, 43: 100–116, July 2014. preprint - publisher (invited extended version of conference paper 1 below)
  3. A. Hindle, N. A. Ernst, M. Godfrey, J. Mylopoulos, “Automated topic naming to support cross-project analysis of software maintenance activities,” Empirical Software Engineering Journal, May 2012. (invited extended version of the MSR paper) preprint publisher Data/addenda
  4. Neil A. Ernst, M.-A. Storey, P. Allen, “Cognitive Support for Ontology Modeling”, Int. J. Human-Computer Studies, 62 (5), May 2005, Pages 553-577. pdf

Workshops, Book sections and Posters

  1. Neil A. Ernst, A. Borgida, I. Jureta, J. Mylopoulos, “An Overview of Requirements Evolution”, in T. Mens, A. Serebrenik, A. Cleve (eds.): Evolving Software Systems, pp 3–32, Springer, 2014. paywall
  2. N. Ernst, I. Ozkaya, R. Nord, J. Delange, S. Bellomo, I. Gorton, “Understanding the Role of Constraints on Architecturally Significant Requirements”, International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks) at RE, Rio de Janeiro, July 2013. preprint
  3. Neil A. Ernst, Gail Murphy, “Case Studies in Just-In-Time Requirements Analysis”, International Workshop on Empirical Requirements Engineering at RE, Chicago, September 2012. preprint - slides
  4. Neil A. Ernst, “On the Role of Requirements in Understanding and Managing Technical Debt”, position paper at _International Workshop on Managing Technical Debt _at ICSE, Zurich, June 2012. preprint - slides
  5. Jorge Aranda, Neil A. Ernst, Jennifer Horkoff, S. M. Easterbrook, A Framework for Empirical Evaluation of Model Comprehensibility, International Workshop on Modeling in Software Engineering (MiSE-07), at the 29th International Conference on Software Engineering (ICSE’07), Minneapolis, USA, 19-20 May 2007.
  6. Neil A. Ernst, Y. Yu, J. Mylopoulos, “Visualizing non-functional requirements”, presented at Workshop on Requirements Engineering Visualization at RE 2006, Minneapolis, September 11, 2006. slides
  7. M. A. Storey, M. A. Musen, J. Silva, C. Best, N. Ernst, R. Fergerson, and N. F. Noy, “Jambalaya: Interactive visualization to enhance ontology authoring and knowledge acquisition in Protege,” presented at Workshop on Interactive Tools for Knowledge Capture, K-CAP-2001, Victoria, B.C. Canada, 2001. pdf

Tech reports (aka unaccepted papers)

  • Neil Ernst, Stephany Bellomo, Robert L. Nord, and Ipek Ozkaya, “Enabling Incremental Iterative Development at Scale: Quality Attribute Refinement and Allocation in Practice”, SEI/CMU-2015-TR-008, 2015.
  • Ivan Jureta, Alexander Borgida, Neil A. Ernst, “Mixed-Variable Requirements Roadmaps and their Role in the Requirements Engineering of Adaptive Systems”. arXiv:1102.4178.


  • N. A. Ernst, “Software Evolution: A Requirements Engineering Approach”. Ph.D. dissertation, University of Toronto, 2011. pdf (224 pages)
  • N. A. Ernst, “Towards Cognitive Support in Knowledge Engineering: An Adoption-Centred Customization Framework for Visual Interfaces”, unpublished M.Sc. thesis, University of Victoria, 2004. pdf