Cyber foraging is a pervasive computing technique where small mobile devices offload resource intensive tasks to stronger computing machinery in the vicinity. One of the main challenges within cyber foraging is that it is very difficult to develop cyber foraging enabled applications. An application using cyber foraging is working with mobile, distributed and, possibly, parallel computing; fields within computer science notoriously hard for programmers to grasp. This paper presents Scavenger—a cyber foraging system supporting easy development of mobile cyber foraging applications, while still delivering efficient, mobile use of remote computing resources through the use of a custom built mobile code execution environment and a new adaptive, dual-profiling scheduler.