Search For:

Displaying 1-33 out of 33 total
Safe Concurrency for Aggregate Objects with Invariants
Found in: Software Engineering and Formal Methods, IEEE International Conference on
By Bart Jacobs, K. Rustan M. Leino, Frank Piessens, Wolfram Schulte
Issue Date:September 2005
pp. 137-147
Developing safe multithreaded software systems is diffi- cult due to the potential unwanted interference among concurrent threads. This paper presents a flexible methodology for object-oriented programs that protects object structures against inconsistency...
 
Taking Control of Your Engineering Tools
Found in: Computer
By Chandra Prasad,Wolfram Schulte
Issue Date:November 2013
pp. 63-66
Traditionally software development tools, such as compilers, linkers and build engines, were designed for use by individual engineers on dedicated desktop machines. As these tools evolved, they scaled-up by exploiting more powerful development machines. Th...
 
CODEMINE: Building a Software Development Data Analytics Platform at Microsoft
Found in: IEEE Software
By Jacek Czerwonka,Nachiappan Nagappan,Wolfram Schulte,Brendan Murphy
Issue Date:July 2013
pp. 64-71
The scale and speed of today's software development efforts impose unprecedented constraints on the pace and quality of decisions made during planning, implementation, and postrelease maintenance and support for software. Decisions during the planning proc...
 
Guest Editors' Introduction: Parallelism on the Desktop
Found in: IEEE Software
By Victor Pankratius,Wolfram Schulte,Kurt Keutzer
Issue Date:January 2011
pp. 14-16
The computer industry is experiencing a major shift: improved single processor performance via higher clock rates has reached its technical limits due to overheating. Fortunately, Moore's law still holds, so chip makers use transistors to boost performance...
 
Reggae: Automated Test Generation for Programs Using Complex Regular Expressions
Found in: Automated Software Engineering, International Conference on
By Nuo Li, Tao Xie, Nikolai Tillmann, Jonathan de Halleux, Wolfram Schulte
Issue Date:November 2009
pp. 515-519
Test coverage such as branch coverage is commonly measured to assess the sufficiency of test inputs. To reduce tedious manual efforts in generating high-covering test inputs, various automated techniques have been proposed. Some recent effective techniques...
 
Mutation Analysis of Parameterized Unit Tests
Found in: Software Testing Verification and Validation Workshop, IEEE International Conference on
By Tao Xie, Nikolai Tillmann, Jonathan de Halleux, Wolfram Schulte
Issue Date:April 2009
pp. 177-181
Recently parameterized unit testing has emerged as a promising and effective methodology to allow the separation of (1) specifying external, black-box behavior (e.g., assumptions and assertions) by developers and (2) generating and selecting internal, whit...
 
Automating Software Testing Using Program Analysis
Found in: IEEE Software
By Patrice Godefroid,Peli de Halleux,Aditya V. Nori,Sriram K. Rajamani,Wolfram Schulte,Nikolai Tillmann,Michael Y. Levin
Issue Date:September 2008
pp. 30-37
During the last 10 years, code inspection for standard programming errors has largely been automated with static code analysis. During the next 10 years, we expect to see similar progress in automating testing, and specifically test generation, thanks to a...
 
Pex--An Intelligent Assistant for Rigorous Developer Testing
Found in: Engineering of Complex Computer Systems, IEEE International Conference on
By Wolfram Schulte
Issue Date:July 2007
pp. 161
Pex takes test-driven development to the next level. Pex analyzes .NET applications. From a parameterized unit test, which serves as a specification, it automatically produces traditional unit tests cases with high code coverage. Moreover, when a generated...
   
Experiments in Verifying Low Level Concurrent C Code
Found in: Engineering of Complex Computer Systems, IEEE International Conference on
By Wolfram Schulte
Issue Date:July 2007
pp. 299
The Verified C project adds design by contract programming to C. The program verifier VCC accepts annotated C programs, generates logical verification conditions from them and passes them on to an automatic theorem prover to either prove the correctness of...
   
Mock-object generation with behavior
Found in: Automated Software Engineering, International Conference on
By Nikolai Tillmann, Wolfram Schulte
Issue Date:September 2006
pp. 365-368
Unit testing is a popular way to guide software development and testing. Each unit test should target a single feature, but in practice it is difficult to test features in isolation. Mock objects are a well-known technique to substitute parts of a program ...
 
Unit Tests Reloaded: Parameterized Unit Testing with Symbolic Execution
Found in: IEEE Software
By Nikolai Tillmann, Wolfram Schulte
Issue Date:July 2006
pp. 38-47
Unit tests are popular. However, it's an art to write them in a way that specifies a program's behavior well, and it's laborious to write enough of them to have confidence in an implementation's correctness. Symbolic execution techniques can help increase ...
 
