User loginNavigation |
Software EngineeringGenerics: The Importance of Wildcards
Martin Bravenboer writes about generic wildcards in Java, and concludes that it is unfortunate that C# will not support wildcards or a similar mechanism.
Eric Gunnerson from Microsoft replies. I was originally a type-erasure fan, but these days I am not so sure. I hope this turns into a fruitful discussion that helps me decide... P.S The Java paper was mentioned on LtU before. By Ehud Lamm at 2005-05-26 20:05 | Software Engineering | Type Theory | 14 comments | other blogs | 14246 reads
Jon Udell: Tools for dynamic languagesI do think that professional tools can help dynamic languages consolidate the ground they've been gaining. And to that end, conventional capabilities -- such as suport for testing, debugging, and version control -- will be prerequisites. But dynamic languages really are different in important ways, and their tools should be as well. It's time for some fresh thinking on this topic, and for some new approaches. Jon also mentions DSLs, stratified design and Patrick Logan (who used to post here more often, and will be welcomed back should he choose to return...) Parameterized Unit Tests
Parameterized Unit Tests. Nikolai Tillmann; Wolfram Schulte; Wolfgang Grieskamp
Parameterized unit tests extend the current industry practice of using closed unit tests defined as parameterless methods. Parameterized unit tests separate two concerns: 1) They specify the external behavior of the involved methods for all possible test arguments. 2) Test cases can be re-obtained as traditional closed unit tests by instantiating the parameterized unit tests. Symbolic execution and constraint solving can be used to automatically choose a minimal set of inputs that exercise a parameterized unit test with respect to possible code paths of the implementation. In addition, parameterized unit tests can be used as symbolic summaries which allows symbolic execution to scale for arbitrary abstraction levels. We have developed a prototype tool which computes test cases from parameterized unit tests; it is integrated into the forthcoming Visual Studio Team System product. We report on its first use to test parts of the .NET base class library. By adding parameters the authors turn a closed unit test into a universally quantified conditional axiom that must hold for all inputs under specified assumptions. Adding parameters improves the expressiveness of unit cases, at the expense of not providing concrete test cases. Symbolic execution is used to automatically find the set of parameters that have to be tested. This seems like an interesting approach to unifying unit testing and algebraic specifications. By Ehud Lamm at 2005-05-21 09:48 | OOP | Software Engineering | 22 comments | other blogs | 11061 reads
Spec#Spec# is an extension of C#. It extends the type system to include non-null types and checked exceptions. It provides method contracts in the form of pre- and postconditions as well as object invariants. Spec# (also "specsharp" for search engines and the like), is now available for download. The home page gives a list of related publications. AOP blog and aosd discussion
If you haven't seen the AOP blog you might want to check it out.
Via the blog we find the AOSD discssion titled AOP considered harmful which, not surprisingly, is quite heated :-). It has been awhile since we discussed AOP, but I know many LtU regulars are skeptical about AOP, as am I. It's interesting to look at the discussion from the other sides point of view. Relating FFTW and Split-Radix
Relating FFTW and Split-Radix. Proc. of ICESS'04, the First International Conference on Embedded Software and System, December 9-10 2004, Hangzhou (Zhejiang), China.
This ongoing attempt to reproduce an efficient implementation of FFT using staging and abstract interpretation attempts to answer the question "How can we get the raw performance of hardware without giving up the expressivity and clarity of software?" Here's how Oleg describes the contribution of this paper,
One may think that generating truly optimal power-of-two FFT is straightforward: we generate the naive radix-2 FFT code, and then optimize it, removing trivial multiplications (x*1), trivial additions (x+0), etc. That was the approach demonstrated previously. Oleg points out that the point isn't that they managed to reproduced the FFTW results. The crucial point is that we know exactly which identities (i.e., axioms) contributed to the optimum. The search was principled rather heuristic, and the code is generated in only one pass. There are no manipulations on the code: it is generated just right. By Ehud Lamm at 2005-04-19 08:13 | Meta-Programming | Software Engineering | 7 comments | other blogs | 10786 reads
The Glasgow Haskell Compiler Survey - GHC needs your feedback!If you're a GHC user, the Glasgow Haskell Compiler HeadQuarters needs your feedback! See Simon Peyton-Jones original message, or go directly to the user survey. Here's a quote from the original message:
By shapr at 2005-04-15 16:35 | Functional | Implementation | Software Engineering | login or register to post comments | other blogs | 5538 reads
Pugs, Practicing the Theories.A lot of language theory goes past here on Lambda the Ultimate, but we rarely see that theory directly impacting commercial programmers. By shapr at 2005-04-05 21:09 | DSL | Fun | Functional | Implementation | Meta-Programming | OOP | Paradigms | Software Engineering | Teaching & Learning | 5 comments | other blogs | 10684 reads
Grady Booch: AOSD keynote
The slides from Booch's AOSD keynote The complexity of programming models are online.
If you have been following Booch's recent presentations, you'll recognize many of the slides. Only towards the end does AOP come up. Relate to PLs are the slides about simplicity in languages, programing models, the discussion of abstraction, and of course AOP. The presentation was already mentioned in the LtU forum. Inside Software Factories
This interview with Steve Cook is hepful in trying to understand what's behind the hype about software factories and DSLs.
[a domain specific language] tends to look like boxes and arrows on a screen. It’s a graphical modelling language with metadata underneath; and very importantly, metadata that’s domain specific. So if your domain is that of a business process, then the metadata is recognisable XML that describes business processes with tags that will say ‘process’ or ‘activity’, or whatever. It will be customised to your job. By Ehud Lamm at 2005-03-17 13:34 | DSL | Software Engineering | 5 comments | other blogs | 6240 reads
|
Browse archives
Active forum topics |
Recent comments
23 weeks 2 days ago
23 weeks 2 days ago
23 weeks 2 days ago
45 weeks 3 days ago
49 weeks 5 days ago
51 weeks 2 days ago
51 weeks 2 days ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago