Table of Contents Author Guidelines Submit a Manuscript
The Scientific World Journal
Volume 2013, Article ID 171647, 13 pages
http://dx.doi.org/10.1155/2013/171647
Research Article

Compositional Mining of Multiple Object API Protocols through State Abstraction

1School of Computer, National University of Defense Technology, Changsha 410073, China
2Beijing Institute of Control Engineering, Beijing 100190, China

Received 26 March 2013; Accepted 17 April 2013

Academic Editors: S. H. Rubin, S. Saini, Y. Takama, and Y. Zhu

Copyright © 2013 Ziying Dai et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Linked References

  1. R. M. Hierons, K. Bogdanov, J. P. Bowen et al., “Using formal specifications to support testing,” ACM Computing Surveys, vol. 41, no. 2, 2009. View at Google Scholar
  2. M. Das, S. Lerner, and M. Seigle, “ESP: path-sensitive program verification in polynomial time,” in Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '02), pp. 57–68, June 2002. View at Scopus
  3. T. Ball and S. K. Rajamani, “The SLAM project: debugging system software via static analysis,” in Proceedings of the 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '02), pp. 1–3, January 2002. View at Scopus
  4. W. Weimer and G. C. Necula, “Mining temporal specifications for error detection,” in Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS '05), pp. 461–476, 2005.
  5. D. Hovemeyer and W. Pugh, “Finding bugs is easy,” in Proceedings of the 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '04), pp. 132–135, October 2004. View at Publisher · View at Google Scholar · View at Scopus
  6. M. Pradel, C. Jaspan, J. Aldrich, and T. R. Gross, “Statically checking API protocol conformance with mined multi-object specifications,” in Proceedings of the International Conference on Software Engineering (ICSE '12), pp. 925–935, 2012.
  7. M. Pradel and T. R. Gross, “Leveraging test generation and specification mining for automated bug detection without false positives,” in Proceedings of the International Conference on Software Engineering (ICSE '12), pp. 288–298, 2012.
  8. D. Malayeri and J. Aldrich, “Practical exception specifications,” in Advanced Topics in Exception Handling Techniques, C. Dony, J. L. . Knudsen, Al. Romanovsky, and A. Tripathi, Eds., pp. 200–220, Springer, Berlin, Germany, 2006. View at Google Scholar
  9. G. Ammons, R. Bodik, and J. R. Larus, “Mining specifications,” in Proceedings of the 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '02), pp. 4–16, 2002.
  10. M. Pradel and T. R. Gross, “Automatic generation of object usage specifications from large method traces,” in Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE '09), pp. 371–382, November 2009. View at Publisher · View at Google Scholar · View at Scopus
  11. C. Lee, F. Chen, and G. Rosu, “Mining parametric specifications,” in Proceedings of the 33rd International Conference on Software Engineering (ICSE '11), pp. 591–600, 2011.
  12. C. Goues and W. Weimer, “Specification mining with few false positives,” in Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS, 2009, (TACAS '09), pp. 292–306, 2009.
  13. M. Gabel and Z. Su, “Javert: fully automatic mining of general temporal properties from dynamic traces,” in Proceedings of the 16th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (SIGSOFT '08/FSE-16), pp. 339–349, November 2008. View at Publisher · View at Google Scholar · View at Scopus
  14. V. Dallmeier, C. Lindig, A. Wasylkowski, and A. Zeller, “Mining object behavior with ADABU,” in Proceedings of the 4th International Workshop on Dynamic Analysis (WODA '06), pp. 17–23, May 2006. View at Publisher · View at Google Scholar · View at Scopus
  15. V. Dallmeier, N. Knopp, C. Mallon, G. Fraser, S. Hack, and A. Zeller, “Automatically generating test cases for specification mining,” IEEE Transations on Software Engineering, vol. 38, no. 2, pp. 243–257, 2012. View at Google Scholar
  16. J. Whaley, M. C. Martin, and M. S. Lam, “Automatic extraction of object-oriented component interfaces,” in Proceedings of the ACM SIGSOFT 2002 International Symposium on Software Testing and Analysis (ISSTA '02), pp. 218–228, July 2002.
  17. J. Yang, D. Evans, D. Bhardwaj, T. Bhat, and M. Das, “Perracotta: mining temporal API rules from imperfect traces,” in Proceedings of the 28th International Conference on Software Engineering (ICSE '06), pp. 282–291, May 2006. View at Scopus
  18. R. E. Strom and S. Yemini, “Typestate: a programming language concept for enhancing software reliability,” IEEE Transactions on Software Engineering, vol. 12, no. 1, pp. 157–171, 1986. View at Google Scholar · View at Scopus
  19. R. DeLine and M. Fahndrich, “Typestates for objects,” in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '04), pp. 465–490, 2004.
  20. K. Bierhoff and J. Aldrich, “Lightweight object specification with typestates,” in Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE-13), pp. 217–226, September 2005. View at Scopus
  21. A. Wasylkowski, A. Zeller, and C. Lindig, “Detecting object usage anomalies,” in Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the 14th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE '07), pp. 35–44, September 2007. View at Publisher · View at Google Scholar · View at Scopus
  22. T. T. Nguyen, H. A. Nguyen, N. H. Pham, J. M. Al-Kofahi, and T. N. Nguyen, “Graph-based mining of multiple object usage patterns,” in Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC/FSE '09), pp. 383–392, August 2009. View at Publisher · View at Google Scholar · View at Scopus
  23. E. Rich, Automata, Computability, and Complexity: Theory and Applications, Pearson Education, 2009.
  24. “Java Virtual Machine Tool Interface,” http://download.oracle.com/javase/6/docs/technotes/guides/jvmti.
  25. S. M. Blackburn, R. Garner, C. Hoffmann et al., “The DaCapo benchmarks: java benchmarking development and analysis,” in Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '06), pp. 169–190, October 2006. View at Publisher · View at Google Scholar · View at Scopus
  26. “Apache Harmony,” http://harmony.apache.org.
  27. V. Dallmeier, A. Zeller, and B. Meyer, “Generating fixes from object behavior anomalies,” in Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE '09), pp. 550–554, November 2009. View at Publisher · View at Google Scholar · View at Scopus
  28. M. Gabel and Z. Su, “Symbolic mining of temporal specifications,” in Proceedings of the 30th International Conference on Software Engineering (ICSE '08), pp. 51–60, 2008.