首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 718 毫秒
1.
This paper revisits the fundamental concept of the locality of references and proposes to quantify it as a conditional probability: in an address stream, given the condition that an address is accessed, how likely the same address (temporal locality) or an address within its neighborhood (spatial locality) will be accessed in the near future. Previous works use reuse distance histograms as a measure of temporal locality. For spatial locality, some ad hoc metrics have been proposed as a quantitative measure. In contrast, our conditional probability-based locality measure has a clear mathematical meaning and provides a theoretically sound and unified way to quantify both temporal and spatial locality. We showcase that our quantified locality measure can be used to evaluate compiler optimizations, to analyze the locality at different levels of memory hierarchy, to optimize the cache architecture to effectively leverage the locality, and to examine the effect of data prefetching mechanisms.  相似文献   

2.
Coupling represents the degree of interdependence between two software components. Understanding software dependency is directly related to improving software understandability, maintainability, and reusability. In this paper, we analyze the difference between component coupling and component dependency, introduce a two-parameter component coupling metric and a three-parameter component dependency metric. An important parameter in both these metrics is coupling distance, which represents the relevance of two coupled components. These metrics are applicable to layered component-based software. These metrics can be used to represent the dependencies induced by all types of software coupling. We show how to determine coupling and dependency of all scales of software components using these metrics. These metrics are then applied to Apache HTTP, an open-source web server. The study shows that coupling distance is related to the number of modifications of a component, which is an important indicator of component fault rate, stability and subsequently, component complexity.
Srini RamaswamyEmail: Email:

Liguo Yu   received the Ph.D. degree in Computer Science from Vanderbilt University. He is an assistant professor of Computer and Information Sciences Department at Indiana University South Bend. Before joining IUSB, he was a visiting assistant professor at Tennessee Technological University. His research concentrates on software coupling, software maintenance, software reuse, software testing, software management, and open-source software development. Kai Chen   received the Ph.D. degree from the Department of Electrical Engineering and Computer Science at Vanderbilt University. He is working at Google Incorporation. His current research interests include development and maintenance of open-source software, embedded software design, component-based design, model-based design, formal methods and model verification. Srini Ramaswamy   earned his Ph.D. degree in Computer Science in 1994 from the Center for Advanced Computer Studies (CACS) at the University of Southwestern Louisiana (now University of Louisiana at Lafayette). His research interests are on intelligent and flexible control systems, behavior modeling, analysis and simulation, software stability and scalability. He is currently the Chairperson of the Department of Computer Science, University of Arkansas at Little Rock. Before joining UALR, he is the chairman of Computer Science Department at Tennessee Tech University. He is member of the Association of Computing Machinery, Society for Computer Simulation International, Computing Professionals for Social Responsibility and a senior member of the IEEE.   相似文献   

3.
Hardware and software cache optimizations are active fields of research, that have yielded powerful but occasionally complex designs and algorithms. The purpose of this paper is to investigate the performance of combined through simple software and hardware optimizations. Because current caches provide little flexibility for exploiting temporal and spatial locality, two hardware modifications are proposed to support these two kinds of locality. Spatial locality is exploited by using large virtual cache lines which do not exhibit the performance flaws of large physical cache lines. Temporal locality is exploited by minimizing cache pollution with a bypass mechanism that still allows to exploit spatial locality. Subsequently, it is shown that simple software informations on the spatial/temporal locality of array references, as provided by current data locality optimization algorithms, can be used to increase cache performance significantly. The performance and design tradeoffs of the proposed mechanisms are discussed, Software-assisted caches are also shown to provide a very convenient support for further enhancement of data locality optimizations.  相似文献   

4.
刘颖  黄磊  吕方  崔慧敏  王蕾  冯晓兵 《软件学报》2016,27(8):2168-2184
异构架构迅速发展,依靠编译器来挖掘应用程序的数据局部性、充分发挥加速设备片上cache的硬件优势,是十分重要的.然而,传统的重用距离在异构背景下面临平台差异性挑战,缺乏统一的计算框架.为了更好地刻画和优化异构程序的局部性,建立了一个多平台统一的重用距离计算机制和数据布局优化框架.该框架根据应用在异构架构下的并行执行方式,从统计平均的角度提出了放松重用距离,并以OpenCL程序为例给出了它的计算方法,为多平台数据布局优化决策提供统一的依据.为了验证该方法的有效性,在Intel Xeon Phi,AMD Opteron CPU,Tilera TileGX-36这3个平台上进行了实验,结果表明,该方法在多平台上可获得至少平均1.14x的加速比.  相似文献   

