Generic classes can be used to improve performance by allowing compile-time polymorphism. But the applicability of compile-time polymorphism is narrower than that of runtime polym...
Dan Tsafrir, Robert W. Wisniewski, David F. Bacon,...
The shift from single to multiple core architectures means that programmers must write concurrent, multithreaded programs in order to increase application performance. Unfortunate...
Emery D. Berger, Ting Yang, Tongping Liu, Gene Nov...
Multiple inheritance has long been plagued with the “diamond” inheritance problem, leading to solutions that restrict expressiveness, such as mixins and traits. Instead, we ad...
Programming languages are the primary mechanism by which software is created, yet most of us have access to only a few, fixed, programming languages. Any problem we wish to expre...
This paper introduces S.P.L.O.T., a Web-based reasoning and configuration system for Software Product Lines (SPLs). The system benefits from mature logic-based reasoning techniq...
Iterations are time-boxed periods with an intended outcome that is often a set of implemented requirements. Iterations are part of most common software development lifecycle model...
Model evolution is often supported by writing model transformation rules in specialized languages. This presents challenges to those who are unfamiliar with model transformation l...
In our paper, we analyze possibilities to generate true random data in mobile devices such as mobile phones or pocket computers. We show how to extract arguably true random data w...
Jan Bouda, Jan Krhovjak, Vashek Matyas, Petr Svend...