2024
Decompose Graphics to Compose Programs in Python with PyTamaro.
Proceedings of the 55th ACM Technical Symposium on Computer Science Education, 2024
Using Notional Machines to Automatically Assess Students' Comprehension of Their Own Code.
Proceedings of the 55th ACM Technical Symposium on Computer Science Education, 2024
Assessing the Understanding of Expressions: A Qualitative Study of Notional-Machine-Based Exam Questions.
Proceedings of the 24th Koli Calling International Conference on Computing Education Research, 2024
2023
Teaching Programming with Graphics: Pitfalls and a Solution.
Proceedings of the 2023 ACM SIGPLAN International Symposium on SPLASH-E, 2023
2022
ICER 2022 call for participation.
ACM SIGCSE Bull., 2022
Expressions in Java: Essential, Prevalent, Neglected?
Proceedings of the 2022 ACM SIGPLAN International Symposium on SPLASH-E, 2022
2021
Wrong Answers for Wrong Reasons: The Risks of Ad Hoc Instruments.
Proceedings of the Koli Calling '21: 21st Koli Calling International Conference on Computing Education Research, Joensuu, Finland, November 18, 2021
A Curated Inventory of Programming Language Misconceptions.
Proceedings of the ITiCSE '21: Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V.1, Virtual Event, Germany, June 26, 2021
Conceptual Checks for Programming Teachers.
Proceedings of the Technology-Enhanced Learning for a Free, Safe, and Sustainable World, 2021
2020
Notional Machines in Computing Education: The Education of Attention.
,
,
,
,
,
,
,
,
,
,
,
Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education, 2020
Capturing and Characterising Notional Machines.
,
,
,
,
,
,
,
,
,
,
,
Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education, 2020
Analyzing system performance with probabilistic performance annotations.
Proceedings of the EuroSys '20: Fifteenth EuroSys Conference 2020, 2020
2019
Casting about in the dark: an empirical study of cast operations in Java programs.
Proc. ACM Program. Lang., 2019
Experiences in bridging from functional to object-oriented programming.
Proceedings of the SPLASH-E '19, 2019
Impact of Explicit Failure and Success-driven Preparatory Activities on Learning.
Proceedings of the 41th Annual Meeting of the Cognitive Science Society, 2019
2017
If you have parents, you can learn recursion.
Bull. EATCS, 2017
Concept-Driven Generation of Intuitive Explanations of Program Execution for a Visual Tutor.
Proceedings of the IEEE Working Conference on Software Visualization, 2017
The entangled strands of time in software development.
Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience, 2017
How did the failure come to be?
Proceedings of the 2nd ACM SIGPLAN International Workshop on Comprehension of Complex Systems, 2017
The program is the system: introduction to programming without abstraction.
Proceedings of the 17th Koli Calling Conference on Computing Education Research, 2017
Metacognitive calibration when learning to program.
Proceedings of the 17th Koli Calling Conference on Computing Education Research, 2017
Language-independent information flow tracking engine for program comprehension tools.
Proceedings of the 25th International Conference on Program Comprehension, 2017
Perphecy: Performance Regression Test Selection Made Simple but Effective.
Proceedings of the 2017 IEEE International Conference on Software Testing, 2017
Identifying Misconceptions with Active Recall in a Blended Learning System.
Proceedings of the Data Driven Approaches in Digital Education, 2017
2016
The Truth, The Whole Truth, and Nothing But the Truth: A Pragmatic Guide to Assessing Empirical Evaluations.
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
ACM Trans. Program. Lang. Syst., 2016
Learn to Program? Program to Learn!
Bull. EATCS, 2016
Assessing Problem-Solving Process At Scale.
Proceedings of the Third ACM Conference on Learning @ Scale, 2016
InfectoMeter: A tool that helps to place bug fixes.
Proceedings of the 24th IEEE International Conference on Program Comprehension, 2016
2015
Vestige: A visualization framework for engineering geometry-related software.
Proceedings of the 3rd IEEE Working Conference on Software Visualization, 2015
BLAST: Bytecode-Level Analysis on Sliced Traces.
Proceedings of the Principles and Practices of Programming on The Java Platform, 2015
Use at your own risk: the Java unsafe API in the wild.
Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, 2015
Infection size as a measure of bug severity.
Proceedings of the 13th International Workshop on Dynamic Analysis, 2015
SQL for deep dynamic analysis?
Proceedings of the 13th International Workshop on Dynamic Analysis, 2015
CLOP: a multi-stage compiler to seamlessly embed heterogeneous code.
Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, 2015
2014
JNIF: Java native instrumentation framework.
Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform Virtual Machines, 2014
Proceedings of the Working Group Reports of the 2014 on Innovation & Technology in Computer Science Education Conference, 2014
2013
Teaching Java programming with the Informa clicker system.
Sci. Comput. Program., 2013
Jikes RDB: a debugger for the Jikes RVM.
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, 2013
ShadowData: shadowing heap objects in Java.
Proceedings of the ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, 2013
Why you should care about quantile regression.
Proceedings of the Architectural Support for Programming Languages and Operating Systems, 2013
2012
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2012
Is essence a measure of maintainability?
Proceedings of the First International Workshop on User Evaluation for Software Engineering Researchers, 2012
2011
Automated GUI performance testing.
Softw. Qual. J., 2011
TraceAnalyzer: a system for processing performance traces.
Softw. Pract. Exp., 2011
Listener latency profiling: Measuring the perceptible performance of interactive Java applications.
Sci. Comput. Program., 2011
Catch me if you can: performance bug detection in the wild.
Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2011
Vision Paper: The Essence of Structural Models.
Proceedings of the Model Driven Engineering Languages and Systems, 2011
The Beauty and the Beast: Separating Design from Algorithm.
Proceedings of the ECOOP 2011 - Object-Oriented Programming, 2011
2010
Temporal vertical profiling.
Softw. Pract. Exp., 2010
The Effect of Omitted-Variable Bias on the Evaluation of Compiler Optimizations.
Computer, 2010
Trevis: a context tree visualization & analysis framework and its use for classifying performance failure reports.
Proceedings of the ACM 2010 Symposium on Software Visualization, 2010
Evaluating the accuracy of Java profilers.
Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation, 2010
Workshop on experimental evaluation of software and systems in computer science (Evaluate 2010).
Proceedings of the Companion to the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2010
Characterizing the design and performance of interactive java applications.
Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software, 2010
LagAlyzer: A latency profile analysis and visualization tool.
Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software, 2010
Performance Testing of GUI Applications.
Proceedings of the Third International Conference on Software Testing, 2010
Automating performance testing of interactive Java applications.
Proceedings of the 5th Workshop on Automation of Software Test, 2010
2009
Solve & evaluate with informa: a Java-based classroom response system for teaching Java.
Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, 2009
Accuracy of performance counter measurements.
Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software, 2009
Producing wrong data without doing anything obviously wrong!
Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, 2009
2008
Measuring the performance of interactive applications with listener latency profiling.
Proceedings of the 6th International Symposium on Principles and Practice of Programming in Java, 2008
The JavaFest: a collaborative learning technique for Java programming courses.
Proceedings of the 6th International Symposium on Principles and Practice of Programming in Java, 2008
We have it easy, but do we have it right?
Proceedings of the 22nd IEEE International Symposium on Parallel and Distributed Processing, 2008
08441 Final Report - Emerging Uses and Paradigms for Dynamic Binary Translation.
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
Proceedings of the Emerging Uses and Paradigms for Dynamic Binary Translation, 26.10., 2008
Informa: An Extensible Framework for Group Response Systems.
Proceedings of the Collaborative Computing: Networking, 2008
2007
The potential of speculative class-loading.
Proceedings of the 5th International Symposium on Principles and Practice of Programming in Java, 2007
Time Interpolation: So Many Metrics, So Few Registers.
Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-40 2007), 2007
Understanding Measurement Perturbation in Trace-based Data.
Proceedings of the 21th International Parallel and Distributed Processing Symposium (IPDPS 2007), 2007
2006
Aligning traces for performance evaluation.
Proceedings of the 20th International Parallel and Distributed Processing Symposium (IPDPS 2006), 2006
Demonstration: On-Line Visualization and Analysis of Real-Time Systems with TuningFork.
Proceedings of the Compiler Construction, 15th International Conference, 2006
2005
The Need for a Whole-System View of Performance.
Stud. Inform. Univ., 2005
Automating vertical profiling.
Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2005
High-level real-time programming in Java.
Proceedings of the EMSOFT 2005, 2005
2004
Vertical profiling: understanding the behavior of object-priented applications.
Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2004
Performance explorer: understanding java application behavior.
Proceedings of the Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2004
Using Hardware Performance Monitors to Understand the Behavior of Java Applications.
Proceedings of the 3rd Virtual Machine Research and Technology Symposium, 2004
Low-overhead memory leak detection using adaptive statistical profiling.
Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems, 2004
2002
Static Load Classification for Improving the Value Predictability of Data-Cache Misses.
Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2002