Abstract
Implementing static analyses of machine-level executable code is labor intensive and complex. We show how to leverage model-driven engineering to facilitate the design and implementation of programs doing static analyses. Further, we report on important lessons learned on the benefits and drawbacks while using the following technologies: using the Scala programming language as target of code generation, using XML-Schema to express a metamodel, and using XSLT to implement (a) transformations and (b) a lint like tool. Finally, we report on the use of Prolog for writing model transformations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Jackson, D., Rinard, M.: Software analysis: A roadmap. In: Proceedings of the Conference on The Future of Software Engineering, pp. 133–145 (2000)
Binkley, D.: Source code analysis: A road map. In: Future of Software Engineering (FOSE 2007), Washington, DC, USA, pp. 104–119. IEEE Computer Society, Los Alamitos (2007)
Brooks, F.: No silver bullet: Essence and accidents of software engineering. IEEE computer 20(4), 10–19 (1987)
Garcia, M.: Formalizing the well-formedness rules of EJB3QL in UML+ OCL. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, p. 66. Springer, Heidelberg (2007)
Strembeck, M., Zdun, U.: An approach for the systematic development of domain-specific languages. Software: Practice and Experience 39(15) (2009)
Kuehne, T.: Matters of (meta-) modeling. Software and System Modeling 5(4), 369–385 (2006)
Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley, Reading (1999)
ISO/IEC Geneva, Switzerland: Information technology – Common Language Infrastructure (CLI) Partitions I to VI. ISO/IEC 23271:2006(E) edn. (2006)
Eichberg, M., Sewe, A.: Encoding the java virtual machine’s instruction set. In: Proceedings of the Fifth Bytecode Workshop. Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (to appear)
Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. John Wiley & Sons, Chichester (2008)
Monperrus, M., Jaozafy, F., Marchalot, G., Champeau, J., Hoeltzener, B., Jézéquel, J.M.: Model-driven simulation of a maritime surveillance system. In: Proceedings of the 4th European Conference on Model Driven Architecture Foundations and Applications (ECMDA 2008), vol. 13. Springer, Heidelberg (2008)
Pavon, J., Gomez-Sanz, J., Fuentes, R.: Model driven development of multi-agent systems. In: Proceedings of the European Conference on Model Driven Architecture - Foundations and Applications, ECMDA 2006 (2006)
Evans, D., Larochelle, D.: Improving security using extensible lightweight static analysis. IEEE Software (2002)
Rugaber, S., Stirewalt, K.: Model-driven reverse engineering. IEEE Software 21(4), 45–53 (2004)
Strein, D., Lincke, R., Lundberg, J., Löwe, W.: An extensible meta-model for program analysis. IEEE Transactions on Software Engineering 33, 592–607 (2007)
Störrle, H.: A prolog-based approach to representing and querying software engineering models. In: Proceedings of the Workshop on Visual Languages and Logic (VLL 2007), pp. 71–83 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Eichberg, M., Monperrus, M., Kloppenburg, S., Mezini, M. (2010). Model-Driven Engineering of Machine Executable Code. In: Kühne, T., Selic, B., Gervais, MP., Terrier, F. (eds) Modelling Foundations and Applications. ECMFA 2010. Lecture Notes in Computer Science, vol 6138. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13595-8_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-13595-8_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13594-1
Online ISBN: 978-3-642-13595-8
eBook Packages: Computer ScienceComputer Science (R0)