THIS SITE

Information for

Derek Rayside

Associate Professor, Assoc Dir Software Engineering

Contact InformationDerek Rayside

Phone: 519-888-4567 x35027
Location: DC 2538

Website

Biography Summary

Derek Rayside is an Associate Professor with the Department of Electrical and Computer Engineering and is cross-appointed with the School of Computer Science at the University of Waterloo.

His research interests include software engineering, lightweight formal methods, visualization, verification, specification, programming languages, static and dynamic program analysis, and software design extraction or reverse engineering. Engineering design, which is comprised of decision support, design evolution and multi-objective optimization, is another research interest of Professor Rayside.

He has published in venues such as the ACM/IEEE International Conference on Software Engineering (ICSE), the ACM/IEEE International Conference on Automated Software Engineering (ASE), the International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z (ABZ), and the ACM International Conference on Generative Programming: Concepts & Experience (GPCE).

Research Interests

  • Software Engineering
  • Debugging
  • Lightweight Formal Methods
  • Visualization
  • Verification
  • Specification
  • Programming Languages
  • Static And Dynamic Program Analysis
  • Software Design
  • Extraction/reverse Engineering
  • Engineering Design
  • Decision Support
  • Design Evolution
  • Multi-objective Optimization

Education

  • 2010, Doctorate, Electrical Engineering and Computer Science, Massachusetts Institute of Technology
  • 2001, Master of Applied Science, Electrical and Computer Engineering, University of Waterloo
  • 1999, Bachelor of Applied Science, Systems Design Engineering, University of Waterloo

Courses

  • ECE 351 - Compilers
  • SE 491 - Design Project 2
  • SE 301 - Seminar
  • SE 490 - Design Project 1
  • SE 390 - Design Project Planning
  • SE 302 - Seminar
  • SE 401 - Seminar
  • SE 101 - Introduction to Methods of Software Engineering
  • SE 402 - Seminar