Action Machines - Towards a Framework for Model Composition, Exploration and Conformance Testing Based on Symbolic Computation
Found in: Quality Software, International Conference on
By Wolfgang Grieskamp, Nikolai Tillmann, Colin Campbell, Wolfram Schulte, Margus Veanes
Issue Date:September 2005
pp. 72-82
We report on a framework for model composition, exploration, and conformance testing based on symbolic execution. The foundations of this framework are given by socalled action machines, a variation of labeled transition systems which communicate over sync...
 
Exception Safety for C#
Found in: Software Engineering and Formal Methods, IEEE International Conference on
By K. Rustan M. Leino, Wolfram Schulte
Issue Date:September 2004
pp. 218-227
Programming-language mechanisms for throwing and handling exceptions can simplify some computer programs. However, the use of exceptions can also be error prone, leading to new programming errors and code that is hard to understand. This paper describes wa...
 
Validating Use-Cases with the AsmL Test Tool
Found in: Quality Software, International Conference on
By Mike Barnett, Wolfgang Grieskamp, Wolfram Schulte, Nikolai Tillmann, Margus Veanes
Issue Date:November 2003
pp. 238
The Abstract State Machine Language supports use-case oriented modeling in a faithful way. In this paper we discuss how the AsmL test tool, a new component of the AsmL tool environment, is used to generate finite state machines from use-case models which c...
 
A Practical Method for Specification and Analysis of Exception Handling-A Java/JVM Case Study
Found in: IEEE Transactions on Software Engineering
By Egon Börger, Wolfram Schulte
Issue Date:September 2000
pp. 872-887
<p><b>Abstract</b>—In this paper, we provide a rigorous framework for language and platform independent design and analysis of exception handling mechanisms in modern programming languages and their implementations. To illustrate the prac...
 
Specification and verification: the Spec# experience
Found in: Communications of the ACM
By Herman Venter, K. Rustan M. Leino, K. Rustan M. Leino, Manuel Fahndrich, Manuel Fahndrich, Mike Barnett, Mike Barnett, Peter Muller, Peter Muller, Wolfram Schulte, Wolfram Schulte
Issue Date:June 2011
pp. 81-91
Can a programming language really help programmers write better programs?
     
Taking Control of Your Engineering Tools
Found in: Computer
By Wolfram Schulte,Chandra Prasad
Issue Date:October 2013
pp. 1
Traditionally software development tools, such as compilers, linkers and build engines, were designed for use by individual engineers on dedicated desktop machines. As these tools evolved, they scaled-up by exploiting more powerful development machines. Th...
 
SIMD parallelization of applications that traverse irregular data structures
Found in: 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)
By Bin Ren,Gagan Agrawal,James R. Larus,Todd Mytkowicz,Tomi Poutanen,Wolfram Schulte
Issue Date:February 2013
pp. 1-10
Fine-grained data parallelism is increasingly common in mainstream processors in the form of longer vectors and on-chip GPUs. This paper develops support for exploiting such data parallelism for a class of non-numeric, non-graphic applications, which perfo...
 
