ML modules are a powerful language mechanism for decomposing programs into reusable components. Unfortunately, they also have a reputation for being “complex” and requiring fa...
Many opportunities for easy, big-win, program optimizations are missed by compilers. This is especially true in highly layered Java applications. Often at the heart of these misse...
Guoqing Xu, Nick Mitchell, Matthew Arnold, Atanas ...
Nested data-parallelism (NDP) is a declarative style for programming irregular parallel applications. NDP languages provide language features favoring the NDP style, efficient com...
Lars Bergstrom, Mike Rainey, John H. Reppy, Adam S...
The design of an embedded control system starts with an investigation of properties and behaviors of the process evolving within its environment, and an analysis of the requiremen...
Hai H. Wang, Shengchao Qin, Jun Sun 0001, Jin Song...
We define adaptability as the capacity of software in adjusting its behavior in response to changing conditions. To list just a few examples, adaptability is important in pervasiv...