4,951 papers · page 120 of 248
Collin McMillan, Mark Grechanik, Denys Poshyvanyk, Qing Xie, Chen Fu
In this demonstration, we present a code search system called Portfolio that retrieves and visualizes relevant functions and their usages. We will show how chains of relevant functions and their usages can be visualized to users in response to their queries.
Andrew McVeigh, Jeff Kramer, Jeff Magee
Incremental change is intrinsic to both the initial development and subsequent evolution of large complex software systems. Evolve is a graphical design tool that captures this incremental change in the definition of software architecture. It supports a principled and manageable …
Andrew Meneely, Laurie A. Williams
Software development teams must be properly structured to provide effectiv collaboration to produce quality software. Over the last several years, social network analysis (SNA) has emerged as a popular method for studying the collaboration and organization of people working in la…
Ali Mesbah, Mukul R. Prasad
With the advent of Web 2.0 applications and new browsers, the cross-browser compatibility issue is becoming increasingly important. Although the problem is widely recognized among web developers, no systematic approach to tackle it exists today. None of the current tools, which p…
Aleksandar Milicevic, Derek Rayside, Kuat Yessenov, Daniel Jackson
We present a unified environment for running declarative specifications in the context of an imperative object-Oriented programming language. Specifications are Alloy-like, written in first-order relational logic with transitive closure, and the imperative language is Java. By be…
Mehdi Mirakhorli
This thesis describes a Decision-Centric traceability framework that supports software engineering activities such as architectural preservation, impact analysis, and visualization of design intent. We present a set of traceability patterns, derived from studying real-world archi…
Mehdi Mirakhorli, Jane Cleland-Huang
Software architecture is shaped by a diverse set of interacting and competing quality concerns, each of which may have broad-reaching impacts across multiple architectural views. Without traceability support, it is easy for developers to inadvertently change critical architectura…
Gail C. Murphy, Andreas Zeller
The better we meet the interest of our community, the better we can help bringing ourselves up-to-date with the latest and greatest in and around software engineering. To this purpose, ICSE 2011 for the first time featured technical briefings, an all-day venue for communicating t…
Syed Shariyar Murtaza, Nazim H. Madhavji, Mechelle Gittens, Zude Li
Literature indicates that 20% of a program's code is responsible for 80% of the faults, and 50-90% of the field failures are rediscoveries of previous faults. Despite this, identification of faulty code can consume 30-40% time of error correction. Previous fault-discovery techniq…
Kumiyo Nakakoji
The design and development of a software system deals with both the world of making and that of using. The world of making is concerned with molding, constructing and building. The world of using is concerned with engaging, experiencing, and interacting-with. The two worlds are s…
Joseph P. Near, Aleksandar Milicevic, Eunsuk Kang, Daniel Jackson
A dependability case is an explicit, end-to-end argument, based on concrete evidence, that a system satisfies a critical property. We report on a case study constructing a dependability case for the control software of a medical device. The key novelty of our approach is a lightw…
Tung Thanh Nguyen, Hung Viet Nguyen, Hoan Anh Nguyen, Tien N. Nguyen
Cross-cutting concerns are unavoidable and create difficulties in the development and maintenance of large-scale systems. In this paper, we present a novel approach that identifies certain groups of code units that potentially share some cross-cutting concerns and recommends them…
Tung Thanh Nguyen, Tien N. Nguyen, Tu Minh Phuong
Defects are unavoidable in software development and fixing them is costly and resource-intensive. To build defect prediction models, researchers have investigated a number of factors related to the defect-proneness of source code, such as code complexity, change complexity, or so…
Nan Niu, Anas Mahmoud, Gary Bradshaw
A major software engineering challenge is to understand the fundamental mechanisms that underlie the developer's code navigation behavior. We propose a novel and unified theory based on the premise that we can study developer's information seeking strategies in light of the forag…
Alexander Nöhrer, Alexander Reder, Alexander Egyed
State-of-the-art modeling tools can help detect inconsistencies in software models. Some can even generate fixing actions for these inconsistencies. However such approaches handle inconsistencies individually, assuming that each single inconsistency is a manifestation of an indiv…
Liam O'Brien, James Gibson, Jon Gray
Many organizations are introducing Service Oriented Architecture (SOA) as part of their business transformation projects to take advantage of the proposed benefits associated with using SOA. However, in many cases organizations don't necessarily know on which projects introducing…
Jungju Oh, Christopher J. Hughes, Guru Venkataramani, Milos Prvulovic
With the ubiquity of multi-core processors, software must make effective use of multiple cores to obtain good performance on modern hardware. One of the biggest roadblocks to this is load imbalance, or the uneven distribution of work across cores. We propose LIME, a framework for…
Rocco Oliveto, Malcom Gethers, Gabriele Bavota, Denys Poshyvanyk, Andrea De Lucia
We propose a novel approach to identify Move Method refactoring opportunities and remove the Feature Envy bad smell from source code. The proposed approach analyzes both structural and conceptual relationships between methods and uses Relational Topic Models to identify sets of m…
Harold Ossher, André van der Hoek, Margaret-Anne D. Storey, John Grundy, Rachel K. E. Bellamy, Marian Petre
Modeling tools are often not used for tasks during the software lifecycle for which they should be more helpful; instead free-from approaches, such as office tools and white boards, are frequently used. Prior workshops explored why this is the case and what might be done about it…
Ipek Ozkaya, Philippe Kruchten, Robert L. Nord, Nanette Brown
The technical debt metaphor is gaining significant traction in the software development community as a way to understand and communicate issues of intrinsic quality, value, and cost. The idea is that developers sometimes accept compromises in a system in one dimension (e.g., modu…