5.
基于模型的软件安全预测与分析   总被引:2,自引:0,他引:2  
为了有效表示和分析软件中存在的安全缺陷和隐患,基于模型的软件安全分析技术采用多层次建模技术实现安全特征的描述,在评价软件及软件组件间安全性的过程中提出软件安全预测技术.通过分析软件组成成分之间的关联度获得相关的安全距离,在此基础之上生成安全依赖图,最后根据安全依赖图进行安全预测和分析.基于模型的安全分析技术能够针对可能存在的安全隐患给出预测和分析,为软件的测试和维护提供依据和手段.  相似文献   

6.
刘琳岚  廖子粮  徐磊  舒坚 《软件学报》2018,29(S1):32-42
网络连通性是描述网络性能的一项重要指标.机会传感网络中,节点移动导致网络的拓扑呈动态变化,这使得机会传感网络连通性的表征面临挑战.建立机会传感网络的连通性模型,有助于对机会传感网络的优化和维护.针对机会传感网络拓扑频繁变化的特点,基于时空图理论构建其连通性模型,描述拓扑演化规律;根据消息的可达性,考虑消息传输的时间特性和空间特性,定义了时间距离和拓扑距离,采用统计产品与服务解决方案软件(SPSS)分析其相关性,结果表明,时间距离和拓扑距离无明显相关性;采用网络快照间的时间距离与拓扑距离构建整网连通性模型.实验结果表明,所提出的模型能够从整体上刻画出机会传感网络的连通性;与基于Katz中心性的网络连通度模型相比,该模型能够更好地反映整网连通度的变化.  相似文献   

7.
T. Martin 《Automatica》1983,19(6):755-758
Computers as integral systems components determine the quality of work of operators in industrial production. This paper contributes to improving the design of man-machine systems by proposing a formal aid to human software requirements definition and design. First, the need for considering human requirements is stressed. Since technology is to be considered as ‘non-deterministic’, the designer is faced with a degree of freedom in his design decisions which can be and should be utilized for raising the quality of work of people operating computer-controlled man-machine systems. Then, a hierarchy of human quality criteria applicable for ergonomic judgement of work design measures is derived. Following the principle of prospective work design, these criteria must be considered as design goals just like technical and economic requirements. As a formal aid for making design decisions meeting these comprehensive requirements, the Requirements/Quality Criteria Matrix is proposed. Finally, this method of considering human requirements is illustrated by designing some man-machine interface features for operators of a hypothetical flexible manufacturing system.  相似文献   

8.
Using satellite data for flood forecasting in catchments located in mid-latitudes is challenging to engineers and model developers, in no small part due to the plethora of data sets that need to be retrieved, combined, calibrated and used for simulation in real time. The differences between the various satellite rainfall data products and the continuous improvement in their quantity and quality render the development of a single software tool, able to read and process all the different data sets, particularly difficult. Even if such an endeavour was undertaken, the degree of flexibility and extensibility that such a tool would require to accommodate future versions of data sets, available in different file formats as well as different temporal and spatial resolution should not be underestimated. This paper describes the development of a flood forecasting system that addresses this issue through a modular architecture based on the use of the Open Modeling Interface (OpenMI) standard, which facilitates the interaction between a number of separate software components. It is suggested that this approach greatly simplifies programming and debugging and eliminates the need to create spatial and temporal transformation functions without significantly compromising the overall execution speed. The approach and system were tested for forecasting flood events within a particularly challenging transboundary catchment, the Evros catchment, extending between Greece, Bulgaria and Turkey. The system uses two sets of data sources, as an example (NASA’s TRMM 3B42 and 3B42RT satellite data sets) to forecast flooding in the Evros catchment. Results indicate that OpenMI greatly facilitates the complex interaction of various software components and considerably increases the flexibility and extensibility of the overall system and hence its operational value and sustainability.  相似文献   

