Mining Temporal Specifications from Object Usage

作者: Andrzej Wasylkowski , Andreas Zeller

DOI: 10.1109/ASE.2009.30

关键词:

摘要: A caller must satisfy the callee's precondition--that is, reach a state in which callee may be called. Preconditions describe that needs to reached, but not how it. We combine static analysis with model checking mine Computation Tree Logic (CTL) formulas operations parameter goes through: "In parseProperties(String xml), xml normally stems from getProperties()." Such operational preconditions can learned program code, and code checked for their violations. Applied AspectJ, our Tikanga prototype found 189 violations of preconditions, uncovering 9 unique defects 36 smells---with 44% true positives 50 top-ranked

参考文章(50)
Hao Zhong, Tao Xie, Lu Zhang, Jian Pei, Hong Mei, MAPO: Mining and Recommending API Usage Patterns european conference on object oriented programming. pp. 318- 343 ,(2009) , 10.1007/978-3-642-03013-0_15
William Chan, Temporal-logic Queries computer aided verification. pp. 450- 463 ,(2000) , 10.1007/10722167_34
Cormac Flanagan, K. Rustan M. Leino, Houdini, an Annotation Assistant for ESC/Java formal methods. pp. 500- 517 ,(2001) , 10.1007/3-540-45251-6_29
Edmund M. Clarke, E. Allen Emerson, DESIGN AND SYNTHESIS OF SYNCHRONIZATION SKELETONS USING BRANCHING TIME TEMPORAL LOGIC 25 Years of Model Checking. ,vol. 131, pp. 196- 215 ,(2008) , 10.1007/978-3-540-69850-0_12
Bernhard Ganter, Rudolf Wille, C. Franzke, Formal Concept Analysis: Mathematical Foundations ,(1998)
Bengt Jonsson, Ahmed Hussain Khan, Joachim Parrow, Implementing a Model Checking Algorithm by Adapting Existing Automated Tools computer aided verification. ,vol. 407, pp. 179- 188 ,(1989) , 10.1007/3-540-52148-8_15
Andreas Zeller, Why Programs Fail: A Guide to Systematic Debugging Morgan Kaufmann Publishers Inc.. ,(2005)
William Chan, Temporal-Locig Queries computer aided verification. pp. 450- 463 ,(2000)
Valentin Dallmeier, Christian Lindig, Andreas Zeller, Lightweight defect localization for java european conference on object oriented programming. pp. 528- 550 ,(2005) , 10.1007/11531142_23