Skip to content. Skip to navigation
McGill Home SOCS Home
Personal tools
You are here: Home People Profile

Clark Verbrugge


photo

Email: clump@cs.mcgill.ca
Home Page: http://www.sable.mcgill.ca/~clump
Office: MC230
Phone: +1-514-398-2411
Fax: +1-514-398-3883
Address:
The same as everyone else here, but with my name at the top.

Research Description

Professor Verbrugge's main research interests include compiler optimizations, concurrency, and analysis of modern computer games.

Work on compiler optimizations is currently focussed on the Java language, and includes runtime optimizations, program analysis, information flow, and concurrency.

Computer game research includes approaches to formalize aspects of computer games, such as through narrative analysis, and general game algorithm and design issues.

Research Interests

Research Labs

Teaching

Selected Publications (click link in front of each publication to see bibtex in ASCII format)

[1] Tremblay, J., and Verbrugge, C. Adaptive companions in FPS games. In FDG'13: Proceedings of the 8th International Conference on Foundations of Digital Games, May 2013, pp. 229-236. Best Paper Award winner.
[ .html | .pdf ]
[2] Dragert, C., Kienzle, J., and Verbrugge, C. Reusable components for artificial intelligence in computer games. In Proceedings of the 2nd International Workshop on Games and Software Engineering (GAS 2012). IEEE, June 2012, pp. 35-41.
[ http | .pdf ]
[3] Dragert, C., Kienzle, J., and Verbrugge, C. Statechart-based AI in practice. In Artificial Intelligence and Interactive Digital Entertainment Conference, October 2012.
[ http | .pdf ]
[4] Cao, Z., and Verbrugge, C. Language and architecture independent software thread-level speculation. In Kasahara, H., and Kimura, K., editors, Proceedings of the 25th International Workshop on Languages and Compilers for Parallel Computing (LCPC'12). Springer, 2012, v. 7760 of Lecture Notes in Computer Science, Lecture Notes in Computer Science, pp. 270-272.
[ http ]
[5] Dragert, C., Kienzle, J., and Verbrugge, C. Toward high-level reuse of statechart-based AI in computer games. In Proceedings of the 1st International Workshop on Games and Software Engineering (GAS 2011), May 2011, pp. 25-28.
[ http | .pdf ]
[6] Verbrugge, C., Kielstra, A., and Zhang, Y. There is nothing wrong with out-of-thin-air: Compiler optimization and memory models. In Proceedings of the 2011 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, June 2011, pp. 1-6.
[ http | .pdf ]
[7] Ashton, M., and Verbrugge, C. Measuring cooperative gameplay pacing in World of Warcraft. In Proceedings of the 6th International Conference on Foundations of Digital Games, June 2011, pp. 77-83.
[ http | .pdf ]
[8] Verbrugge, C., and Kruszewski, P. Guest editors' introduction: Engineering fun. IEEE Software, September 2011, v. 28, n. 5, pp. 27-29.
[ http ]
[9] Verbrugge, C., Kielstra, A., and Pickett, C. J. Abstract analysis of method-level speculation. Technical Report SABLE-TR-2011-3, Sable Research Group, School of Computer Science, McGill University, September 2011.
[ .pdf ]
[10] Dragert, C., Kienzle, J., and Verbrugge, C. Reusable components for artificial intelligence in computer games. Technical Report SOCS-TR-2011.3, School of Computer Science, McGill University, July 2011.
[ http ]
[11] Dragert, C., Kienzle, J., Vangheluwe, H., and Verbrugge, C. Generating extras: Procedural AI with statecharts. Technical Report SOCS-TR-2011.1, School of Computer Science, McGill University, March 2011.
[ http ]
[12] Verbrugge, C., and Zhang, P. Analyzing modern computer game narratives. Technical Report GR@M-TR-2010-1, McGill University, March 2010.
[ http | .pdf ]
[13] Verbrugge, C., and Zhang, P. Analyzing computer game narratives. In Entertainment Computing - ICEC 2010, 9th International Conference. Springer-Verlag, September 2010, n. 6243 in LNCS, pp. 224-231.
[ http | .pdf ]
[14] Chevalier-Boisvert, M., Hendren, L., and Verbrugge, C. Optimizing MATLAB through just-in-time specialization. In Compiler Construction: 19th International Conference. Springer-Verlag, March 2010, n. 6011 in LNCS, pp. 46-65.
[ http | .pdf ]
[15] Ching, T., Chen, L., and Verbrugge, C. A protocol for distributed collision detection. In The 9th Annual Workshop on Network and Systems Support for Games (NetGames 2010), November 2010, pp. 1-6.
[ http | .pdf ]
[16] Pominville, P., Qian, F., Vallée-Rai, R., Hendren, L., and Verbrugge, C. A framework for optimizing Java using attributes. In Special Edition of the Proceedings of CASCON for High-Impact papers for the 20th Anniversary of CASCON. IBM, November 2010. Republication of a 2000 article as part of a selection of High Impactpapers previously published during the last 2 decades of CASCON.
[ .ps ]
[17] Kienzle, J., Verbrugge, C., Kemme, B., Denault, A., , and Hawker, M. Mammoth: A massively multiplayer game research framework. In Fourth International Conference on the Foundations of Digital Games (FDG'09), April 2009, pp. 1-8.
[18] Pickett, C. J., Verbrugge, C., and Kielstra, A. Understanding method level speculation. Technical Report Sable Technical Repo, McGill University, September 2009.
[ .pdf ]
[19] Pickett, C. J., Verbrugge, C., and Kielstra, A. Adaptive software return value prediction. Technical Report Sable Technical Repo, McGill University, June 2009.
[ .pdf ]
[20] Prokopski, G. B., and Verbrugge, C. Compiler-guaranteed safety in code-copying virtual machines. In Compiler Construction: 17th International Conference (CC 2008), April 2008, pp. 163-177.
[ http | .pdf ]
[21] Gu, D., and Verbrugge, C. Phase-based adaptive recompilation in a JVM. In CGO '08: Proceedings of the sixth annual IEEE/ACM international symposium on code generation and optimization, April 2008, pp. 24-34.
[ .pdf ]
[22] Rudzicz, N., and Verbrugge, C. An iterated subdivision algorithm for procedural road plan generation. In 4th Annual North American Conference on intelligent games and simulation (GameOn'NA 2008), August 2008, pp. 40-47.
[ .pdf ]
[23] Prokopski, G. B., and Verbrugge, C. Analyzing the performance of code-copying virtual machines. In Proceedings of the ACM SIGPLAN 2008 Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '08), October 2008, v. 43, n. 10, pp. 403-422.
[ http ]
[24] Goodman, J., and Verbrugge, C. A peer auditing scheme for cheat detection in MMOGs. In NetGames 2008: 7th Workshop on Network & System Support for Games, October 2008, pp. 1-6.
[ .pdf ]
[25] Pickett, C. J., Verbrugge, C., and Kielstra, A. Memory abstractions for speculative multithreading. Technical Report Sable TR 2008-3, September 2008.
[ .pdf ]
[26] Chevalier-Boisvert, M., and Verbrugge, C. A stochastic approach to instruction cache optimization. Technical Report Sable TR 2008-4, December 2008.
[ .pdf ]
[27] Denault, A., Kienzle, J., Dionne, C., and Verbrugge, C. Object-oriented network middleware for massively multiplayer online games. Technical Report SOCS-TR-2008.5, December 2008.
[28] Xu, H., Pickett, C. J., and Verbrugge, C. Dynamic purity analysis for Java programs. In PASTE'07: Proceedings of the 7th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, June 2007, pp. 75-82.
[ .pdf ]
[29] Halpert, R., Pickett, C. J., and Verbrugge, C. Component-based lock allocation. In PACT'07: Proceedings of the 16th International Conference on Parallel Architectures and Compilation Techniques, September 2007, pp. 353-364.
[ .pdf ]
[30] Prokopski, G. B., and Verbrugge, C. Towards GCC as a compiler for multiple VMs. In Proceedings of the GCC Developers' Summit, July 2007, pp. 117-129.
[31] Pickett, C. J., and Verbrugge, C. libspmt: A library for speculative multithreading. Technical Report SABLE-TR-2007-1, Sable Research Group, School of Computer Science, McGill University, March 2007.
[ .pdf ]
[32] Gu, D., and Verbrugge, C. Using hardware data to detect repetitive program behavior. Technical Report SABLE-TR-2007-2, Sable Research Group, School of Computer Science, McGill University, March 2007.
[ .pdf ]
[33] Halpert, R. L., Pickett, C. J. F., and Verbrugge, C. Component-based lock allocation. Technical Report SABLE-TR-2007-3, Sable Research Group, School of Computer Science, McGill University, May 2007.
[ .pdf ]
[34] Gu, D., and Verbrugge, C. Phase-based adaptive recompilation in a JVM. Technical Report SABLE-TR-2007-4, Sable Research Group, School of Computer Science, McGill University, May 2007.
[ .pdf ]
[35] Prokopski, G. B., and Verbrugge, C. Compiler-guaranteed safety in code-copying VMs. Technical Report SABLE-TR-2007-7, Sable Research Group, School of Computer Science, McGill University, September 2007.
[ .pdf ]
[36] Gu, D., Verbrugge, C., and Gagnon, E. M. Relative factors in performance analysis of Java virtual machines. In VEE '06: Proceedings of the second international conference on Virtual execution environments. ACM Press, June 2006, pp. 111-121.
[ http | .pdf ]
[37] Pheng, S., and Verbrugge, C. Dynamic data structure analysis for Java programs. In 14th IEEE International Conference on Program Comprehension (ICPC'06). IEEE Computer Society, June 2006, pp. 191-201.
[ http | .pdf ]
[38] Lanctot, M., Sun, N. N. M., and Verbrugge, C. Path-finding for large scale multiplayer computer games. In Proceedings of the 2nd Annual North American Game-On Conference (GameOn'NA 2006). Eurosis, September 2006, pp. 26-33.
[ .pdf ]
[39] Boulanger, J.-S., Kienzle, J., and Verbrugge, C. Comparing interest management algorithms for massively multiplayer games. In NetGames 2006: 5th Workshop on Network & System Support for Games, October 2006, pp. 1-12.
[ .pdf ]
[40] Martineau, F., and Verbrugge, C. Compiling and optimizing a high level game language, June 2006. Technical Report.
[ .pdf ]
[41] Gu, D., and Verbrugge, C. A survey of phase analysis: Techniques, evaluation and applications, March 2006. Technical Report.
[ .pdf ]
[42] Pickett, C. J., and Verbrugge, C. SableSpMT: a software framework for analysing speculative multithreading in Java. In Proceedings of the 6th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'05). ACM Press, September 2005, pp. 59-66. year of publication is 2006.
[ http | .pdf ]
[43] Pickett, C. J. F., and Verbrugge, C. Software thread level speculation for the Java language and virtual machine environment. In Proceedings of the 18th International Workshop on Languages and Compilers for Parallel Computing (LCPC'05). Springer Verlag, October 2005, n. 4382 in LNCS, pp. 304-318.
[ .pdf ]

Last Update:   2013/08/29 21:52:36.097 GMT-4