skip to content

Department of Computer Science and Technology

  • Professor of Computer Science

I am Professor of Computer Science in the University of Cambridge Department of Computer Science and Technology and the Hassabis Fellow in Computer Science and Director of Studies in Computer Science at Queens' College.

My current research activity focuses on programming and software engineering:

  • Programming languages and tools in the sciences (more detail)
  • Application of machine learning techniques to software development.
  • Static analysis and software development. I spent 10 months from in 2016/17 working at Google in Mountain View as a Visiting Researcher. I worked in the Java compiler team and (among other things) developed new checks for their static analysis tool Error Prone. I talked about my work at the CREST workshop on Bimodal software analysis: Slides + video.
  • Adaptive learning and personalised learning. I help manage the Isaac Physics and Isaac Computer Science projects and also the Automated Language Teaching and Assessment (ALTA) project which provide excellent sources of data and support for experiments.

I have previously worked on understanding the power consumption of smart phones, particularly Android devices (more detail), and the energy consumption and energy efficiency of computing infrastructure (more detail)

These themes are derived from my work with Andy Hopper on the Computing for the Future of the Planet project in which we sought to identify Computer Science research questions in the context of global issues such as climate change, over-population, famine and desertification. A high level summary of the research themes is given in our brochure: [a4 version], [folding version].

Teaching

I teach mostly courses on programming languages: 1A Programming in Java, 1B Further Java, 1B Prolog. Since most of my teaching involves learning a practical skill I've experimented over the years with shifting away from lectures and introduced teaching using practical classes and video lectures. It was for initiatives including this that in 2014 I was awarded the Pilkington Prize for excellence in teaching, an annual University-wide award.

Previous lecturing: I taught Programming for Mobiles (2010-2013) and Machine Learning for Programming (2018-2020) for the MPhil in Advanced Computer Science.

Publications

