Furr M, An JD, Foster JS.  2009.  Profile-guided static typing for dynamic scripting languages. ACM SIGPLAN Notices. 44(10):283-300.