Data-parallel finite-state machines
Found in: Proceedings of the 19th international conference on Architectural support for programming languages and operating systems (ASPLOS '14)
By Madanlal Musuvathi, Todd Mytkowicz, Wolfram Schulte
Issue Date:March 2014
pp. 529-542
A finite-state machine (FSM) is an important abstraction for solving several problems, including regular-expression matching, tokenizing text, and Huffman decoding. FSM computations typically involve data-dependent iterations with unpredictable memory-acce...
     
Fine-grained parallel traversals of irregular data structures
Found in: Proceedings of the 21st international conference on Parallel architectures and compilation techniques (PACT '12)
By Bin Ren, Gagan Agrawal, James R. Larus, Todd Mytkowicz, Tomi Poutanen, Wolfram Schulte
Issue Date:September 2012
pp. 461-462
Fine-grain data parallelism is increasingly common in mainstream processors in the form of long vectors and on-chip GPUs. This paper develops compiler and runtime support to exploit such data parallelism for non-numeric, non-graphic, irregular parallel tas...
     
The inductive software engineering manifesto: principles for industrial data mining
Found in: Proceedings of the International Workshop on Machine Learning Technologies in Software Engineering (MALETS '11)
By Christian Bird, Ekrem Kocaganeli, Thomas Zimmermann, Tim Menzies, Wolfram Schulte
Issue Date:November 2011
pp. 19-26
The practices of industrial and academic data mining are very different. These differences have significant implications for (a) how we manage industrial data mining projects; (b) the direction of academic studies in data mining; and (c) training programs ...
     
Future of developer testing: building quality in code
Found in: Proceedings of the FSE/SDP workshop on Future of software engineering research (FoSER '10)
By Jonathan de Halleux, Nikolai Tillmann, Tao Xie, Wolfram Schulte
Issue Date:November 2010
pp. 415-420
Although much progress has been made in software verification, software testing remains by far the most widely used technique for improving software reliability. Among various types of testing, developer testing is a type of testing where developers test t...
     
Teaching and training developer-testing techniques and tool support
Found in: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion (SPLASH '10)
By Jonathan de Halleux, Nikolai Tillmann, Tao Xie, Wolfram Schulte
Issue Date:October 2010
pp. 175-182
Developer testing is a type of testing where developers test their code as they write it, as opposed to testing done by a separate quality assurance organization. Developer testing has been widely recognized as an important and valuable means of improving ...
     
SPUR: a trace-based JIT compiler for CIL
Found in: Proceedings of the ACM international conference on Object oriented programming systems languages and applications (OOPSLA '10)
By Florian Brandner, Francesco Logozzo, Herman Venter, Manuel Fahndrich, Michael Bebenita, Nikolai Tillmann, Wolfram Schulte
Issue Date:October 2010
pp. 708-725
Tracing just-in-time compilers (TJITs) determine frequently executed traces (hot paths and loops) in running programs and focus their optimization effort by emitting optimized machine code specialized to these traces. Prior work has established this strate...
     
From dependable multi-user to dependable multi-application operating systems: invited talk
Found in: Proceedings of the first ACM workshop on Secure execution of untrusted code (SecuCode '09)
By Wolfram Schulte
Issue Date:November 2009
pp. 1-2
In this talk I will report on two operating system (OS) efforts at Microsoft Research: Singularity [1, 2] and Service OS [3, 4]. Singularity focuses on the construction of dependable multi-user operating systems through innovation in the areas of systems, ...
     
The design of a task parallel library
Found in: Proceeding of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications (OOPSLA '09)
By Daan Leijen, Sebastian Burckhardt, Wolfram Schulte
Issue Date:October 2009
pp. 1057-1058
The Task Parallel Library (TPL) is a library for .NET that makes it easy to take advantage of potential parallelism in a program. The library relies heavily on generics and delegate expressions to provide custom control structures expressing structured par...
     
MSeqGen: object-oriented unit-test generation via mining source code
Found in: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering on European software engineering conference and foundations of software engineering symposium (ESEC/FSE '09)
By Jonathan de Halleux, Nikolai Tillmann, Suresh Thummalapenta, Tao Xie, Wolfram Schulte
Issue Date:August 2009
pp. 171-172
An objective of unit testing is to achieve high structural coverage of the code under test. Achieving high structural overage of object-oriented code requires desirable method-call sequences that create and mutate objects. These sequences help generate tar...
     
Workshop on state-space exploration for automated testing (SSEAT 2008)
Found in: Proceedings of the 2008 international symposium on Software testing and analysis (ISSTA '08)
By Darko Marinov, Wolfram Schulte
Issue Date:July 2008
pp. 119-120
SSEAT 2008 is a workshop that focuses on the recent research approaches to automated testing using state-space exploration techniques. The goal of the workshop is to bring together researchers from both industry and academia to informally discuss the lates...
     
Online testing with model programs
Found in: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-13)
By Colin Campbell, Margus Veanes, Nikolai Tillmann, Wolfram Schulte
Issue Date:September 2005
pp. 273-282
Online testing is a technique in which test derivation from a model program and test execution are combined into a single algorithm. We describe a practical online testing algorithm that is implemented in the model-based testing tool developed at Microsoft...
     
Parameterized unit tests
Found in: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-13)
By Nikolai Tillmann, Wolfram Schulte
Issue Date:September 2005
pp. 253-262
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 test arguments....
     
Parameterized unit tests with unit meister
Found in: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-13)
By Nikolai Tillmann, Wolfram Schulte
Issue Date:September 2005
pp. 241-244
Parameterized unit tests extend the current industry practice of using closed unit tests defined as parameterless methods. Traditional closed unit tests are re-obtained by instantiating the parameterized unit tests. We have developed the prototype tool Uni...
     
Optimal strategies for testing nondeterministic systems
Found in: Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis (ISSTA '04)
By Lev Nachmanson, Margus Veanes, Nikolai Tillmann, Wolfgang Grieskamp, Wolfram Schulte
Issue Date:July 2004
pp. 231-231
This paper deals with testing of nondeterministic software systems. We assume that a model of the nondeterministic system is given by a directed graph with two kind of vertices: states and choice points. Choice points represent the nondeterministic behavio...
     
Generating finite state machines from abstract state machines
Found in: Proceedings of the international symposium on Software testing and analysis (ISSTA '02)
By Margus Veanes, Wolfgang Grieskamp, Wolfram Schulte, Yuri Gurevich
Issue Date:July 2002
pp. 240
We give an algorithm that derives a finite state machine (FSM) from a given abstract state machine (ASM) specification. This allows us to integrate ASM specs with the existing tools for test case generation from FSMs. ASM specs are executable but have typi...
     
 1