Selected/Recent Publications

  • Golzarpoor, Behrooz and Haas, Carl T and Rayside, Derek, Improving process conformance with Industry Foundation Processes (IFP), Advanced Engineering Informatics, 30(2), 2016, 143 - 156
  • Safa, Mahdi and Yee, Ming-Ho and Rayside, Derek and Haas, Carl T, Optimizing Contractor Selection for Construction Packages in Capital Projects, Journal of Computing in Civil Engineering, 2016
  • RAYSIDE, DEREK and STAFF, ECE351, ECE351 COURSE NOTES, , 2016
  • Safa, M and Sabet, A and MacGillivray, S and Davidson, M and Kaczmarczyk, K and Haas, CT and Gibson, GE and Rayside, D, Classification of Construction Projects, World Academy of Science, Engineering and Technology, International Journal of Civil, Environmental, Structural, Construction and Architectural Engineering, 9(6), 2015, 706 - 714
  • RAYSIDE, DEREK and STAFF, ECE351, ECE351 LAB MANUAL, , 2014
  • Kurilova, Darya and Rayside, Derek, On the simplicity of synthesizing linked data structure operations, ACM SIGPLAN Notices, 49(3), 2014, 155 - 158
  • RAYSIDE, DEREK and STAFF, ECE351, ECE351 NOTES, , 2014
  • Zaman, Atulan and Kazerani, Iman and Patki, Medha and Guntoori, Bhargava and Rayside, Derek, Improved Visualization of Relational Logic Models, University of Waterloo, Tech. Rep, 2013
  • Rayside, Derek, ECE351 Course Outline, Summer 2013, , 2013
  • Jackson, Daniel and Estler, H and Rayside, Derek and others, The guided improvement algorithm for exact, general-purpose, many-objective combinatorial optimization, , 2009
  • Rayside, Derek and Chang, Felix and Dennis, Greg and Seater, Robert and Jackson, Daniel, Layout of (Software) Engineering Diagrams (LED 2007), Electronic Communications of the EASST, 10, 2007
  • Rayside, Derek and Chang, Felix and Dennis, Greg and Seater, Robert and Jackson, Daniel, Automatic visualization of relational logic models, Electronic Communications of the EASST, 7, 2007
  • Rayside, Derek and Mendel, Lucy, Object Control Invariants, , 2005
  • Rayside, Derek and Mendel, Lucy and Seater, Robert and Jackson, Daniel, Lucida: An Analyzing Program Browser, , 2005
  • Dennis, Greg and Seater, Robert and Rayside, Derek and Jackson, Daniel, Lightweight Formal Methods Applied to a Radiation Therapy Machine Component, , 2004
  • Rayside, Derek and Litoiu, Marin and Storey, Margaret-Anne and Best, Casey and Lintern, Robert, Visualizing flow diagrams in websphere studio using shrimp views, Information Systems Frontiers, 5(2), 2003, 161 - 174
  • Rayside, Derek, Polymorphism is a Problem, Panel on Reverse Engineering and Architecture (CSMR 2002)(March 2002), 2002
  • Rayside, Derek and Litoiu, Marin and Storey, Margaret-Anne and Best, Casey, Visualizing Flow Diagrams with SHriMP, , 2001
  • Rayside, Derek and Ernst, Michael D, Dynamic Detection of Likely Aspect Insertion Points,
  • {l} and Diskin, Zinovy and Wasowski, Andrzej and Rayside, Derek, Example-Driven Modeling,
  • Dennis, Greg and Jackson, Daniel and Rayside, Derek and Seater, Robert, Software Safety Research for Radiation Therapy,
  • Kalpic, Damir and Rayside, Derek and Stroulia, Eleni and e Abreu, Fernando Brito and Balmas, Francoise and Di Lucca, Giuseppe A and Visaggio, Giuseppe and Gall, Harald and Sneed, Harry and Muller, Hausi and others, Program Committee Arie van Deursen, CWI, Amsterdam, The Netherlands Chris Verhoef, Free University of Amsterdam, The Netherlands Christine Hofmeister, Lehigh University, USA,
  • RaySide, Derek and KontogianniS, KoStaS, Extracting Java Library Subsets for,
  • Rayside, Derek and Jackson, Daniel, Analysis of a Radiation Therapy Control System,
  • Rayside, Derek and Mendel, Lucy, Object Ownership Profiling,
  • Rayside, Derek and Ernst, Michael D, Applying Static Analysis to the Understanding of Object-Oriented Programs,
  • Khan, Asif and Rayside, Derek and Ganesh, Vijay, Synthesis of Microfluidics Chips using SMT Solvers,
  • Rayside, Derek and Mendel, Lucy and Jackson, Daniel, Research Abstracts-2007,
  • Lutellier, Thibaud and Chollak, Devin and Garcia, Joshua and Tan, Lin and Rayside, Derek and Medvidovic, Nenad and Kroeger, Robert, Comparing software architecture recovery techniques using accurate dependencies, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, January 2015, 69 - 78
  • Montaghami, Vajih and Rayside, Derek, Pattern-based debugging of declarative models, Model Driven Engineering Languages and Systems (MODELS), 2015 ACM/IEEE 18th International Conference on, January 2015, 322 - 327
  • Liao, Yangdong and Na, Ru-Xin and Rayside, Derek, Accurate ECG R-peak detection for telemedicine, Humanitarian Technology Conference-(IHTC), 2014 IEEE Canada International, January 2014, 1 - 5
  • Zulkoski, Ed and Kleynhans, Chris and Yee, Ming-Ho and Rayside, Derek and Czarnecki, Krzysztof, Optimizing alloy for multi-objective software product line configuration, International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z, January 2014, 328 - 333
  • Montaghami, Vajih and Rayside, Derek, Staged evaluation of partial instances in a relational model finder, International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z, January 2014, 318 - 323
  • Olaechea, Rafael and Rayside, Derek and Guo, Jianmei and Czarnecki, Krzysztof, Comparison of exact and approximate multi-objective optimization for software product lines, Proceedings of the 18th International Software Product Line Conference-Volume 1, January 2014, 92 - 101
  • Guo, Jianmei and Zulkoski, Edward and Olaechea, Rafael and Rayside, Derek and Czarnecki, Krzysztof and Apel, Sven and Atlee, Joanne M, Scaling exact multi-objective combinatorial optimization by parallelization, Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, January 2014, 409 - 420
  • Rayside, Derek, A compiler project with learning progressions, Companion Proceedings of the 36th International Conference on Software Engineering, January 2014, 392 - 399
  • Ibrahim, A and Rayside, Derek and Kashef, R, Cooperative based software clustering on dependency graphs, Electrical and Computer Engineering (CCECE), 2014 IEEE 27th Canadian Conference on, January 2014, 1 - 6
  • {l} and Diskin, Zinovy and Wąsowski, Andrzej and Rayside, Derek, Example-driven modeling: model= abstractions+ examples, Proceedings of the 2013 International Conference on Software Engineering, January 2013, 1273 - 1276
  • {l} and Rayside, Derek and Czarnecki, Krzysztof, Visualization and exploration of optimal variants in product line engineering, Proceedings of the 17th International Software Product Line Conference, January 2013, 111 - 115
  • Montaghami, Vajih and Rayside, Derek, Extending Alloy with partial instances, International Conference on Abstract State Machines, Alloy, B, VDM, and Z, January 2012, 122 - 135
  • Olaechea, Rafael and Stewart, Steven and Czarnecki, Krzysztof and Rayside, Derek, Modelling and multi-objective optimization of quality attributes in variability-rich software, Proceedings of the Fourth International Workshop on Nonfunctional System Properties in Domain Specific Modeling Languages, January 2012
  • Rayside, Derek and Montaghami, Vajihollah and Leung, Francesca and Yuen, Albert and Xu, Kevin and Jackson, Daniel, Synthesizing iterators from abstraction functions, ACM SIGPLAN Notices, January 2012, 31 - 40
  • Dietrich, David and Shaker, Pourya and Atlee, Joanne M and Rayside, Derek and Gorzny, Jan, Feature interaction analysis of the feature-oriented requirements-modelling language using Alloy, Proceedings of the Workshop on Model-Driven Engineering, Verification and Validation, January 2012, 17 - 22
  • Milicevic, Aleksandar and Rayside, Derek and Yessenov, Kuat and Jackson, Daniel, Unifying execution of imperative and declarative code, Proceedings of the 33rd International Conference on Software Engineering, January 2011, 511 - 520
  • Rayside, Derek and Benjamin, Zev and Singh, Rishabh and Near, Joseph P and Milicevic, Aleksandar and Jackson, Daniel, Equality and hashing for (almost) free: Generating implementations from abstraction functions, Proceedings of the 31st International Conference on Software Engineering, January 2009, 342 - 352
  • Rayside, Derek and Milicevic, Aleksandar and Yessenov, Kuat and Dennis, Greg and Jackson, Daniel, Agile specifications, Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, January 2009, 999 - 1006
  • Rayside, Derek and Estler, H and others, A spreadsheet-like user interface for combinatorial multi-objective optimization, Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research, January 2009, 58 - 69
  • Rayside, Derek and Mendel, Lucy, Object ownership profiling: a technique for finding and fixing memory leaks, Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, January 2007, 194 - 203
  • Rayside, Derek and Mendel, Lucy and Jackson, Daniel, A dynamic analysis for revealing object ownership and sharing, Proceedings of the 2006 international workshop on Dynamic systems analysis, January 2006, 57 - 64
  • Rayside, Derek and Mendel, Lucy and Seater, Robert and Jackson, Daniel, An analysis and visualization for revealing object sharing, Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange, January 2005, 11 - 15
  • Dennis, Greg and Seater, Robert and Rayside, Derek and Jackson, Daniel, Automating commutativity analysis at the design level, ACM SIGSOFT Software Engineering Notes, January 2004, 165 - 174
  • Rayside, Derek and Litoiu, Marin and Storey, Margaret-anne and Lintern, Robert, Visualizing Flow Diagrams in Websphere Studio Using SHriMP Views (Visualizing Flow Diagrams), Journal of Research and Innovation, January 2003
  • Storey, Margaret-Anne and Best, Casey and Michaud, Jeff and Rayside, Derek and Litoiu, Marin and Musen, Mark, SHriMP views: an interactive environment for information visualization and navigation, CHI'02 Extended Abstracts on Human Factors in Computing Systems, January 2002, 520 - 521
  • Rayside, Derek and Kontogiannis, Kostas, A generic worklist algorithm for graph reachability problems in program analysis, Software Maintenance and Reengineering, 2002. Proceedings. Sixth European Conference on, January 2002, 67 - 76
  • Rayside, Derek and Kontogiannis, Kostas, On the syllogistic structure of object-oriented programming, Proceedings of the 23rd international conference on Software engineering, January 2001, 113 - 122
  • Rayside, Derek and Kontogiannis, Kostas, A generic worklist algorithm for graph reachability problems in program analysis, Proceedings of the Business and Industry Simulation Symposium. Washington DC [SCS, January 2001
  • Rayside, Derek and Litoiu, Martin and Storey, Margaret-Anne and Best, Casey, Integrating SHriMP with the IBM websphere studio workbench, Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research, January 2001
  • Rayside, Derek and Reuss, Steve and Hedges, Erik and Kontogiannis, Kostas, The effect of call graph construction algorithms for object-oriented programs on automatic clustering, Program Comprehension, 2000. Proceedings. IWPC 2000. 8th International Workshop on, January 2000, 191 - 200
  • Driesen, Karel and Lam, Patrick and Miecknikowski, Jerome and Qian, Feng and Rayside, Derek, On the predictability of invoke targets in Java byte code, 2nd Annual Workshop on Hardware Support for Objects and Microarchitectures for Java, January 2000, 6 - 10
  • Driesen, Karel and Lam, Patrick and Miecznikowski, Jerome and Qian, Feng and Rayside, Derek, On the predictability of Java byte codes (abstract)(poster session), Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum), January 2000, 127 - 128
  • Rayside, Derek and Campbell, Gerard T, Aristotle and object-oriented programming: why modern students need traditional logic, ACM SIGCSE Bulletin, January 2000, 237 - 244
  • Rayside, Derek and Campbell, Gerard T, An Aristotelian understanding of object-oriented programming, ACM SIGPLAN Notices, January 2000, 337 - 353
  • Rayside, Derek and Campbell, G, An aristotelian introduction to classification, ECOOP’2000 Workshop on Objects and Classification, a natural convergence, M. Huchard, R. Godin, and A. Napoli, Eds. RR LIRMM, January 2000
  • Rayside, Derek and Mamas, Evan and Hons, Erik, Compact java binaries for embedded systems, Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research, January 1999
  • Rayside, Derek and Kontogiannis, Kostas, Extracting Java library subsets for deployment on embedded systems, Software Maintenance and Reengineering, 1999. Proceedings of the Third European Conference on, January 1999, 102 - 110
  • Rayside, Derek and Kerr, Scott and Kontogiannis, Kostas, Change and adaptive maintenance detection in Java software systems, Reverse Engineering, 1998. Proceedings. Fifth Working Conference on, January 1998, 10 - 19
  • Dietrich, David and Shaker, Pourya and Gorzny, Jan and Atlee, Joanne and Rayside, Derek, Translating the Feature-Oriented Requirements Modelling Language to Alloy, January 2012,
  • Lafreniere, Ben and Bunt, Andrea and Lount, Matthew and Terry, Michael and Cowan, Donald and Alencar, Paulo and McGarry, Fred and Lucena, Carlos and de Nunes, Ingrid Oliveira and Miles, Simon and others, Looks cool, I’ll try this later!”: Understanding the faces and uses of online tutorials, January
  • Litoiu, Marin and Storey, Margaret and Rayside, Derek, System and method for visualizing process flows, January
  • Rayside, Derek F, Automating abstraction functions, January
  • Rayside, Derek, “Points-to analysis, January
  • Driesen, Karel and Lam, Patrick and Miecznikowski, Jerome and Qian, Feng and Rayside, Derek, On the Predictability of Java Byte Codes, January