Open Access. Powered by Scholars. Published by Universities.®
- Discipline
-
- Databases and Information Systems (619)
- Engineering (554)
- Artificial Intelligence and Robotics (474)
- Programming Languages and Compilers (435)
- Computer Engineering (369)
-
- Graphics and Human Computer Interfaces (308)
- Other Computer Sciences (259)
- Information Security (227)
- Theory and Algorithms (204)
- Systems Architecture (197)
- Social and Behavioral Sciences (194)
- OS and Networks (174)
- Business (157)
- Numerical Analysis and Scientific Computing (146)
- Education (140)
- Electrical and Computer Engineering (104)
- Medicine and Health Sciences (97)
- Computer and Systems Architecture (94)
- Data Science (86)
- Digital Communications and Networking (71)
- Operations Research, Systems Engineering and Industrial Engineering (69)
- Communication (54)
- Life Sciences (54)
- Environmental Sciences (53)
- Arts and Humanities (48)
- Technology and Innovation (42)
- Systems Engineering (41)
- Institution
-
- Singapore Management University (2211)
- California Polytechnic State University, San Luis Obispo (206)
- Western University (130)
- Air Force Institute of Technology (124)
- University of Malaya (114)
-
- City University of New York (CUNY) (100)
- MMU Press (95)
- California State University, San Bernardino (88)
- Old Dominion University (72)
- Portland State University (50)
- Edith Cowan University (48)
- United Arab Emirates University (48)
- University of Nevada, Las Vegas (48)
- University of Arkansas, Fayetteville (42)
- Loyola University Chicago (40)
- Chapman University (36)
- San Jose State University (36)
- University of Nebraska - Lincoln (35)
- Kennesaw State University (34)
- Embry-Riddle Aeronautical University (32)
- St. Mary's University (31)
- Rochester Institute of Technology (29)
- The University of Akron (23)
- Purdue University (22)
- University of Dayton (22)
- Technological University Dublin (21)
- Dakota State University (18)
- Universitas Negeri Yogyakarta (17)
- University of Nebraska at Omaha (17)
- Institute of Business Administration (16)
- Keyword
-
- Software engineering (152)
- Software (83)
- Deep learning (82)
- Machine learning (78)
- Machine Learning (63)
-
- Software Engineering (63)
- Android (60)
- Computer Science (52)
- Deep Learning (51)
- Empirical study (47)
- Software development (44)
- Refactoring (42)
- Computer science (38)
- Security (37)
- Programming (36)
- Java (35)
- Software maintenance (34)
- Software testing (34)
- Collaboration (32)
- Model Check (29)
- Testing (29)
- GitHub (27)
- Python (26)
- Artificial Intelligence (25)
- Stack Overflow (25)
- Data mining (24)
- Visualization (24)
- Computer software -- Development (23)
- Cybersecurity (23)
- Large language models (23)
- Publication Year
- Publication
-
- Research Collection School Of Computing and Information Systems (2149)
- Theses and Dissertations (144)
- Electrical and Computer Engineering Publications (130)
- Collaborative Agent Design (CAD) Research Center (103)
- Student Works (2000-2009) (103)
-
- Journal of Informatics and Web Engineering (95)
- Theses Digitization Project (73)
- Publications and Research (67)
- Master's Theses (47)
- Dissertations and Theses Collection (Open Access) (40)
- Computer Science: Faculty Publications and Other Works (39)
- Theses (35)
- Computer Science Faculty Publications (31)
- Theses : Honours (28)
- Articles (27)
- Computer Science and Software Engineering (27)
- Computer Engineering (24)
- Open Educational Resources (24)
- Separations Campaign (TRP) (24)
- Williams Honors College, Honors Research Projects (23)
- Computer Science Faculty Publications and Presentations (21)
- Electronic Theses and Dissertations (21)
- Honors Theses (21)
- Computer Science and Computer Engineering Undergraduate Honors Theses (20)
- Faculty Publications (19)
- Dissertations (18)
- Master's Projects (18)
- University Honors Theses (18)
- Elinvo (Electronics, Informatics, and Vocational Education) (17)
- School of Computing: Dissertations, Theses, and Student Research (17)
- Publication Type
- File Type
Articles 3541 - 3570 of 4425
Full-Text Articles in Software Engineering
Matching Dependence-Related Queries In The System Dependence Graph., Xiaoyin Wang, David Lo, Jiefeng Cheng, Lu Zhang, Hong Mei, Jeffrey Xu Yu
Matching Dependence-Related Queries In The System Dependence Graph., Xiaoyin Wang, David Lo, Jiefeng Cheng, Lu Zhang, Hong Mei, Jeffrey Xu Yu
Research Collection School Of Computing and Information Systems
In software maintenance and evolution, it is common that developers want to apply a change to a number of similar places. Due to the size and complexity of the code base, it is challenging for developers to locate all the places that need the change. A main challenge in locating the places that need the change is that, these places share certain common dependence conditions but existing code searching techniques can hardly handle dependence relations satisfactorily. In this paper, we propose a technique that enables developers to make queries involving dependence conditions and textual conditions on the system dependence graph …
Enumeration Refactoring: A Tool For Automatically Converting Java Constants To Enumerated Types, Raffi Khatchadourian, Benjamin Muskalla
Enumeration Refactoring: A Tool For Automatically Converting Java Constants To Enumerated Types, Raffi Khatchadourian, Benjamin Muskalla
Publications and Research
Java 5 introduces several new features that significantly improve older Java technology. We consider the new enum construct, which provides language support for enumerated types. Before Java 5, programmers needed to employ various patterns to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly desirable properties of the enum construct, notably type-safety. We demonstrate an automated refactoring tool called Convert Constants to Enum for transforming legacy Java code to use the new enumeration construct. An interprocedural type inferencing algorithm that tracks the flow of enumerated values drives the approach, and the tool is …
Developing Model Checkers Using Pat, Yang Liu, Jun Sun, Jin Song Dong
Developing Model Checkers Using Pat, Yang Liu, Jun Sun, Jin Song Dong
Research Collection School Of Computing and Information Systems
During the last two decades, model checking has emerged as an effective system analysis technique complementary to simulation and testing. Many model checking algorithms and state space reduction techniques have been proposed. Although it is desirable to have dedicated model checkers for every language (or application domain), implementing one with effective reduction techniques is rather challenging. In this work, we present a generic and extensible framework PAT, which facilitates users to build customized model checkers. PAT provides a library of state-of-art model checking algorithms as well as support for customizing language syntax, semantics, state space reduction techniques, graphic user interfaces, …
Comprehensive Evaluation Of Association Measures For Fault Localization, Lucia Lucia, David Lo, Lingxiao Jiang, Aditya Budi
Comprehensive Evaluation Of Association Measures For Fault Localization, Lucia Lucia, David Lo, Lingxiao Jiang, Aditya Budi
Research Collection School Of Computing and Information Systems
In statistics and data mining communities, there have been many measures proposed to gauge the strength of association between two variables of interest, such as odds ratio, confidence, Yule-Y, Yule-Q, Kappa, and gini index. These association measures have been used in various domains, for example, to evaluate whether a particular medical practice is associated positively to a cure of a disease or whether a particular marketing strategy is associated positively to an increase in revenue, etc. This paper models the problem of locating faults as association between the execution or non-execution of particular program elements with failures. There have been …
An Automated Approach For Finding Variable-Constant Pairing Bugs, Julia Lawall, David Lo
An Automated Approach For Finding Variable-Constant Pairing Bugs, Julia Lawall, David Lo
Research Collection School Of Computing and Information Systems
Named constants are used heavily in operating systems code, both as internal flags and in interactions with devices. Decision making within an operating system thus critically depends on the correct usage of these values. Nevertheless, compilers for the languages typically used in implementing operating systems provide little support for checking the usage of named constants. This affects correctness, when a constant is used in a context where its value is meaningless, and software maintenance, when a constant has the right value for its usage context but the wrong name. We propose a hybrid program-analysis and data-mining based approach to identify …
Intelligent Software For Ecological Building Design, Jens G. Pohl, Hisham Assal, Kym J. Pohl
Intelligent Software For Ecological Building Design, Jens G. Pohl, Hisham Assal, Kym J. Pohl
Collaborative Agent Design (CAD) Research Center
Building design is a complex process because of the number of elements and issues involved and the number of relationships that exist among them. Adding sustainability issues to the list increases the complexity of design by an order of magnitude. There is a need for computer assistance to manage the increased complexity of design and to provide intelligent collaboration in formulating acceptable design solutions. Software development technology today offers opportunities to design and build an intelligent software system environment that can serve as a reliable intelligent partner to the human designer.
In this paper the authors discuss the requirements for …
Preconference Proceedings On Advances In Adaptive Planning Capabilities, Jens G. Pohl
Preconference Proceedings On Advances In Adaptive Planning Capabilities, Jens G. Pohl
Collaborative Agent Design (CAD) Research Center
No abstract provided.
A Method To Implement Location Transparency In A Web Service Environment, Xiaoshan Pan, Jens G. Pohl
A Method To Implement Location Transparency In A Web Service Environment, Xiaoshan Pan, Jens G. Pohl
Collaborative Agent Design (CAD) Research Center
Location transparency offers some significant benefits in the areas of middleware, Service-Oriented Architecture (SOA) and Cloud Computing. However, methods for achieving location transparency in a Web service environment are scarcely presented in the literature. This paper introduces such a method by describing a design and HTTP protocol-based implementation of location transparency. A number of benefits, including support for the creation of a virtual platform and increased mobility, availability and scalability of services, are elaborated. Two significant capabilities -performance-based load balancing and failover -are demonstrated as part of the experimental results.
On The Road To Intelligent Web Applications, Hisham Assal, Kym J. Pohl, Jens G. Pohl
On The Road To Intelligent Web Applications, Hisham Assal, Kym J. Pohl, Jens G. Pohl
Collaborative Agent Design (CAD) Research Center
Increasing access to data sources on the Internet offers expanding opportunities for equipping intelligent applications with the content they require whether broad in scope or rich in detail. Although typically originating within the web in a semi-structured form, with the use of inference-based translation and analysis mechanisms such content can be transformed into useful information and ultimately into actionable knowledge. Service-Oriented Architecture (SOA) offers a platform for accessing the web as invocable resources and effectively incorporating multiple sources of data and capabilities on the Internet into enterprise applications. Adding inference capabilities to SOA-based applications not only aids in the translation …
Solving The Data Deluge Problem, Jens G. Pohl
Solving The Data Deluge Problem, Jens G. Pohl
Collaborative Agent Design (CAD) Research Center
The paper postulates that the information technology revolution that is commonly referred to as the Information Age is currently in a transition stage between data-processing and knowledge management that should be more aptly referred to as the Data Age. Symptoms of this transition stage are a data deluge problem that is evidenced by the inability of human computer-users to effectively analyze and draw useful conclusions from the overwhelming volume of data that is being collected, the increasing complexity of networked systems, and the acknowledged vulnerability of virtually all existing digital systems to cyber security threats.
The author suggests that the …
An Empirical Study On The Procedure To Derive Software Quality Estimation Models, Jie Xu, Danny Ho, Luiz Fernando Capretz
An Empirical Study On The Procedure To Derive Software Quality Estimation Models, Jie Xu, Danny Ho, Luiz Fernando Capretz
Electrical and Computer Engineering Publications
Software quality assurance has been a heated topic for several decades. If factors that influence software quality can be identified, they may provide more insight for better software development management. More precise quality assurance can be achieved by employing resources according to accurate quality estimation at the early stages of a project. In this paper, a general procedure is proposed to derive software quality estimation models and various techniques are presented to accomplish the tasks in respective steps. Several statistical techniques together with machine learning method are utilized to verify the effectiveness of software metrics. Moreover, a neuro-fuzzy approach is …
Visual Occam: High Level Visualization And Design Of Process Networks, Mikolaj M. Slomka
Visual Occam: High Level Visualization And Design Of Process Networks, Mikolaj M. Slomka
UNLV Theses, Dissertations, Professional Papers, and Capstones
With networks, multiprocessors, and multi-threaded systems becoming more common in our world it is increasingly evident that concurrent programming is not something to be ignored or marginalized even though many takes on concurrency (mainly by means of monitors or shared resources) have proven to be difficult to deal with on large scales. Thankfully, a good deal of work has already been done to combat this, through CSP, occam, and other such derivatives, to produce a scalable process oriented paradigm. Still, it is cumbersome to attempt to deal with the intricacies of such communicating networks down to every minutia; if, instead, …
Design And Implementation Of A Middleware For Easy Development And Provision Of Stream-Based Services, Seungwoo Kang, Youngki Lee, Sunghwan Ihm, Souneil Park, Su-Myeon Kim, Junehwa Song
Design And Implementation Of A Middleware For Easy Development And Provision Of Stream-Based Services, Seungwoo Kang, Youngki Lee, Sunghwan Ihm, Souneil Park, Su-Myeon Kim, Junehwa Song
Research Collection School Of Computing and Information Systems
This paper proposes MISSA, a novel middleware to facilitate the development and provision of stream-based services in emerging pervasive environments. The stream-based services utilize voluminous and continuously updated data streams as their input. The characteristics of data streams bring new requirements on the development and provision of the services. To satisfy the requirements, a unique service model and a runtime system are designed in MISSA. The key concept of our service model is to separate service logic from handling data streams. This significantly mitigates the burden on service developers by allowing them to only concentrate on the service logic. Job …
Auditing The Defense Against Cross Site Scripting In Web Applications, Lwin Khin Shar, Hee Beng Kuan Tan
Auditing The Defense Against Cross Site Scripting In Web Applications, Lwin Khin Shar, Hee Beng Kuan Tan
Research Collection School Of Computing and Information Systems
Majority attacks to web applications today are mainly carried out through input manipulation in order to cause unintended actions of these applications. These attacks exploit the weaknesses of web applications in preventing the manipulation of inputs. Among these attacks, cross site scripting attack -- malicious input is submitted to perform unintended actions on a HTML response page -- is a common type of attacks. This paper proposes an approach for thorough auditing of code to defend against cross site scripting attack. Based on the possible methods of implementing defenses against cross site scripting attack, the approach extracts all such defenses …
Analytics-Modulated Coding Of Surveillance Video, Lai-Tee Cheok, Nikhil Gagvani
Analytics-Modulated Coding Of Surveillance Video, Lai-Tee Cheok, Nikhil Gagvani
Research Collection School Of Computing and Information Systems
Video surveillance systems increasingly use H.264 coding to achieve 24x7 recording and streaming. However, with the proliferation of security cameras, and the need to store several months of video, bandwidth and storage costs can be significant. We propose a new compression technique to significantly improve the coding efficiency of H.264 for surveillance video. Video content is analyzed and video semantics are extracted using video analytics algorithms such as segmentation, classification and tracking. In contrast to existing approaches, our Analytics-Modulated Compression (AMC) scheme does not require coding of object shape information and produces bitstreams that are standards-compliant and not limited to …
An Organizational Maturity Model Of Software Product Line Engineering, Faheem Ahmed, Luiz Fernando Capretz
An Organizational Maturity Model Of Software Product Line Engineering, Faheem Ahmed, Luiz Fernando Capretz
Electrical and Computer Engineering Publications
Software product line engineering is an inter-disciplinary concept. It spans the dimensions of business, architecture, process, and the organization. Some of the potential benefits of this approach include cost reduction, improvements in product quality and a decrease in product development time. The increasing popularity of software product line engineering in the software industry necessitates a process maturity evaluation methodology. Accordingly, this paper presents an organizational maturity model of software product line engineering for evaluating the maturity of organizational dimension. The model assumes that organizational theories, behavior, and management play a critical role in the institutionalization of software product line engineering …
Graduation Outliner, Jason Boyle
Graduation Outliner, Jason Boyle
Computer Science and Software Engineering
Planning a quarterly course schedule is a difficult and laborious process for university students which must be repeated every quarter. Students are expected to determine which courses to take based on a large and complex set of requirement criteria. Most academic scheduling research has focused on faculty availability and desires. This project attempts to address the needs of students for whom no quarterly course schedule planning tool is widely available. A Java Swing-based application is described that allows students to create a graphical quarter-by-quarter visualization of the courses they plan to take. The application also accepts a list of graduation …
Automatic Junit Creation Tool: An Exploration In High Level Process Driven Automatic Test Case Creation, William Whitney
Automatic Junit Creation Tool: An Exploration In High Level Process Driven Automatic Test Case Creation, William Whitney
Computer Science and Software Engineering
Many software developers do not enjoy writing unit test code. Often their excuses range from testing is slow to testing is hard. Yet perhaps test derivation has to be neither. The aim of this senior project is to examine the current state of unit test creation for the Java programming language. In particular, inefficiencies with the JUnit test framework regarding test derivation are analyzed. Ultimately, a JUnit test creation tool is created that provides a high-level process for test derivation.
Customer Communicator, Eddie Tavarez
Customer Communicator, Eddie Tavarez
Computer Science and Software Engineering
No abstract provided.
Mining Antagonistic Communities From Social Networks, Kuan Zhang, David Lo, Ee Peng Lim
Mining Antagonistic Communities From Social Networks, Kuan Zhang, David Lo, Ee Peng Lim
Research Collection School Of Computing and Information Systems
During social interactions in a community, there are often sub-communities that behave in opposite manner. These antagonistic sub-communities could represent groups of people with opposite tastes, factions within a community distrusting one another, etc. Taking as input a set of interactions within a community, we develop a novel pattern mining approach that extracts for a set of antagonistic sub-communities. In particular, based on a set of user specified thresholds, we extract a set of pairs of sub-communities that behave in opposite ways with one another. To prevent a blow up in these set of pairs, we focus on extracting a …
Development Of A 3d Game Engine, Nicholas Alexander Woodfield
Development Of A 3d Game Engine, Nicholas Alexander Woodfield
Honors Scholar Theses
This paper presents the development history and specification of a 3D game engine titled "Spark Engine". The term "engine" is used to describe a complex graphics software suite that streamlines application development and provides efficient rendering functionality. A game engine specifically provides tools to simplify game development. Spark Engine is fully shader driven and is built on top of Microsoft's XNA Framework. It is a reusable and flexible platform that can be used to build any type of graphics application ranging from gaming to simulation. The engine was released as open source software under the New BSD License with an …
Using Ant Colonization Optimization To Control Difficulty In Video Game Ai., Joshua Courtney
Using Ant Colonization Optimization To Control Difficulty In Video Game Ai., Joshua Courtney
Undergraduate Honors Theses
Ant colony optimization (ACO) is an algorithm which simulates ant foraging behavior. When ants search for food they leave pheromone trails to tell other ants which paths to take to find food. ACO has been adapted to many different problems in computer science: mainly variations on shortest path algorithms for graphs and networks.
ACO can be adapted to work as a form of communication between separate agents in a video game AI. By controlling the effectiveness of this communication, the difficulty of the game should be able to be controlled. Experimentation has shown that ACO works effectively as a form …
Personalization By Website Transformation: Theory And Practice, Saverio Perugini
Personalization By Website Transformation: Theory And Practice, Saverio Perugini
Computer Science Faculty Publications
We present an analysis of a progressive series of out-of-turn transformations on a hierarchical website to personalize a user’s interaction with the site. We formalize the transformation in graph-theoretic terms and describe a toolkit we built that enumerates all of the traversals enabled by every possible complete series of these transformations in any site and computes a variety of metrics while simulating each traversal therein to qualify the relationship between a site’s structure and the cumulative effect of support for the transformation in a site. We employed this toolkit in two websites. The results indicate that the transformation enables users …
A Discriminative Model Approach For Accurate Duplicate Bug Report Retrieval, Chengnian Sun, David Lo, Xiaoyin Wang, Siau-Cheng Khoo
A Discriminative Model Approach For Accurate Duplicate Bug Report Retrieval, Chengnian Sun, David Lo, Xiaoyin Wang, Siau-Cheng Khoo
Research Collection School Of Computing and Information Systems
Bug repositories are usually maintained in software projects. Testers or users submit bug reports to identify various issues with systems. Sometimes two or more bug reports correspond to the same defect. To address the problem with duplicate bug reports, a person called a triager needs to manually label these bug reports as duplicates, and link them to their "master" reports for subsequent maintenance work. However, in practice there are considerable duplicate bug reports sent daily; requesting triagers to manually label these bugs could be highly time consuming. To address this issue, recently, several techniques have be proposed using various similarity …
Bridging Lightweight And Heavyweight Task Organization: The Role Of Tags In Adopting New Task Categories, Christoph Treude, Margaret-Anne Storey
Bridging Lightweight And Heavyweight Task Organization: The Role Of Tags In Adopting New Task Categories, Christoph Treude, Margaret-Anne Storey
Research Collection School Of Computing and Information Systems
In collaborative software development projects, tasks are often used as a mechanism to coordinate and track shared development work. Modern development environments provide explicit support for task management where tasks are typically organized and managed through predefined categories. Although there have been many studies that analyze data available from task management systems, there has been relatively little work on the design of task management tools. In this paper we explore how tagging with freely assigned keywords provides developers with a lightweight mechanism to further categorize and annotate development tasks. We investigate how tags that are frequently used over a long …
Web2se: First Workshop On Web 2.0 For Software Engineering, Christoph Treude, Margaret-Anne Storey, Kate Ehrlich, Arie Van Deursen
Web2se: First Workshop On Web 2.0 For Software Engineering, Christoph Treude, Margaret-Anne Storey, Kate Ehrlich, Arie Van Deursen
Research Collection School Of Computing and Information Systems
Social software is built around an "architecture of participation" where user data is aggregated as a side-effect of using Web 2.0 applications. Web 2.0 implies that processes and tools are socially open, and that content can be used in several different contexts. Web 2.0 tools and technologies support interactive information sharing, data interoperability and user centered design. For instance, wikis, blogs, tags and feeds help us organize, manage and categorize content in an informal and collaborative way. One goal of this workshop is to investigate how these technologies can improve software development practices. Some of these technologies have made their …
A Comparative Exploration Of Freebsd Bug Lifetimes, Gargi Bougie, Christoph Treude, Daniel M. Germán, Margaret-Anne Storey
A Comparative Exploration Of Freebsd Bug Lifetimes, Gargi Bougie, Christoph Treude, Daniel M. Germán, Margaret-Anne Storey
Research Collection School Of Computing and Information Systems
In this paper, we explore the viability of mining the basic data provided in bug repositories to predict bug lifetimes. We follow the method of Lucas D. Panjer as described in his paper, Predicting Eclipse Bug Lifetimes. However, in place of Eclipse data, the FreeBSD bug repository is used. We compare the predictive accuracy of five different classification algorithms applied to the two data sets. In addition, we propose future work on whether there is a more informative way of classifying bugs than is considered by current bug tracking systems.
The Role Of Emergent Knowledge Structures In Collaborative Software Development, Christoph Treude
The Role Of Emergent Knowledge Structures In Collaborative Software Development, Christoph Treude
Research Collection School Of Computing and Information Systems
Many collaboration features in software development tools draw on lightweight technologies such as tagging and wikis. We propose to study the role of emergent knowledge structures created through these features. Using a mixed-methods approach, we investigate which processes emergent knowledge structures support and how tool support can leverage them.
A Scalable And Energy-Efficient Context Monitoring Framework For Mobile Personal Sensor Networks, Seungwoo Kang, Jinwon Lee, Hyukjae Jang, Youngki Lee, Souneil Park, Junehwa Song
A Scalable And Energy-Efficient Context Monitoring Framework For Mobile Personal Sensor Networks, Seungwoo Kang, Jinwon Lee, Hyukjae Jang, Youngki Lee, Souneil Park, Junehwa Song
Research Collection School Of Computing and Information Systems
The key feature of many emerging pervasive computing applications is to proactively provide services to mobile individuals. One major challenge in providing users with proactive services lies in continuously monitoring users’ context based on numerous sensors in their PAN/BAN environments. The context monitoring in such environments imposes heavy workloads on mobile devices and sensor nodes with limited computing and battery power. We present SeeMon, a scalable and energy-efficient context monitoring framework for sensor-rich, resource-limited mobile environments. Running on a personal mobile device, SeeMon effectively performs context monitoring involving numerous sensors and applications. On top of SeeMon, multiple applications on the …
Awareness 2.0: Staying Aware Of Projects, Developers And Tasks Using Dashboards And Feeds, Christoph Treude, Margaret-Anne Storey
Awareness 2.0: Staying Aware Of Projects, Developers And Tasks Using Dashboards And Feeds, Christoph Treude, Margaret-Anne Storey
Research Collection School Of Computing and Information Systems
Software development teams need to maintain awareness of various different aspects ranging from overall project status and process bottlenecks to current tasks and incoming artifacts. Currently, there is a lack of theoretical foundations to guide tool selection and tool design to best support awareness tasks. In this paper, we explore how the combination of highly configurable project, team and contributor dashboards along with individual event feeds is used to accomplish extensive awareness. Our results stem from an empirical study of several large development teams, with a detailed study of a team of 150 developers and additional data from another four …