@Test
	public void testOverlayReferences_AARCH64() throws Exception {

		builder = new ProgramBuilder("thunk", ProgramBuilder._AARCH64);

		//  Copy and use PasteCopiedListingsBytesScript
		//	00400000 fd 7b bf a9    stp        x29,x30,[sp, #local_10]!
		//	00400004 fd 03 00 91    mov        x29,sp
		//	00400008 60 00 00 d0    adrp       x0,0x40e000
		//	0040000c 01 00 24 91    add        x1,x0,#0x900
		//	00400010 60 00 00 d0    adrp       x0,0x40e000
		//	00400014 00 40 24 91    add        x0=>data:DWORD_0040e910,x0,#0x910
		//	00400018 e2 03 01 aa    mov        x2=>data:DWORD_0040e900,x1
		//	0040001c e1 15 80 52    mov        w1,#0xaf
		//	00400020 05 00 00 94    bl         FUN_00400034
		//	00400024 21 00 80 d2    mov        x1,#0x1
		//	00400028 40 00 80 d2    mov        x0,#0x2
		//	0040002c 02 00 00 94    bl         FUN_00400034
		//	00400030 c0 03 5f d6    ret
		//	
		//	00400034 c0 03 5f d6    ret
		//	00400038 00 00 00 00    ddw        0h
		//	0040003c 00 00 00 00    ddw        0h
		//	
		//	0040e900 53 74 72 69    ddw        53747269h
		//	0040e904 6e 67 50 61    ddw        6E675061h
		//	0040e908 72 61 6d 31    ddw        72616D31h
		//	0040e90c 00 00 00 00    ddw        0h
		//	
		//	0040e910 53 74 72 69    ddw        53747269h
		//	0040e914 6e 67 50 61    ddw        6E675061h
		//	0040e918 72 61 6d 32    ddw        72616D32h
		//	0040e91c 00 00 00 00    ddw        0h

		String ovBlockName = "textov";

		MemoryBlock textBlock = builder.createOverlayMemory(ovBlockName, "0x400000", 0x10000);

		builder.setBytes(textBlock.getStart().toString(),
			"fd 7b bf a9 fd 03 00 91 60 00 00 d0 01 00 24 91 60 00 00 d0 00 40 24 91 e2 03 01 aa e1 15 80 52 05 00 00 94 21 00 80 d2 40 00 80 d2 02 00 00 94 c0 03 5f d6 c0 03 5f d6");

		builder.setBytes(ovBlockName + ":" + "0x0040e900",
			"53 74 72 69 6e 67 50 61 72 61 6d 31 00 00 00 00 53 74 72 69 6e 67 50 61 72 61 6d 32 00 00 00 00");

		builder.disassemble(textBlock.getStart().toString(), 16 * 4);

		analyzer = new ConstantPropagationAnalyzer();

		program = builder.getProgram();
		program.startTransaction("Test");
		Address codeStart = addr(ovBlockName + ":" + "0x00400000");
		Listing listing = program.getListing();
		assertNotNull("Bad instruction disassembly", listing.getInstructionAt(codeStart));

		AddressSet addressSet = new AddressSet(codeStart, codeStart.add(16 * 4));
		analyze(addressSet);

		Instruction instr;
		instr = listing.getInstructionAt(addr(ovBlockName + ":" + "0x00400000").add(20));
		assertNoOperandReference(1, instr);
		assertOperandReferenceTo(0, instr, addr(ovBlockName + ":" + "0x0040e910"));

		instr = listing.getInstructionAt(addr(ovBlockName + ":" + "0x00400000").add(24));
		assertNoOperandReference(1, instr);
		assertOperandReferenceTo(0, instr, addr(ovBlockName + ":" + "0x0040e900"));
	}
quick and dirty test of the ProgramContextImpl just to see
if the values are being set for specified address range.
The ProgramContextPlugin will be a more complete test
program, with a gui interface to specify the values and
select/highlight an address range.
Ghidra/Features/Base/src/test/java/ghidra/program/util/ConstantPropogationReferenceTest.java