The Java TM platform has the potential to revolutionize computing, with its promise of "write once, run anywhere" TM development. However, in order to realize this potential, Java applications must demonstrate satisfactory performance. Rapid progress has been made in addressing Java performance, although most of the initial efforts have targeted Java client applications. To make a significant impact in network computing, server applications written in the Java language, or those using Java extensions, frameworks, or components, must exhibit a competitive level of performance. One obstacle to obtaining this goal has been the lack of well-defined, server-specific, Java benchmarks. This paper helps address this shortcoming by defining representative Java server benchmarks. These benchmarks represent server application areas, including Web-based dynamic content delivery (servlets), business object frameworks, and multitier transactional data acquisition. Where applicable, we present benchmarks written using both the Java programming model (i.e., servlets) and the legacy model (i.e., the Common Gateway Interface) for direct comparisons of delivered performance. We also present performance measurements and analysis from multiple IBM server platforms, including both uniprocessor and multiprocessor systems.
Since more than a few decades now, Software Configuration Management (SCM) systems have played a key role in orchestrating concurrent activities of collaborative developers. These SCM systems help in maintaining consistency of volatile codebases that are being frequently modified in order to accommodate change. Additionally, various Collaborative Software Development (CSD) tools have been developed to supplement the underlying SCMs, and provide workspace awareness information to software developers. These tools inform developers about possibilities of arising inconsistencies in project codebase due to concurrent activities by collaborative developers on shared artifacts. This paper elaborates on scenarios of collaborative activities of software developers that introduce syntactic and semantic inconsistencies in the project repositories. Furthermore, a discussion on the current state-of-art research in the area of CSD tools is presented, together with their major contributions. The paper identifies, the crucial problem of semantic inconsistencies caused due to behavioral changes on artifacts that has not been sufficiently addressed by existing CSD tools. Finally, a novel method to capture indirect conflicts (syntactic and semantic) is proposed which uses dependency graphs, with proposed additional notations.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.