Wyvern the Programming Language

Home  >>  Computer Science  >>  Wyvern the Programming Language

Wyvern the Programming Language



Wyvern Language


Computer scientists at Carnegie Mellon University have designed a way to safely use multiple programming languages within the same program,enabling programmers to use the language most appropriate for each function while guarding against  code injection attacks,one of the most severe security threats in Web applications today.This research was supported in part by the Air Force Research Laboratory, the National Security Agency and the Royal Society of New Zealand Marsden Fund.


A research group led by Jonathan Aldrich,associate professor in the Institute for Software Research (ISR),is developing a programming language called Wyvern that makes it possible to construct programs using a variety of targeted,domain-specific languages, such as SQL for querying databases for HTML for constructing Web pages, as sub languages, rather than writing the entire program using a general language.

Wyvern determines which sub language is being used within the program based on the type of data that the programmer is manipulating.Types specify the format of data,such as alphanumeric characters ,floating-point numbers or  more complex data structures,such as Web pages and database queries.The type provides context,enabling Wyvern to identity a sub language associated with type in the same way that a person would realize that a conversion about gourmet dining might include some French words and phrases,explained Joshua Sunshine, ISR systems scientists.


Many programming tasks can involve multiple languages; when building a Web page, for instance, HTML might be used to create the bulk of the page, but the programmer might also include SQL to access databases and JavaScript to allow for user interaction. By using type-specific languages, Wyvern can simplify that task for the programmer, Aldrich said, while also avoiding workarounds that can introduce security vulnerabilities.


“Wyvern is like a skilled international negotiator who can smoothly switch between languages to get a whole team of people to work together” Aldrich said.”Such a person can be extremely effective and, likewise,I think our new approach can have a big impact on building software systems.”

Leave a Reply

Your email address will not be published. Required fields are marked *