- Needs to call
STARTS
to find affected cases.- Needs to output to file just like
STARTS
. - In addition, store that information in memory, as a mapping.
- Needs to output to file just like
- Using information for affected classes, find affected specs to instrument for each affected class.
- A mapping from type to spec should be maintained.
- Given affected classes, turn off unaffected specs for these with JavaMOP Agent.
- Monitor affected ones only.
- How to use STARTS API
-
emop:impacted
(our impacted acts like the STARTS) (internally invoke STARTS) - Use STARTS as a Dependency
- Extend STARTS
- Store impacted classes in memory and in file
- Get AspectJ to print mapping from affected types to specs
- We want a mapping from affected specs to affected classes
- First step is to parse the string to mapping
- Use AspectJ API to obtain the mapping directly
- Need these Mojos
- RPS
- VMS
- RPP
- Need these data (50 SHAs each project for 50 projects)
- RPS
- VMS
- RPP
- Power set of the three
- Combine RTS with three techniques
- Inspect these for data
- Are they correct?
- Do they look good?
- Things not available in 2019 (novelty)
- Maybe MMMP?
- New strategies for RPP
- Different methods of doing diff for VMS
- Set up continuous integration, eventually using it in upstream
- Finish writing integration test
- Add checkstyle (use STARTS config)
- Figure out how to get verbose log with Surefire > 2.16
Instrument specs in all classes to specs in a subset (affected) for both two and all What is Java Agent? It's something attached to the JVM Start with bash script, then convert to Java
- Read AspectJ compile-time weaving
- Given a bunch of .aj files, try weave it with two & all
- Change commons-fileupload
- See affected classes
- Run ajc with two & all for affected files