A study that examines the prevalence and distribution of function side effects in general-purpose software systems is presented. The study is conducted on 19 open source systems comprising over 9.8 Million lines of co...
详细信息
ISBN:
(纸本)9781509008094
A study that examines the prevalence and distribution of function side effects in general-purpose software systems is presented. The study is conducted on 19 open source systems comprising over 9.8 Million lines of code (MLOC). Each system is analyzed and the number of function side effects is determined. The results show that global variables modification and parameters by reference are the most prevalent side effect types. Thus, conducting accurate program analysis for many adaptive changes processes (e.g., automatic parallelization to improve their parallelizability to better utilize multi-core architectures) becomes very costly or impractical to conduct. Analysis of the historical data over a seven-year period for 10 systems show that there is a relatively large percentage of affected functions over the lifetime of the systems. The trend is flat in general, therefore posing further problems for inter-procedural analysis.
An empirical study that examines challenges middleware software systems have to take full advantages of multicore technology is presented. The study is conducted on 9 open source middleware systems containing over 3.3...
详细信息
ISBN:
(纸本)9781467399852
An empirical study that examines challenges middleware software systems have to take full advantages of multicore technology is presented. The study is conducted on 9 open source middleware systems containing over 3.39 million lines of code. Each system is analyzed and the inhibitors to parallelization are detected and presented. Additionally, some challenges in analyzing, adapting, and re-engineering middleware systems to better utilize modern multi-core architectures are determined including function side effects. function side effects categorized based on their types and the complexity they pose in conducting inter-procedural static analysis. The data shows that the most prevalent inhibitor by far is functions called within forloops that have sideeffects. Moreover, the study shows that parameters by reference and global variables modification are the most prevalent sideeffects that poses the greatest challenges in reengineering middleware systems to improve their parallelizability to better utilize multi-core architectures. That is, conducting accurate program analysis with existing software engineering tools becomes exigent and impractical with those sideeffects. The study suggests some software engineering techniques (e.g., refactoring) that have the potential to improve the parallelizability of middleware systems.
暂无评论