Publication | Open Access
Understanding user understanding: determining correctness of generated program invariants
36
Citations
27
References
2012
Year
Unknown Venue
Software MaintenanceProgram CheckingEngineeringVerificationSoftware EngineeringIncorrect InvariantsSoftware AnalysisFormal VerificationGenerated InvariantsCorrect InvariantsTest OracleStatic CheckingRuntime VerificationComputer ScienceUser UnderstandingStatic Program AnalysisSoftware DesignAutomated ReasoningProgram AnalysisSoftware TestingFormal MethodsSymbolic ExecutionSystem Software
Recently, work has begun on automating the generation of test oracles, which are necessary to fully automate the testing process. One approach to such automation involves dynamic invariant generation which extracts invariants from program executions. To use such invariants as test oracles, however, it is necessary to distinguish correct from incorrect invariants, a process that currently requires human intervention. In this work we examine this process. In particular, we examine the ability of 30 users, across two empirical studies, to classify invariants generated from three Java programs. Our results indicate that users struggle to classify generated invariants: on average, they misclassify 9.1% to 31.7% of correct invariants and 26.1%-58.6% of incorrect invariants. These results contradict prior studies that suggest that classification by users is easy, and indicate that further work needs to be done to bridge the gap between the effectiveness of dynamic invariant generation in theory, and the ability of users to apply it in practice. Along these lines, we suggest several areas for future work.
| Year | Citations | |
|---|---|---|
Page 1
Page 1