User loginNavigation |
Software EngineeringThe irreducible physicality of security propertiesThe recent discussion around Safe and Secure Software in Ada involved some amount of discussion around what is involved in proving software secure, and what role do PLs play in this. I'd like to recommend two papers to advance this discussion:
So I hereby advance three slogans:
Edited following Dave Griffith's remarks. By Charles Stewart at 2008-04-15 14:07 | Software Engineering | 40 comments | other blogs | 4506 reads
Applied Metamodelling: A Foundation for Language Driven DevelopmentApplied Metamodelling: A Foundation for Language Driven Development (2004) An excerpt:
In software engineering circles the term "language driven development" is synonymous with "language oriented programming", a term which LtU members are more familiar with (thanks to Martin Ward's article Language Oriented Programming which first appeared in 1994, and then Martin Fowler's essays on the topic). The book hasn't appeared on the radar here on LtU, despite 41 citations. I suspect this is due in part to only one citation at Citeseer, and the lack of cross-talk between computer scientists and software engineers. There are a lot of similarities between the XMF language (discussion at LtU) and that of the Katahdin language (discussion at LtU). Other related discussions here at LtU, include Language Workbenches: The Killer App for DSLs - about the essay by Martin Fowler, Ralph Johnson: Language workbenches - a response to Fowler's essay, XActium - Lightweight Language Engineering? - which discusses an essay about a previous version of XMF, Generating Interpreters? , Language Oriented Programming - discusses an essay by Jetbrain's Sergey Dmitriev, "Language Oriented Programming" Meta Programming System - discussion of the Jetbrain MPS system, The DSL, MDA, UML thing again... - an older discussion on the relationship between DSLs and MDA. (Disclaimer: Some may notice that I am mentioned on the XMF web site, but this is just because I subjected their XMF language to a number of grueling challenges which they passed with flying colors: see the language snippets in the documentation. I have no affiliation with their company.) By cdiggins at 2008-03-07 19:07 | DSL | Meta-Programming | Software Engineering | 17 comments | other blogs | 5414 reads
Software Craftsmanship: Apprentice to JourneymanO'Reilly is hosting a collaborative book/wiki called Software Craftsmanship: Apprentice to Journeyman. It's structured as a series of "recipes" on how to approach different aspects of software development. By Daniel Yokomizo at 2008-02-24 21:50 | Software Engineering | 5 comments | other blogs | 3483 reads
Jumbala : An Action Language for UML State MachinesJumbala : An Action Language for UML State Machines, Juro Dubrovin, Master's Thesis.
This is interesting because it is another example of efforts from the modeling community towards combining models and programming languages to provide a single compilable specification of software. Some of these efforts are being coordinated using the term model-driven architecture (MDA). [edit: fixed formatting issues] By cdiggins at 2008-02-05 19:17 | OOP | Software Engineering | 3 comments | other blogs | 3124 reads
Kermeta Programming LanguageIn my recent adventures researching modeling languages I came across a language not previously mentioned on Lambda-the-Ultimate.org called Kermeta. From the reference manual:
There is a list of published papers related to Kermeta here. By cdiggins at 2008-02-03 06:54 | OOP | Software Engineering | login or register to post comments | other blogs | 3011 reads
J&: Nested Intersection for Scalable Software Composition
J&: Nested Intersection for Scalable Software Composition
by Nathaniel Nystrom, Xin Qi, Andrew C. Myers. 2006.
We identify the following requirements for general extension and composition of software systems:Compare this approach to one taken by Scala (or read the section 7). By Andris Birkmanis at 2008-01-04 12:44 | Software Engineering | Type Theory | 15 comments | other blogs | 3152 reads
DySy: Dynamic Symbolic Execution for Invariant Inference
DySy: Dynamic Symbolic Execution for Invariant Inference. Christoph Csallner, Nikolai Tillmann, Yannis Smaragdakis
Dynamically discovering likely program invariants from concrete test executions has emerged as a highly promising software engineering technique. Dynamic invariant inference has the advantage of succinctly summarizing both “expected”program inputs and the subset of program behaviors that is normal under those inputs. In this paper, we introduce a technique that can drastically increase the relevance of inferred invariants, or reduce the size of the test suite required to obtain good invariants. Instead of falsifying invariants produced by pre-set patterns, we determine likely program invariants by combining the concrete execution of actual test cases with a simultaneous symbolic execution of the same tests. The symbolic execution produces abstract conditions over program variables that the concrete tests satisfy during their execution. In this way, we obtain the benefits of dynamic inference tools like Daikon: the inferred invariants correspond to the observed program behaviors. At the same time, however, our inferred invariants are much more suited to the program at hand than Daikon’s hardcoded invariant patterns. The symbolic invariants are literally derived from the program text itself, with appropriate value substitutions as dictated by symbolic execution. We implemented our technique in the DySy tool, which utilizes a powerful symbolic execution and simplification engine. The results confirm the benefits of our approach. In Daikon’s prime example benchmark, we infer the majority of the interesting Daikon invariants, while eliminating invariants that a human user is likely to consider irrelevant. The Daikon invariant detector mentioned in the abstract is here. Seems like a pretty straightforward idea, I guess, but as always: God is in the details. Samurai - Protecting Critical Data in Unsafe LanguagesSamurai - Protecting Critical Data in Unsafe Languages. Karthik Pattabiraman, Vinod Grover, Benjamin G. Zorn.
An acceptable overhead for the pleasure of using an unsafe language? You decide. Engineering Software CorrectnessRex Page, Engineering software correctness, Proceedings of the ACMS,PLAN 2005 Workshop on Functional and Declarative Programming in Education, September 25, 2005.
A JFP educational pearl with the same title and a similar abstract appears in Journal of Functional Programming (2007), 17: 675-68, but I haven't managed to access it yet.
By Ehud Lamm at 2007-10-21 06:40 | Software Engineering | Teaching & Learning | 1 comment | other blogs | 2083 reads
Code Splitting for Network Bound Web 2.0 ApplicationsCode Splitting for Network Bound Web 2.0 Applications. Benjamin Livshits, Chen Ding. August 2007.
Once upon a time there was a lot of research on mobile code. It seemed like it was going nowhere. Then came Javascript, AJAX and Web 2.0, and in a worse-is-better fashion Javascript became the mobile code platform of choice. Maybe now is a good time to resume research on the subject... By Ehud Lamm at 2007-09-22 13:19 | Javascript | Software Engineering | 3 comments | other blogs | 2540 reads
|
Browse archivesActive forum topics |