Skip to main content

Improving the Runtime-Processing of Test Cases for Component Adaptation

  • Conference paper
Safe and Secure Software Reuse (ICSR 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7925))

Included in the following conference series:

Abstract

Reusing existing code instead of reinventing it is considered a good development practice. However, current software search engines often deliver merely somewhat similar results that usually need to be adapted when they should be integrated into an existing system. Since adaptation is a tedious and error-prone activity it has been the target of automation approaches for numerous years, but only recently the use of test-driven adaptation, based on ordinary JUnit test cases, was able to provide a working prototype for this purpose. Unfortunately, the adaptater creation lacks acceptable runtime behavior because it is based on a brute force algorithm, which significantly hinders the usability of test-driven adaptation in a test-driven reuse context where numerous, potentially complex candidates need to be adapted. Hence, in this paper, we present an optimized algorithm for this purpose that works in a branch-and-bound manner and demonstrate its capability by an “invitro” evaluation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Autili, M., Inverardi, P., Navarra, A., Tivoli, M.: Synthesis: A tool for automatically assembling correct and distributed component-based systems. In: Proceedings of the 29th International Conference on Software Engineering, pp. 784–787 (2007)

    Google Scholar 

  2. Bajracharya, S., Ossher, J., Lopes, C.: Sourcerer: An internet-scale software repository. In: Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation. SUITE 2009, pp. 1–4. ICSE (2009)

    Google Scholar 

  3. Beck, K.: Test-Driven Development by Example. Addison-Wesley (2003)

    Google Scholar 

  4. Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley Professional (2004)

    Google Scholar 

  5. Becker, S., Brogi, A., Gorton, I., Overhage, S., Romanovsky, A., Tivoli, M.: Towards an engineering approach to component adaption. In: Reussner, R., Stafford, J.A., Ren, X.-M. (eds.) Architecting Systems with Trustworthy Components. LNCS, vol. 3938, pp. 193–215. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Bertolino, A., Inverardi, P., Pelliccione, P., Tivoli, M.: Automatic synthesis of behavior protocols for composable web-services. In: ESEC/SIGSOFTFSE, pp. 141–150 (2009)

    Google Scholar 

  7. Booch, G.: Object-oriented development. IEEE Transactions on Software Engineering 12(2), 211–221 (1986)

    Article  Google Scholar 

  8. Bracciali, A., Brogi, A., Canal, C.: A formal approach to component adaptation. Journal of Systems and Software 74, 45–54 (2005)

    Article  Google Scholar 

  9. Canal, C., Poizat, P., Salauen, G.: Model-based adaptation of behavioral mismatching components. IEEE Transactions on Software Engineering 34, 546–563 (2008)

    Article  Google Scholar 

  10. Euzenat, J., Shvaiko, P.: Ontology Matching, 1st edn. Springer Publishing Company, Incorporated (2010)

    Google Scholar 

  11. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley (2003)

    Google Scholar 

  12. Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1995)

    Google Scholar 

  13. Hummel, O.: Semantic Component Retrival in Software Engineering. Phd thesis, Fakueltaet fuer Mathematik und Informatik, Universitaet Mannheim (2008)

    Google Scholar 

  14. Hummel, O., Atkinson, C.: The managed adapter pattern: Facilitating glue code generation for component reuse. In: Edwards, S.H., Kulczycki, G. (eds.) ICSR 2009. LNCS, vol. 5791, pp. 211–224. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  15. Hummel, O., Atkinson, C.: Automated creation and assessment of component adapters with test cases. In: Grunske, L., Reussner, R., Plasil, F. (eds.) CBSE 2010. LNCS, vol. 6092, pp. 166–181. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  16. Hummel, O., Janjic, W., Atkinson, C.: Code conjurer: Pulling reusable software out of thin air. IEEE Computer 25, 45–52 (2008)

    Google Scholar 

  17. Hummel, O., Janjic, W.: Test-driven reuse: Key to improving precision of search engines for software reuse. In: Sim, S.E., Gallardo-Valencia, R.E. (eds.) Finding Code on the Web for Remix and Reuse, vol. 1. Springer (2013)

    Google Scholar 

  18. Kell, S.: A survey of practical software adaptation techniques. Journal of Universal Computer Science 14, 2110–2157 (2008)

    Google Scholar 

  19. Kell, S.: Component adaptation and assembly using interface relations. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2010, pp. 322–340. ACM, New York (2010) ISBN 978-1-4503-0203-6

    Chapter  Google Scholar 

  20. Kredel, H.: Fostering the interoperability in java-based computer algegra systems. In: International Conference on Advanced Information Networking and Applications Workshops, vol. 26, pp. 443–447 (2012)

    Google Scholar 

  21. Martin, J.A., Pimentel, E.: Automatic generation of adaptation contracts. In: Proceedings of the 7th International Workshop on the FOCLASA 2008. Electronic Notes in Theoretical Computer Science, pp. 115–131 (2009)

    Google Scholar 

  22. McIlroy, M.D.: In software-engineering: Report of a conference sponsored by the nato science commitee, germisch, germany. In: Mass-Produced Software Components (1968)

    Google Scholar 

  23. Meyer, B.: Applying design by contract. IEEE Computer Society Press 25, 40–51 (1992)

    Article  Google Scholar 

  24. Nita, M., Notkin, D.: Using twinning to adapt programs to alternative apis. In: 2010 ACM/IEEE 32nd International Conference on Software Engineering, vol. 1, pp. 205–214 (May 2010)

    Google Scholar 

  25. Rahm, E., Bernstein, P.A.: A survey of approaches to automatic schema matching. The VLDB Journal 10, 334–350 (2001) ISSN 1066-8888

    Article  MATH  Google Scholar 

  26. Rosen, K.H.: Discrete Mathematics and Its Applications, 2nd edn. McGraw-Hill (1991)

    Google Scholar 

  27. Seiffert, D.: Automating the wrapping of software building blocks with test cases. In: Proceedings of the 17th International Doctoral Symposium on Components and Architecture, pp. 19–24 (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Seiffert, D., Hummel, O. (2013). Improving the Runtime-Processing of Test Cases for Component Adaptation. In: Favaro, J., Morisio, M. (eds) Safe and Secure Software Reuse. ICSR 2013. Lecture Notes in Computer Science, vol 7925. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38977-1_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38977-1_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38976-4

  • Online ISBN: 978-3-642-38977-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics