ABSTRACT
System designers today are focusing less on point solutions for complex systems and more on design spaces, often with a focus on understanding tradeoffs among non-functional properties across such spaces. This shift places a premium on the efficient comparative evaluation of non-functional properties of designs in such spaces. While static analysis of designs will sometimes suffice, often one must run designs dynamically, under comparable loads, to determine properties and tradeoffs. Yet variant designs often present variant interfaces, requiring that common loads be specialized to many interfaces. The main contributions of this paper are a mathematical framework, architecture, and tool for specification-driven synthesis of design spaces and common loads specialized to individual designs for dynamic tradeoff analysis of non-functional properties in large design spaces. To test our approach we used it to run an experiment to test the validity of static metrics for object-relational database mappings, requiring design space and load synthesis for, and dynamic analysis of, hundreds of database designs.
- TPC benchmarks. http://www.tpc.org.Google Scholar
- M. Badawy and K. Richta. Deriving triggers from UML/OCL specification. In Information Systems Development, pages 305–315. Springer US, Jan. 2002.Google Scholar
- H. Bagheri and K. Sullivan. Monarch: Model-based development of software architectures. In Proceedings of the 13th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS’10), pages 376–390, 2010. Google ScholarDigital Library
- H. Bagheri and K. Sullivan. Pol: Specification-driven synthesis of architectural code frameworks for platform-based applications. In Proceedings of the 11th ACM International Conference on Generative Programming and Component Engineering (GPCE’12), pages 93–102, Dresden, Germany, 2012. Google ScholarDigital Library
- H. Bagheri and K. Sullivan. Bottom-up model-driven development. In Proceedings of the International Conference on Software Engineering (ICSE’13), pages 1237–1240, 2013. Google ScholarDigital Library
- H. Bagheri, K. Sullivan, and S. Son. Spacemaker: Practical formal synthesis of tradeoff spaces for object-relational mapping. In Proceedings of the 24th International Conference on Software Engineering and Knowledge Engineering, pages 688–693, San Francisco Bay, USA, 2012.Google Scholar
- A. L. Baroni, C. Calero, M. Piattini, and O. B. E. Abreu. A formal definition for object-relational database metrics. In Proceedings of the 7th International Conference on Enterprise Information System, pages 334–339, 2005.Google Scholar
- C. Binnig, D. Kossmann, E. Lo, and M. T. Özsu. QAGen: generating query-aware test databases. In Proceedings of the 2007 ACM SIGMOD international conference on Management of data, SIGMOD ’07, pages 341–352, New York, NY, USA, 2007. ACM. Google ScholarDigital Library
- N. Bruno, S. Chaudhuri, and D. Thomas. Generating queries with cardinality constraints for DBMS testing. IEEE Transactions on Knowledge and Data Engineering, 18(12):1721–1725, 2006. Google ScholarDigital Library
- L. Cabibbo and A. Carosi. Managing inheritance hierarchies in Object/Relational mapping tools. In Proceedings of the 17th International Conference on Advanced Information Systems Engineering (CAiSE’05), pages 135–150, 2005. Google ScholarDigital Library
- C. Cadar, P. Pietzuch, and A. L. Wolf. Multiplicity computing: a vision of software engineering for next-generation computing platform applications. In Proceedings of the FSE/SDP workshop on Future of software engineering research, FoSER ’10, pages 81–86, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- A. Cunha and H. Pacheco. Mapping between alloy specifications and database implementations. In Proceedings of the Seventh International Conference on Software Engineering and Formal Methods (SEFM’09), pages 285–294, 2009. Google ScholarDigital Library
- B. Demuth, H. Hussmann, and S. Loecher. OCL as a specification language for business rules in database applications. In Proceedings of the UML 2001–The Unified Modeling Language. Modeling Languages, Concepts, and Tools, pages 104–117, 2001. Google ScholarDigital Library
- M. L. Drago, C. Ghezzi, and R. Mirandola. A quality driven extension to the QVT-relations transformation language. Computer Science - Research and Development, pages 1–20, 2011.Google Scholar
- Ethan K. Jackson, Eunsuk Kang, Markus Dahlweid, Dirk Seifert, and Thomas Santen. Components, platforms and possibilities: Towards generic automation for MDA. In Proceedings of International Conference on Embedded Software, pages 39–48, 2010. Google ScholarDigital Library
- Harith T. Al-Jumaily, Dolores Cuadra, and Paloma Mart´ınez. OCL2Trigger: deriving active mechanisms for relational databases using model-driven architecture. Journal of Systems and Software, 18(12):2299–2314, 2008. Google ScholarDigital Library
- F. Heidenreich, C. Wende, and B. Demuth. A framework for generating query language code from OCL invariants. Electronic Communications of the EASST, 9, Nov. 2007.Google Scholar
- S. Holder, J. Buchan, and S. G. MacDonell. Towards a metrics suite for Object-Relational mappings. Model-Based Software and Data Integration, CCIC 8:43–54, 2008.Google ScholarCross Ref
- C. Ireland, D. Bowers, M. Newton, and K. Waugh. Understanding object-relational mapping: A framework based approach. International Journal on Advances in software, 2:202–216, 2009.Google Scholar
- D. Jackson. Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (TOSEM), 11(2):256–290, 2002. Google ScholarDigital Library
- W. Keller. Mapping objects to tables - a pattern language. In Proc. of the European Pattern Languages of Programming Conference, page 207, 1997.Google Scholar
- S. A. Khalek, B. Elkarablieh, Y. O. Laleye, and S. Khurshid. Query-aware test generation using a relational constraint solver. In Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, pages 238–247. IEEE Computer Society, 2008. Google ScholarDigital Library
- S. Krishnamurthi, K. Fisler, D. J. Dougherty, and D. Yoo. Alchemy: transmuting base alloy specifications into implementations. In Proceedings of FSE’08, pages 158–169, 2008. Google ScholarDigital Library
- S. Q. Lau. Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates. Master’s thesis, University of Waterloo, Canada, 2006.Google Scholar
- S. Philippi. Model driven generation and testing of object-relational mappings. Journal of Systems and Software, 77(2):193–207, 2005. Google ScholarDigital Library
- C. Riva, M. J. Suárez-Cabal, and J. Tuya. Constraint-based test database generation for SQL queries. In Proceedings of the 5th Workshop on Automation of Software Test, pages 67–74, Cape Town, South Africa, 2010. ACM. Google ScholarDigital Library
- S. E. Stemler. A comparison of consensus, consistency, and measurement approaches to estimating interrater reliability. Practical Assessment, Research and Evaluation, 9(4), 2004.Google Scholar
Index Terms
- TradeMaker: automated dynamic analysis of synthesized tradespaces
Recommendations
Combined Static and Dynamic Analysis
Static analysis is usually faster than dynamic analysis but less precise. Therefore it is often desirable to retain information from static analysis for run-time verification, or to compare the results of both techniques. However, this requires writing ...
Why is dynamic analysis not used as extensively as static analysis: an industrial study
SER&IPs 2014: Proceedings of the 1st International Workshop on Software Engineering Research and Industrial PracticesCode Assessments using static and dynamic analyses are important for the maintenance of code quality of software in the industry. These analyses, though understood to be beneficial, have several practical limitations. The intent of our study was to ...
Dynamic determinacy analysis
PLDI '13We present an analysis for identifying determinate variables and expressions that always have the same value at a given program point. This information can be exploited by client analyses and tools to, e.g., identify dead code or specialize uses of ...
Comments