By Topic

Software, IEEE

Issue 2 • Date March-April 2012

Filter Results

Displaying Results 1 - 25 of 26
  • Front Cover

    Page(s): c1
    Save to Project icon | Request Permissions | PDF file iconPDF (439 KB)  
    Freely Available from IEEE
  • ICSE 2012 Advertisement

    Page(s): c2
    Save to Project icon | Request Permissions | PDF file iconPDF (2299 KB)  
    Freely Available from IEEE
  • Impact 2012 Advertisement

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (4501 KB)  
    Freely Available from IEEE
  • Table of Contents

    Page(s): 2 - 3
    Save to Project icon | Request Permissions | PDF file iconPDF (761 KB)  
    Freely Available from IEEE
  • A Brave New World of Testing? An Interview with Google's James Whittaker

    Page(s): 4 - 7
    Save to Project icon | Request Permissions | PDF file iconPDF (372 KB)  
    Freely Available from IEEE
  • STAREAST 2012 Advertisement

    Page(s): 8
    Save to Project icon | Request Permissions | PDF file iconPDF (6565 KB)  
    Freely Available from IEEE
  • Next-Generation Architects for a Harsh Business World

    Page(s): 9 - 12
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (981 KB) |  | HTML iconHTML  

    Walter Ariel Risi proposes some patterns for hiring productive people that remind me of research done in the early days of patterns by Jim Coplien, who found that hyperproductive teams included, in many cases, musicians! In the old days, companies often hired smart people from other disciplines because software engineering or computer science hadn't joined the academic production of certified, degreed contributors. With the current focus now on degrees, I wonder if we've lost something important. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Searching the Internet

    Page(s): 13 - 16
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2698 KB)  

    This column differs somewhat from previous ones in that the software itself isn't shipped-rather, the results of the software are shipped, and in huge numbers. Mike Andrews of Microsoft reveals some of the intricacies and enormous resources required for successful Web search with a fascinating glimpse into the Bing search engine. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Listen, Then Use EARS

    Page(s): 17 - 18
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (416 KB)  

    Applying the Easy Approach to Requirements Syntax (EARS) template can result in a simple, clear requirement. However, to be able to write a simple statement, you must first understand what you want the system to do, which might be difficult. The simplicity of the EARS templates prevents engineers from hiding behind ambiguous statements of what the system must do. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • SEPG 2012 Advertisement

    Page(s): 19
    Save to Project icon | Request Permissions | PDF file iconPDF (3235 KB)  
    Freely Available from IEEE
  • Facing Future

    Page(s): 20 - 21
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (294 KB) |  | HTML iconHTML  

    There comes a point of no return in the life of every successful software-intensive system, a point where you can no longer place a pile of your best developers at one end of a lever and expect them to move the world. Rather, you must come to realize that putting piles of developers at the end of even the longest lever is no longer the right tool to use. Crossing that point while still preserving the values and the tribal memory of your organization's development culture requires some serious adult supervision. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Techniques and Tools for Parallelizing Software

    Page(s): 22 - 25
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (665 KB)  

    With the emergence of multicore and manycore processors, engineers must design and develop software in drastically new ways to benefit from the computational power of all cores. However, developing parallel software is much harder than sequential software because parallelism can't be abstracted away easily. Authors Hans Vandierendonck and Tom Mens provide an overview of technologies and tools to support developers in this complex and error-prone task. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Guest Editors' Introduction: Software Engineering for the Cloud

    Page(s): 26 - 29
    Save to Project icon | Request Permissions | PDF file iconPDF (870 KB)  
    Freely Available from IEEE
  • Environmental Modeling for Automated Cloud Application Testing

    Page(s): 30 - 35
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1013 KB)  

    Platforms such as Windows Azure let applications conduct data-intensive cloud computing. Unit testing can help ensure high-quality development of such applications, but the results depend on test inputs and the cloud environment's state. Manually providing various test inputs and cloud states is laborious and time-consuming. However, automated test generation must simulate various cloud states to achieve effective testing. To address this challenge, a proposed approach models the cloud environment and applies dynamic symbolic execution to generate test inputs and cloud states. Applying this approach to open-source Azure cloud applications shows that it can achieve high structural coverage. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Distributed Access Control Architecture for Cloud Computing

    Page(s): 36 - 44
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (897 KB)  

    The large-scale, dynamic, and heterogeneous nature of cloud computing poses numerous security challenges. But the cloud's main challenge is to provide a robust authorization mechanism that incorporates multitenancy and virtualization aspects of resources. The authors present a distributed architecture that incorporates principles from security management and software engineering and propose key requirements and a design model for the architecture. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Hot Chips Advertisement

    Page(s): 45
    Save to Project icon | Request Permissions | PDF file iconPDF (728 KB)  
    Freely Available from IEEE
  • Testing in the Cloud: Exploring the Practice

    Page(s): 46 - 51
    Multimedia
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (857 KB)  

    As applications and services migrate to the cloud, testing will follow the same trend. Therefore, organizations must understand the dynamics of cloud-based testing. This article presents interviews with eight organizations that use cloud computing. The results suggest that cloud computing can make testing faster and enhance the delivery of testing services. Cloud computing also highlights important aspects of testing that require attention, such as integration and interoperability. This article includes a Web extra that provides additional references for further study. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Evaluating High-Performance Computing on Google App Engine

    Page(s): 52 - 58
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (875 KB)  

    An experimental approach employs the Google App Engine (GAE) for high-performance parallel computing. A generic master-slave framework enables fast prototyping and integration of parallel algorithms that are transparently scheduled and executed on the Google cloud infrastructure. Compared to Amazon Elastic Compute Cloud (EC2), GAE offers lower resource-provisioning overhead and is cheaper for jobs shorter than one hour. Experiments demonstrated good scalability of a Monte Carlo simulation algorithm. Although this approach produced important speedup, two main obstacles limited its performance: middleware overhead and resource quotas. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Enhancing Defect Tracking Systems to Facilitate Software Quality Improvement

    Page(s): 59 - 66
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1210 KB) |  | HTML iconHTML  

    For projects that rely on empirical process control and deliver frequently working versions of software, developers and project managers regularly need to examine the status of their software quality. This study illustrates that simple goal-oriented changes or extensions to the existing data of projects' respective defect tracking systems could provide valuable and prompt information to improve their software quality assessment and assurance. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The Success Factors Powering Industry-Academia Collaboration

    Page(s): 67 - 73
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (890 KB)  

    Collaboration between industry and academia supports improvement and innovation in industry and helps to ensure industrial relevance in academic research. This article presents an exploratory study of the factors for successful collaboration between industry and academia in software research. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Lessons from Developing Nonfunctional Requirements for a Software Platform

    Page(s): 74 - 80
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (966 KB)  

    Employing a software platform is an approach to achieve a higher degree of software reuse by enabling multiple software products to share the platform-provided services. However, platform development usually involves stakeholders from different application domains. Their application situations vary widely and thus nonfunctional requirements (NFRs) for the software platform must address a wider range of needs than those for a single product. This article describes lessons learned in developing NFRs for a large software platform, the challenging issues, and the techniques used to address them. The techniques are pragmatic and helped with NFR reconciliation and management. The improved quality of the NFR specifications has permitted automation of platform performance testing for the past two years. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Code Matters!

    Page(s): 81 - 83
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (543 KB)  

    There is broad consensus that architects should code. Yet the challenging question is: how can architects program without being lost in myriads of local code details? Even when they program they should be in full control of a system's entire architecture. Thus, architects should not program for fun or to be accepted by developers. Instead they should program to guide an architecture's realization and get feedback on the sustainability and habitability of their own designs! Agile practices help architects to balance their coding activities with other duties, allowing them to be in control of the amount of time they spend on programming and the concerns and system parts on which they program. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Package Management Systems

    Page(s): 84 - 86
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (481 KB) |  | HTML iconHTML  

    A package management system organizes and simplifies the installation and maintenance of software by standardizing and organizing the production and consumption of software collections. As a software developer, you can benefit from package managers in two ways: through a rich and stable development environment and through friction-free reuse. Promisingly, the structure that package managers bring both to the tools we use in our development process and the libraries we reuse in our products ties nicely with the recent move emphasizing DevOps (development operations) as an integration between software development and IT operations. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The Gender Gap: Is It a Computing Problem or Simply a Computer Science Problem?

    Page(s): 88
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (395 KB)  

    Almost everyone agrees that there is a gender gap in computer science, where there are far too few females participating in the field. But does that gap occur in the whole of the field of computing? This sounding board explores the notion that the gap is unique to CS, and that any solution to the problem must occur within that field and not the broader field of computing. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Digital Computer Advertisement

    Page(s): c3
    Save to Project icon | Request Permissions | PDF file iconPDF (2733 KB)  
    Freely Available from IEEE

Aims & Scope

IEEE Software's mission is to build the community of leading and future software practitioners. The magazine delivers reliable, useful, leading-edge software development information to keep engineers and managers abreast of rapid technology change

Full Aims & Scope

Meet Our Editors

Editor-in-Chief
Forrest Shull
Fraunhofer Center for Experimental Software Engineering