Conference proceedings

  • Tarlow, D., Moitra, S., Rice, A., Chen, Z., Manzagol, PA., Sutton, C. and Aftandilian, E., 2020. Learning to Fix Build Errors with Graph2Diff Neural Networks Proceedings - 2020 IEEE/ACM 42nd International Conference on Software Engineering Workshops, ICSEW 2020,
    Doi: http://doi.org/10.1145/3387940.3392181
  • Moore, R., Caines, A., Rice, A. and Buttery, P., 2019. Behavioural cloning of teachers for automatic homework selection Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), v. 11625 LNAI
    Doi: 10.1007/978-3-030-23204-7_28
  • Fekry, A., Carata, L., Pasquier, T., Rice, A. and Hopper, A., 2019. Towards seamless configuration tuning of big data analytics Proceedings - International Conference on Distributed Computing Systems, v. 2019-July
    Doi: 10.1109/ICDCS.2019.00189
  • Cummins, S., Stead, A., Jardine-Wright, L., Davies, I., Beresford, AR. and Rice, A., 2016. Investigating the use of hints in online problem solving L@S 2016 - Proceedings of the 3rd 2016 ACM Conference on Learning at Scale,
    Doi: 10.1145/2876034.2893379
  • Cummins, S., Beresford, AR., Davies, I. and Rice, A., 2016. Supporting Authentication and Scalable Data Sharing in Online Education L@S 2016 - Proceedings of the 3rd 2016 ACM Conference on Learning at Scale,
    Doi: 10.1145/2876034.2893376
  • Patrick, M., Elderfield, J., Stutt, ROJH., Rice, A. and Gilligan, CA., 2016. Software testing in a scientific research group Proceedings of the ACM Symposium on Applied Computing, v. 04-08-April-2016
    Doi: http://doi.org/10.1145/2851613.2851783
  • Gechter, F., Beresford, AR. and Rice, A., 2016. Reconstruction of battery level curves based on user data collected from a smartphone Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), v. 9883 LNAI
    Doi: 10.1007/978-3-319-44748-3_28
  • Hintze, D. and Rice, A., 2016. Picky: Efficient and Reproducible Sharing of Large Datasets using Merkle-Trees 2016 IEEE 24TH INTERNATIONAL SYMPOSIUM ON MODELING, ANALYSIS AND SIMULATION OF COMPUTER AND TELECOMMUNICATION SYSTEMS (MASCOTS),
    Doi: 10.1109/MASCOTS.2016.25
  • Wagner, DT., Thomas, DR., Beresford, AR. and Rice, A., 2015. Device analyzer: A privacy-aware platform to support research on the android ecosystem Proceedings of the 8th ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec 2015,
    Doi: 10.1145/2766498.2774992
  • Snee, J., Carata, L., Chick, ORA., Sohan, R., Faragher, RM., Rice, A. and Hopper, A., 2015. Soroban: Attributing latency in virtualized environments 7th USENIX Workshop on Hot Topics in Cloud Computing, HotCloud 2015,
  • Snee, J., Carata, L., Chick, ORA., Sohan, R., Faragher, RM., Rice, A. and Hopper, A., 2015. Soroban: Attributing latency in virtualized environments 7th USENIX Workshop on Hot Topics in Cloud Computing, HotCloud 2015,
  • Cummins, S., Davies, I., Rice, A. and Beresford, AR., 2015. Equality: A tool for free-form equation editing Proceedings - IEEE 15th International Conference on Advanced Learning Technologies: Advanced Technologies for Supporting Open Access to Formal and Informal Learning, ICALT 2015,
    Doi: 10.1109/ICALT.2015.34
  • Thomas, DR., Beresford, AR. and Rice, A., 2015. Security metrics for the Android ecosystem SPSM 2015 - Proceedings of the 5th Annual ACM CCS Workshop on Security and Privacy in Smartphones and Mobile Devices, co-located with: CCS 2015,
    Doi: 10.1145/2808117.2808118
  • Snee, J., Carata, L., Chick, ORA., Sohan, R., Faragher, RM., Rice, A. and Hopper, A., 2015. Soroban: Attributing latency in virtualized environments 7th USENIX Workshop on Hot Topics in Cloud Computing, HotCloud 2015,
  • Rice, A. and Beresford, AR., 2014. The device analyzer competition UbiComp 2014 - Adjunct Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing,
    Doi: 10.1145/2638728.2641696
  • Wagner, DT., Rice, A. and Beresford, AR., 2014. Device analyzer: Understanding smartphone usage Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICST, v. 131
    Doi: 10.1007/978-3-319-11569-6_16
  • Ding, N., Wagner, D., Chen, X., Hu, YC. and Rice, A., 2013. Characterizing and modeling the impact of wireless signal strength on smartphone battery drain Performance Evaluation Review, v. 41
    Doi: http://doi.org/10.1145/2494232.2466586
  • Sohan, RS., Akoush, SA., Rice, AC., Moore, AW. and Hopper, A., 2011. Free Lunch: Exploiting Renewable Energy For Computing
  • Rice, A. and Turner, SJ., 2011. Message from the MASCOTS 2011 program chairs IEEE International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems - Proceedings,
    Doi: http://doi.org/10.1109/MASCOTS.2011.5
  • Beresford, AR., Rice, A., Skehin, N. and Sohan, R., 2011. MockDroid: trading privacy for application functionality on smartphones In the Proceedings of the 11th Workshop on Mobile Computing Systems and Applications (HotMobile),
  • Rice, A., Hay, S. and Ryder-Cook, D., 2010. A limited-data model of building energy consumption Proceedings of the 2nd ACM Workshop on Embedded Sensing Systems for Energy-Efficiency in Building - BuildSys ’10,
    Doi: http://doi.org/10.1145/1878431.1878447
  • Vallina-Rodriguez, N., Hui, P., Crowcroft, J. and Rice, AC., 2010. Exhausting battery statistics: understanding the energy demands on mobile handsets. MobiHeld,
  • Akoush, S., Sohan, R., Rice, A., Moore, AW. and Hopper, A., 2010. Predicting the performance of virtual machine migration Proceedings - 18th Annual IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, MASCOTS 2010,
    Doi: 10.1109/MASCOTS.2010.13
  • Sohan, R., Rice, A., Moore, AW. and Mansley, K., 2010. Characterizing 10 Gbps network interface energy consumption Proceedings - Conference on Local Computer Networks, LCN,
    Doi: 10.1109/LCN.2010.5735719
  • Rice, AC. and Hay, S., 2010. Decomposing power measurements for mobile devices. PerCom,
    Doi: 10.1109/PERCOM.2010.5466991
  • Rice, AC. and Woodman, OJ., 2010. Crowd-sourcing world models with OpenRoomMap. PerCom Workshops,
    Doi: 10.1109/PERCOMW.2010.5470536
  • Hay, S. and Rice, A., 2009. The case for apportionment Proceedings of the First ACM Workshop on Embedded Sensing Systems for Energy-Efficiency in Buildings - BuildSys ’09,
    Doi: http://doi.org/10.1145/1810279.1810283
  • Hopper, A. and Rice, A., 2008. Computing for the future of the planet. Philos Trans A Math Phys Eng Sci, v. 366
    Doi: 10.1098/rsta.2008.0124
  • Hylick, A., Sohan, R., Rice, AC. and Jones, B., 2008. An Analysis of Hard Drive Energy Consumption. MASCOTS,
  • Rice, AC. and Beresford, AR., 2006. Dependability and accountability for context-aware middleware systems FOURTH ANNUAL IEEE INTERNATIONAL CONFERENCE ON PERVASIVE COMPUTING AND COMMUNICATIONS WORKSHOPS, PROCEEDINGS,
  • Rice, AC., Harle, RK. and Beresford, AR., 2006. Analysing fundamental properties of marker-based vision system designs. Pervasive Mob. Comput., v. 2
    Doi: 10.1016/j.pmcj.2006.07.006
  • Rice, AC., Beresford, AR. and Harle, RK., 2006. Cantag: An open source software toolkit for designing and deploying marker-based vision systems PERCOM 2006: FOURTH ANNUAL IEEE INTERNATIONAL CONFERENCE ON PERVASIVE COMPUTING AND COMMUNICATIONS, PROCEEDINGS,
  • Rice, AC. and Harle, RK., 2005. Evaluating lateration-based positioning algorithms for fine-grained tracking. DIALM-POMC,
  • Rice, AC., Cain, CB. and Fawcett, JK., 2005. Dependable coding of fiducial tags UBIQUITOUS COMPUTING SYSTEMS, v. 3598
  • Akoush, S., Sohan, R., Rice, A., Moore, AW. and Hopper, A., Free Lunch: Exploiting Renewable Energy For Computing
  • Danish, M., Allamanis, M., Brockschmidt, M., Rice, A. and Orchard, D., Learning units-of-measure from scientific code
  • Mesbah, A., Rice, A., Aftandilian, E., Johnston, E. and Glorioso, N., DeepDelta: Learning to Repair Compilation Errors
  • Faragher, R. and Rice, A., SwiftScan: Efficient Wi-Fi scanning for background location-based services
  • Moore, R., Caines, A., Elliott, M., Zaidi, A., Rice, A. and Buttery, P., Skills Embeddings: a Neural Approach to Multicomponent Representations of Students and Tasks
  • Carrata, L., Sohan, RS., Rice, A. and Hopper, A., IPAPI: Designing an Improved Provenance API
  • Zaidi, A., Caines, A., Davis, C., Moore, R., Buttery, P. and Rice, A., Accurate Modelling of Language Learning Tasks and Students Using Representations of Grammatical Proficiency
  • Ding, N., Wagner, D., Chen, X., Pathak, A., Hu, YC. and Rice, AC., Characterizing and modeling the impact of wireless signal strength on smartphone battery drain Proceedings of the ACM SIGMETRICS/international conference on Measurement and modeling of computer systems,
    Doi: http://doi.org/10.1145/2465529.2466586
  • Zaidi, A., Caines, A., Moore, R., Buttery, P. and Rice, A., Adaptive Forgetting Curves for Spaced Repetition Language Learning
  • Fekry, A., Carata, L., Pasquier, T., Rice, A. and Hopper, A., To Tune or Not to Tune? In Search of Optimal Configurations for Data Analytics
  • Contrastin, M., Rice, AC. and Orchard, D., Automatic reordering for dataflow safety of Datalog Proceedings of the 20th International Symposium on Principles and Practice of Declarative Programming,
    Doi: http://doi.org/10.1145/3236950.3236954
  • Fekry, A., Carata, L., Pasquier, T. and Rice, A., Accelerating the Configuration Tuning of Big Data Analytics with Similarity-aware Multitask Bayesian Optimization IEEE International Conference on Big Data,
  • Rice, AC. and Licker, N., Detecting Incorrect Build Rules ICSE '19: 41st International Conference on Software Engineering,
    Doi: 10.17863/CAM.35755
  • Journal articles

  • Orchard, D., Contrastin, M., Danish, M. and Rice, AC., 2019. Verifying spatial properties of array computations. PACMPL, v. 1
  • Rice, AC., Aftandilian, E., Jaspan, C., Johnston, E., Pradel, M. and Arroyo-Paredes, Y., 2017. Detecting Argument Selection Defects Proceedings of the ACM on Programming Languages,
    Doi: http://doi.org/10.1145/3133928
  • Orchard, D., Contrastin, M., Danish, M. and Rice, A., 2017. Verifying spatial properties of array computations Proceedings of the ACM on Programming Languages, v. 1
    Doi: 10.1145/3133899
  • Cummins, S., Beresford, AR. and Rice, A., 2016. Investigating Engagement with In-Video Quiz Questions in a Programming Course IEEE Transactions on Learning Technologies, v. 9
    Doi: 10.1109/TLT.2015.2444374
  • Contrastin, M., Danish, M., Orchard, D. and Rice, A., 2016. Lightning talk: Supporting software sustainability with lightweight specifications CEUR Workshop Proceedings, v. 1686
  • Orchard, D., Rice, A. and Oshmyan, O., 2015. Evolving Fortran types with inferred units-of-measure Journal of Computational Science, v. 9
    Doi: 10.1016/j.jocs.2015.04.018
  • Contrastin, MOJP., Orchard, DA., Rice, AC. and Danish, MR., 2015. Units-of-Measure Correctness in Fortran Programs Computing in Science and Engineering, v. 18
    Doi: http://doi.org/10.1109/MCSE.2016.17
  • Wagner, DT., Rice, A. and Beresford, AR., 2014. Device analyzer: Largescale mobile data collection Performance Evaluation Review, v. 41
    Doi: 10.1145/2627534.2627553
  • Linnap, M. and Rice, A., 2014. Managed Participatory Sensing with YouSense JOURNAL OF URBAN TECHNOLOGY, v. 21
    Doi: 10.1080/10630732.2014.888216
  • Bazilian, M., Rice, A., Rotich, J., Howells, M., DeCarolis, J., Macmillan, S., Brooks, C., Bauer, F. and Liebreich, M., 2012. Open source software and crowdsourcing for energy analysis Energy Policy,
  • Bazilian, M., Rice, A., Rotich, J., Howells, M., DeCarolis, J., Macmillan, S., Brooks, C., Bauer, F. and Liebreich, M., 2012. Open source software and crowdsourcing for energy analysis Energy Policy, v. 49
    Doi: http://doi.org/10.1016/j.enpol.2012.06.032
  • Akoush, S., Sohan, R., Roman, B., Rice, A. and Hopper, A., 2011. Activity based sector synchronisation: Efficient transfer of disk-state for WAN live migration IEEE International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems - Proceedings,
    Doi: 10.1109/MASCOTS.2011.20
  • Rice, AC. and Hay, S., 2010. Measuring mobile phone energy consumption for 802.11 wireless networking. Pervasive Mob. Comput., v. 6
    Doi: 10.1016/j.pmcj.2010.07.005
  • Hylick, A., Rice, AC., Jones, B. and Sohan, R., 2007. Hard drive power consumption uncovered. SIGMETRICS Perform. Evaluation Rev., v. 35
    Doi: 10.1145/1328690.1328714
  • Book chapters

  • Audzevich, Y., Moore, AW., Rice, A., Sohan, R., Timotheou, S., Crowcroft, J., Akoush, S., Hopper, A., Wonfor, A., Wang, H., Penty, R., White, I., Dong, T., El-Gorashi, T. and Elmirghani, J., 2012. Intelligent Energy Aware Networks
  • Datasets

  • Rice, AC. and Licker, N., Detecting Incorrect Build Rules - Artifact
  • Orchard, D., Contrastin, M., Danish, M. and Rice, AC., Research data supporting Verifying Spatial Properties of Array Computations
  • Thomas, DR., Wagner, DT., Beresford, AR. and Rice, A., Supporting data for: "Security metrics for the Android ecosystem"
  • Theses / dissertations

  • Timmons, N., Software-based approximate computing for mathematical functions
  • Fekry, A., Optimizing Data-Intensive Computing with Efficient Configuration Tuning
  • Contact Details

    Room: 
    SN31
    Email: 

    [firstname].[lastname]@cl.cam.ac.uk