Friday, December 27, 2013

Areas and Resources in Software Engineering

The following areas of interest:
  • Software engineering in and for the cloud
  • Data analytics for software development and engineering
  • Programming paradigms and software engineering tools for the Internet of Things
  • Tools for testing and verification
  • Tools and technologies challenging computer science education in general, and teaching of programming in particular
  • Empowering end users with program synthesis
  • Programming in the presence of uncertainty and approximation
  • Infrastructure for cloud-scale software
    • Server, storage, interconnect, and data center architecture and design
    • Intra- and inter-data center networking
    • Resource models and resource-aware programming models
    •  Resource provisioning, monitoring, and control for cloud computing

    Resources

    Microsoft offers a wide range of platforms and services of direct relevance to the call. PIs are encouraged to use these, as well as Microsoft Research’s free tools and frameworks. A selection of these follows.

    Devices and “Internet of Things” 

  • TouchDevelop – programming on multi-platform devices
  • Lab of Things – a research platform for deploying interconnected devices at scale
  • Windows Phone Dev Center: development tools for Windows Phone
  • .NET Gadgeteer: rapid prototyping platform for small electronic gadgets and embedded hardware devices
  • Kinect for Windows
Software engineering in the cloud
Sharing of tools and teaching
  • Rise4Fun allows visitors to interact directly with new tools and languages, developed by Microsoft and others—including IDEs, compilers, and analysis—in the cloud
  • TouchDevelop: programming on touch devices, including tablets and phones 
Design, programming, and services
  • Microsoft Visual Studio Ultimate: for lifecycle management of project development
  • Debugger Canvas: a new user experience for the debugger in Microsoft Visual Studio Ultimate
  • DKAL: a distributed authorization policy language
  • FORMULA: a modern formal specification language targeting model-based development
  • F*: dependently typed language for secure distributed programming
  • P: a language for asynchronous event-driven programming
  • Visual Studio F# 3.0: functional programming with information-rich programming and Try F#
  • Koka: a function-oriented language with effect inference
Dynamic analysis tools
  • Code Contracts: language-agnostic contracts for Microsoft .NET
  • CHESS: concurrency testing tools
  • Detours: for detouring Win32 and application APIs
  • Pex: automatic unit testing tool for Microsoft .NET
  • Stubs: lightweight test stubs and detouring for Microsoft .NET
Static analysis and program verification
  • Bek: fast and precise sanitizer analysis using regular transducers
  • Boogie: intermediate language for targeting program verifiers
  • VCC: program verifier for C with contract language
  • Z3: automated theorem prover
  • Common Compiler Infrastructure: CIL-metadata reader/writer, compiler/decompiler framework
Infrastructure for cloud-scale software
Additional resources
All of this software is free for download to by everyone, except for Windows Azure and Microsoft Visual Studio, which are free to universities that are enrolled in DreamSpark.

No comments:

Post a Comment