9.
网络访问流的局部性特征包括时间局部性和空间局部性,利用数学建模方法研究局部性特征对于缓存和预取系统的设计及性能提高具有重要的作用.通过分析和讨论,利用信息熵和变异系数建立了网络流量局部性特征新的度量方法,信息熵比Zipf定律更能反映访问流的时间局部性,变异系数则解决了访问流的相同文档间的空间局部性建模问题.实验和分析表明,这些参数能较好地描述网络访问流的局部性特征且易于使用.  相似文献   

10.
In addition to offering a simple yet powerful method for decomposing a system, function-class decomposition (FCD) produces an architecture that is more supportive than traditional object-oriented decomposition for several software engineering tasks. A hybrid method that integrates structured analysis with an OO approach, FCD identifies classes in parallel with decomposing the system into a hierarchy of functional modules. Recently, developers extended FCD to integrate UML concepts. Useful for partitioning a system for distribution, the FCD hierarchy provides a framework for controlling development in a distributed software engineering environment. It also helps identify and integrate components in component-based development and supports the system life-cycle maintenance phase. Further, FCD addresses many of the initial analysis and design problems inherent in large and complex OO systems. The authors' experience with testing FCD on several applications validates its compatibility with OO methodologies and modeling techniques  相似文献   

11.
Component dependency is an important software measure. It is directly related to software understandability, maintainability, and reusability. Two important parameters in describing component dependency are the type of coupling between two components and the type of the dependent component. Depending upon the different types of coupling and the type of the dependent components, there can be different effects on component maintenance and component reuse. In this paper, we divide dependent components into three types. We then classify various component dependencies and analyze their effects on maintenance and reuse. Based on the classification, we present a dependency metric and validate it on 11 open-source Java components. Our study shows that a strong correlation exists between the measurement of the dependency of the component and the effort to reuse the component. This indicates that the classification of component dependency and the suggested metric could be further used to represent other external software quality factors.  相似文献   

12.
Behavior-based systems form the basis of autonomous control for many robots, but there is a need to ensure these systems respond in a timely manner. Unexpected latency can adversely affect the quality of an autonomous system’s operations, which in turn can affect lives and property in the real-world. A robots ability to detect and handle external events is paramount to providing safe and dependable operation. This paper presents a concurrent version of a behavior-based system called the Real-Time Unified Behavior Framework, which establishes a responsive basis of behavior-based control that does not bind the system developer to any single behavior hierarchy. The concurrent design of the framework is based on modern software engineering principles and only specifies a functional interface for components, leaving the implementation details to the developers. In addition, the individual behaviors are executed by a real-time scheduler, guaranteeing the responsiveness of routines that are critical to the autonomous system’s safe operation. Experimental results demonstrate the ability of this approach to provide predictable temporal operation, independent of fluctuations in high-level computational loads.  相似文献   

13.
移动机器人的多传感器测距系统设计   总被引:8,自引:0,他引:8  
在移动机器人的路径规划过程中,必须掌握障碍物的距离信息.基于超声波和红外传感器的测距原理,设计了一种移动机器人多传感器测距系统,可测量0~200 cm距离内存在的障碍物,测量误差小于1 %.采用超声波和红外2种传感器组成3组测距采集系统,采集机器人3个不同方位的障碍物信息,解决了单一传感器测距盲区的问题,并详细介绍了该系统的软件和硬件设计.  相似文献   

14.
15.
在实际开发基于Web的远程教学管理系统的基础上,介绍该系统的结构、功能和特点,论述了设计开发基于B/S架构的Web远程教学管理系统的方法和技术.远程教学管理系统的开发主要包括两部分内容,一部分是数据库的设计开发,另一部分是前端应用程序的设计开发,基于以上的开发目标,该系统采用了三层体系结构的B/S模式,包括数据库系统、应用服务器和客户浏览器,选用SQL Server2000作为后台数据库,将软件工程相关理论应用于整个系统开发过程中,结合现有的设备条件和具体的实际情况,构建与实现了基于Web的远程教学管理系统.  相似文献   

