Game developers need Lua air static analysis of Lua using interface models

Paul Klint, Loren Roosendaal, Riemer van Rozen

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademic

81 Downloads (Pure)

Abstract

Game development businesses often choose Lua for separating scripted game logic from reusable engine code. Lua can easily be embedded, has simple interfaces, and offers a powerful and extensible scripting language. Using Lua, developers can create prototypes and scripts at early development stages. However, when larger quantities of engine code and script are available, developers encounter maintainability and quality problems. First, the available automated solutions for interoperability do not take domain-specific optimizations into account. Maintaining a coupling by hand between the Lua interpreter and the engine code, usually in C++, is labour intensive and error-prone. Second, assessing the quality of Lua scripts is hard due to a lack of tools that support static analysis. Lua scripts for dynamic analysis only report warnings and errors at run-time and are limited to code coverage. A common solution to the first problem is developing an Interface Definition Language (IDL) from which ”glue code”, interoperability code between interfaces, is generated automatically. We address quality problems by proposing a method to complement techniques for Lua analysis. We introduce Lua AiR (Lua Analysis in Rascal), a framework for static analysis of Lua script in its embedded context, using IDL models and Rascal.
Original languageEnglish
Title of host publicationICEC 2012
Subtitle of host publicationEntertainment Computing
Place of PublicationBerlin
PublisherSpringer
Publication statusPublished - 2012

Publication series

Name Lecture Notes in Computer Science
PublisherSpringer
Volume7522

Fingerprint Dive into the research topics of 'Game developers need Lua air static analysis of Lua using interface models'. Together they form a unique fingerprint.

Cite this