By Topic

Software, IEEE

Issue 5 • Date Sept.-Oct. 2011

Filter Results

Displaying Results 1 - 25 of 27
  • Front Cover

    Publication Year: 2011 , Page(s): c1
    Save to Project icon | Request Permissions | PDF file iconPDF (733 KB)  
    Freely Available from IEEE
  • John Wiley Advertisement

    Publication Year: 2011 , Page(s): c2
    Save to Project icon | Request Permissions | PDF file iconPDF (310 KB)  
    Freely Available from IEEE
  • Software Quality Engineering Conferences Advertisement

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

    Publication Year: 2011 , Page(s): 2 - 3
    Save to Project icon | Request Permissions | PDF file iconPDF (1254 KB)  
    Freely Available from IEEE
  • Managing Montezuma: Handling All the Usual Challenges of Software Development, and Making It Fun: An Interview with Ed Beach

    Publication Year: 2011 , Page(s): 4 - 7
    Save to Project icon | Request Permissions | PDF file iconPDF (1356 KB) |  | HTML iconHTML  
    Freely Available from IEEE
  • Remembering Ann Miller

    Publication Year: 2011 , Page(s): 8
    Save to Project icon | Request Permissions | PDF file iconPDF (256 KB) |  | HTML iconHTML  
    Freely Available from IEEE
  • Technology Transfer: A Software Security Marketplace Case Study

    Publication Year: 2011 , Page(s): 9 - 11
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (909 KB) |  | HTML iconHTML  

    This paper presents the software security (application security) solutions. It is an idea of engineering software so that it continues to function correctly under malicious attack. Although as a discipline software security is relatively young, much progress has been made on ways to integrate security best practices into the software development life cycle. Microsoft, for example, has helped spearhead soft ware security through its Trustworthy Computing Initiative and the resulting Security Development Lifecycle (SDL). Cigital has also been instrumental in bringing software security to the wider market through its professional services. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Unintentional and Unbalanced Transparency

    Publication Year: 2011 , Page(s): 12 - 13
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (268 KB) |  | HTML iconHTML  

    Security and privacy are interdependent concepts. Each impacts the other, but to say that they are alternatives is a false dichotomy. Both are issues of human concern; their policies and their risks may be made manifest in software-intensive systems. Architecting a system that attends to the needs of security and privacy is possible and desirable, yet there are often unintended and unexpected consequences in so doing. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Naïveté Squared: In Search of Two Taxonomies and a Mapping between Them

    Publication Year: 2011 , Page(s): 14 - 15
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (278 KB) |  | HTML iconHTML  

    The authors describe an issue that they think is extremely important: the relationship between applications and solutions in the software engineering and information systems fields. In particular, they believe the fields desperately need a taxonomy of application domains, a taxonomy of solution approaches, and a mapping between the two. This article has a Web extra that offers an interview with one of the article's authors, Robert L. Glass, about the "dark side" of this topic. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Testing Software Product Lines

    Publication Year: 2011 , Page(s): 16 - 20
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1517 KB) |  | HTML iconHTML  

    Two studies of testing practices for software product lines identify gaps between required techniques and existing approaches in the available literature. This Web extra offers extra details for the main article (specifically, the bibliography for the two studies described). View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Gardening Your Architecture, Part 2: Reengineering and Rewriting

    Publication Year: 2011 , Page(s): 21 - 23
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (617 KB) |  | HTML iconHTML  

    Reengineering and rewriting are two common approaches for improving system quality-in addition to refactoring, which the last installment of this column explored. Reengineering is a systematic approach to evolve existing software to exhibit new behavior, features, and operational quality. Refactoring and reengineering aren't the same, and they're also different from rewriting-the most radical change-which involves wiping the slate clean and starting over. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software Mileage

    Publication Year: 2011 , Page(s): 24 - 26
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (516 KB) |  | HTML iconHTML  

    Looking back on the first seven Impact columns for IEEE Software, the editors propose a new metric called software mileage, defined as the number of new customers per year per line of code. View full abstract»

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

    Publication Year: 2011 , Page(s): 27 - 29
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2706 KB) |  | HTML iconHTML  

    Successful development of video games hinges on understanding the difficulties of ensuring the resulting product is fun. Addressing this soft requirement, incorporating nontrivial multimedia, and other domain-specific concerns bring novel challenges to software development. The guest editors of this special issue on "engineering fun" describe some of the major problems and present articles that illustrate the difficulties in designing and producing applications that must somehow result in an enjoyable player experience while still satisfying the demands of a large, complex graphical, real-time, and distributed application. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Improving Digital Game Development with Software Product Lines

    Publication Year: 2011 , Page(s): 30 - 37
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2586 KB) |  | HTML iconHTML  

    Introducing reuse and software product line (SPL) concepts into digital game-development processes isn't a straightforward task. This work presents a systematic process for bridging SPLs to game development, culminating with domain-specific languages and generators streamlined for game subdomains. The authors present a game SPL for arcade games as a case study to illustrate and evaluate their proposed guidelines. This article is part of a special issue on games. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Journey: A Massively Multiplayer Online Game Middleware

    Publication Year: 2011 , Page(s): 38 - 44
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1008 KB) |  | HTML iconHTML  

    The design of massively multiplayer online games (MMOGs) is challenging because scalability, consistency, reliability, and fairness must be achieved while providing good performance and enjoyable gameplay. This article presents Journey, an MMOG middleware that hides the complexity of dealing with the aforementioned issues from the game programmer. Journey builds on top of a peer-to-peer network infrastructure to provide load-balancing, fault-tolerance, and cheat-detection capabilities centered on object-oriented technology. Experimental results show performance measurements obtained by running Journey on more than 200 machines. View full abstract»

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

    Publication Year: 2011 , Page(s): 45
    Save to Project icon | Request Permissions | PDF file iconPDF (4372 KB)  
    Freely Available from IEEE
  • Capture and Analysis of Racing Gameplay Metrics

    Publication Year: 2011 , Page(s): 46 - 52
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1981 KB) |  | HTML iconHTML  

    This article presents a flexible, extendable system called Tracktivity that can capture gameplay metrics in any type of leaderboard-based video game. This system incorporates novel visualizations, including a dynamic competition balancing (DCB) measure and driver progression, to enhance the resulting gameplay experience. This article also presents use cases of the system and the techniques used to visualize and study the data gathered. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Repairing Games at Runtime or, How We Learned to Stop Worrying and Love Emergence

    Publication Year: 2011 , Page(s): 53 - 59
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1534 KB) |  | HTML iconHTML  

    Games must be emergent, constantly surprising players by the possibilities they offer. However, emergence creates unpredictability, preventing developers from verifying that their games won't lead to undesirable states. Worse still, even when a bug is found, finding out how it occurred can be a significant challenge. The authors present Mayet, a system for monitoring software at runtime, and use it to repair a game as it executes. This capability lets developers focus on creating excellent gaming experiences and not worry about edge cases and untraceable bugs. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Strategies Facilitating Software Product Transfers

    Publication Year: 2011 , Page(s): 60 - 66
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2612 KB) |  | HTML iconHTML  

    Globalization of software work has become common in today's market. As part of cost-reduction strategies, many product-focused software companies started shipping their product development to insourcing and outsourcing offshore locations. Unfortunately, moving software products from one site to another isn't always a good business strategy for either the organization or the product. In this article, the authors discuss findings from studying software insourcing transfers at Ericsson, a large software product development company headquartered in Sweden. Their findings suggest that certain product, personnel, and process characteristics can facilitate the execution of an offshore insourcing transfer. On the basis of research conducted together with the company, they share a list of critical factors alleviating transfer difficulties and seven strategies facilitating transition of software work across sites. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Survey on Open Source Software Trustworthiness

    Publication Year: 2011 , Page(s): 67 - 75
    Cited by:  Papers (4)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1258 KB) |  | HTML iconHTML  

    Trustworthiness is a crucial characteristic when it comes to evaluating any product, even more so for open source software, which is now becoming widely used. The authors conducted a survey to identify the reasons and motivations that lead software companies to adopt or reject open source software; they then ranked, according to importance, the specific trust factors used when selecting an open source software component or product. The motivations and importance ranking of factors might be useful for both developers of open source software (to make their products and components more useful for other stakeholders) and to future prospective open source software users. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Access Control in JavaScript

    Publication Year: 2011 , Page(s): 76 - 84
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1190 KB) |  | HTML iconHTML  

    ZAC is a practical lightweight library for access control in JavaScript based on aspect orientation. Its access control architecture is stack based, similar to those of Java and C#. However, ZAC integrates other features for more expressive access control. First, access control policies can be enforced at the level of objects, which permits more fine-grained control over resource access. Second, policies in ZAC can base their decisions on scripts' execution history. This lets developers express policies that are impossible to define using other models, such as bounded-time execution. View full abstract»

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

    Publication Year: 2011 , Page(s): 85
    Save to Project icon | Request Permissions | PDF file iconPDF (3409 KB)  
    Freely Available from IEEE
  • Test Management

    Publication Year: 2011 , Page(s): 86 - 91
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1162 KB) |  | HTML iconHTML  

    In many projects, testing consumes the single biggest amount of resources of all activities. Companies tend to collect test cases like stamps without clear strategy-just in case. Many companies suffer with insufficient quality, visibility and test progress management. This article introduces test management. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Requirements Tracery

    Publication Year: 2011 , Page(s): 92 - 94
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1771 KB) |  | HTML iconHTML  

    This paper presents traceability of software. Traceability expresses the potential to create and follow links between pairs of development artifacts to support analytical or development tasks. While a traceability information model or some similar specification of permissible links between artifact types can predefine the intended types of trace to establish and use, the overall tracery obtained in practice is rarely designed or scrutinized. The sum total of the actual traces created within a project provides the scaffolding for supporting many diverse engineering activities. They deserve far more attention. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Faking It

    Publication Year: 2011 , Page(s): 96
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (274 KB) |  | HTML iconHTML  

    CPUs are no longer getting faster. Instead, CPU manufacturers now package multiple cores in each CPU and ask us developers to put them to good use. Writing parallel code using multiple threads or even a higher-level API is a fiendishly difficult task. An alternative approach involves using a programming language that can easily exploit multiple cores, but it requires substantial effort. A third way involves faking your application's multicore-handling dexterity by handing over this responsibility. At the highest level, it's easy to put multiple cores to work if your application serves Web requests (pass them to a Web application server) or dishes out SQL statements (via a commercial RDBMS). Another high-level way to utilize multiple cores is to let the operating system do it for you by splitting your processing among independent processes. You can do this by using pipelines of communicating processes, by splitting the work among many instances of the same process with GNU parallel, or by parallelizing independent work items with make -j. At the application level, you can do the same by employing the map-reduce and filter-reduce techniques. View full abstract»

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

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
Diomidis Spinellis
Athens University of Economics and Business
28is Oktovriou 76
Athina 104 33, Greece
dds@computer.org