16.
ContextInheritance is the cornerstone of object-oriented development, supporting conceptual modeling, subtype polymorphism and software reuse. But inheritance can be used in subtle ways that make complex systems hard to understand and extend, due to the presence of implicit dependencies in the inheritance hierarchy.ObjectiveAlthough these dependencies often specify well-known schemas (i.e., recurrent design or coding patterns, such as hook and template methods), new unanticipated dependency schemas arise in practice, and can consequently be hard to recognize and detect. Thus, a developer making changes or extensions to an object-oriented system needs to understand these implicit contracts defined by the dependencies between a class and its subclasses, or risk that seemingly innocuous changes break them.MethodTo tackle this problem, we have developed an approach based on Formal Concept Analysis. Our Formal Concept Analysis based-Reverse Engineering methodology (FoCARE) identifies undocumented hierarchical dependencies in a hierarchy by taking into account the existing structure and behavior of classes and subclasses.ResultsWe validate our approach by applying it to a large and non-trivial case study, yielding a catalog of hierarchy schemas, each one composed of a set of dependencies over methods and attributes in a class hierarchy. We show how the discovered dependency schemas can be used not only to identify good design practices, but also to expose bad smells in design, thereby helping developers in initial reengineering phases to develop a first mental model of a system. Although some of the identified schemas are already documented in existing literature, with our approach based on Formal Concept Analysis (FCA), we are also able to identify previously unidentified schemas.ConclusionsFCA is an effective tool because it is an ideal classification mining tool to identify commonalities between software artifacts, and usually these commonalities reveal known and unknown characteristics of the software artifacts. We also show that once a catalog of useful schemas stabilizes after several runs of FoCARE, the added cost of FCA is no longer needed.  相似文献   

17.
18.
Behaviour analysis should form an integral part of the software development process. This is particularly important in the design of concurrent and distributed systems, where complex interactions can cause unexpected and undesired system behaviour. We advocate the use of a compositional approach to analysis. The software architecture of a distributed program is represented by a hierarchical composition of subsystems, with interacting processes at the leaves of the hierarchy. Compositional reachability analysis (CRA) exploits the compositional hierarchy for incrementally constructing the overall behaviour of the system from that of its subsystems. In the Tracta CRA approach, both processes and properties reflecting system specifications are modelled as state machines. Property state machines are composed into the system and violations are detected on the global reachability graph obtained. The property checking mechanism has been specifically designed to deal with compositional techniques. Tracta is supported by an automated tool compatible with our environment for the development of distributed applications.  相似文献   

19.
Complexity, cohesion and coupling have been recognized as prominent indicators of software quality. One characterization of software complexity is the existence of dependency relationships. Moreover, the degree of dependency reflects the cohesion and coupling between software elements. Dependencies in the design and implementation phase have been proven to be important predictors of software bugs. We empirically investigated how requirements dependencies correlate with and predict software integration bugs, which can provide early estimates regarding software quality and thus facilitate decision making early in the software lifecycle. We conducted network analysis on the requirements dependency networks of three commercial software projects. Significant correlation is observed between most of our network measures and the number of bugs. Furthermore, many network measures demonstrate significantly greater values for higher severity (or a higher fixing workload). Afterward, we built bug prediction models using these network measures and found that bugs can be predicted with high accuracy and sensitivity, even in cross-project and cross-company contexts. We further identified the dependency type that contributes most to bug correlation, as well as the network measures that contribute more to bug prediction. These observations show that the requirements dependency network can be used as an early indicator and predictor of software integration bugs.  相似文献   

20.
在基于依存的语义角色标注研究中,大多数系统采用机器学习方法进行论元识别和分类。该文分析了依存树的特点,发现论元集中分布于依存树上的特定局部范围内,因此提出一种基于依存树距离的论元识别方法。该方法将候选论元限制在与目标动词的依存树距离不超过3 的范围内,通过制订规则,提取目标动词的最佳候选论元集合。在CoNLL2009中文语料上采用正确的依存树,识别出了98.5%的论元。在此基础上,结合基于机器学习的角色分类,系统F值达到89.46%,比前人的方法 (81.68%)有了较为显著的提升。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号