12065806
On selecting software visualization tools for program understanding in an industrial context
Discusses issues related to selecting software visualization tools for program understanding in an industrial context. Visualization tools are often advocated as an effective means of aiding program understanding by creating graphical representations of the subject system through reverse engineering. However, there are numerous practical considerations related to tool selection for large, real-world projects that are unaddressed. For example, the choices are often limited to commercial tools that are widely available, that have a low cost of deployment and training, and that easily integrate into existing software engineering processes. To illustrate some of these unique issues, two types of constraints imposed on the process of software visualization tool selection to support program understanding in the domain of embedded, real-time control systems are described.
15222093
Towards a documentation maturity model
This paper presents preliminary work towards a maturity model for system documentation. The Documentation Maturity Model (DMM) is specifically targeted towards assessing the quality of documentation used in aiding program understanding. Software engineers and technical writers produce such documentation during regular product development lifecycles. The documentation can also be recreated after the fact via reverse engineering. The DMM has both process and product components; this paper focuses on the product quality aspects.
14387450
Adoption challenges in migrating to web services
This paper outlines some of the challenges inherent in migrating to Web services. Technology adoption is a continual challenge for both tool developers and enterprise users. Web services are a prime example of a red-hot technology that is fraught with adoption issues. Part of the problem is separating marketing hype from business reality. Web services are network-accessible interfaces to application functionality. They are built using Internet technologies such as XML and standard protocols such as SOAP. The adoption issues related to Web services are complex and multifaceted. For example, determining whether this technology is a fundamental advance, rather than something old under a new name, requires technical depth, business acumen, and considerable historical knowledge of past claims. A model problem from the health care industry is used to illustrate some of the adoption issues that arise in migrating to Web services.
6628850
A qualitative assessment of the efficacy of UML diagrams as a form of graphical documentation in aiding program understanding
Graphical documentation is often characterized as an effective aid in program understanding. However, it is an open question exactly which types of graphical documentation are most suitable for which types of program understanding tasks (and in which specific usage contexts). The Unified Modeling Language (UML) is the de facto standard for modeling modern software applications. This paper describes an experiment to assess the qualitative efficacy of UML diagrams in aiding program understanding. The experiment had participants analyze a series of UML diagrams and answer a detailed questionnaire concerning a hypothetical software system. Results from the experiment suggest that the UML's efficacy in support of program understanding is limited by factors such as ill-defined syntax and semantics, spatial layout, and domain knowledge.
14475544
Issues of content and structure for a multilingual web site
Most content on the Web today is in English, but the majority of the Earth's peoples speak languages other than English. To reach a wider audience, future Web sites will have to be multilingual, changing a Web site from one that is American-centric and single-language to one that is globally-oriented and multilingual. While the challenges in creating and maintaining a high-quality Web site in a single language are considerable, working with multiple languages simultaneously creates special challenges, both culturally and technically. This paper outlines issues related to two important aspects of the problem: content and structure. Several representative Web sites are examined to illustrate some of these considerations.
2797141
Evaluating the reverse engineering capabilities of Web tools for understanding site content and structure: a case study
This paper describes an evaluation of the reverse engineering capabilities of three Web tools for understanding site content and structure. The evaluation is based on partitioning Web sites into three classes (static, interactive, and dynamic), and is structured using an existing reverse engineering environment framework (REEF). This case study also represents an initial evaluation of the applicability of the REEF in the related but qualitatively different domain of Web sites. The case study highlights several shortcomings of current Web tools in the context of aiding understanding to support evolution. For example, most Web tools are geared towards new page design and development, not to understanding detailed page content or overall site structure. The evaluation also identified some aspects of the REEF that might benefit from refinement to better reflect Web tool capabilities that support common evolution tasks. For example, Web server log file analysis as a specialized form of data gathering and subsequence information presentation.
46726074
Adaptive computation-aware scheme for software-based predictive block motion estimation
Abstract The progress in computer processing power makes the use of a software codec (encoder and decoder) a feasible solution in many real-time video applications. The efficient distribution of available processing power to frames and blocks by a software codec resulting in higher output quality comprises two phases: (1) frame-level computation distribution and (2) block-level computation allocation. Predictive block motion estimation algorithms are widely employed in current video coding standards to remove the temporal redundancy, but they do not have the ability to distribute available processing power. To overcome this problem, this paper proposes an efficient frame-level computation distribution scheme based on a sliding window approach and an adaptive block-level scheme which adaptively switches between a predictive computation distortion benefit list heuristic and a buffer control like procedure. Experimental results demonstrate that the output quality of software-based predictive block motion estimation algorithms can be uniformly improved by the proposed schemes.
1841883
Mining putative regulatory elements in gene promoter regions of Saccharomyces cerevisiae
The availability of genome-wide gene expression data provides a unique set of genes from which we can decipher the mechanisms underlying the common transcriptional response. Transcription factors, which can bind to specific DNA sites, cooperatively regulate the transcription of genes. This study attempts to mine putative binding sites to investigate how combinations of the sites predicted from known sites and over-represented repetitive elements are distributed in the promoter regions of groups of functionally related genes. The over-represented repetitive elements appearing in the associations are possible transcription factor binding sites. The deduced association rules would facilitate to predict putative regulatory elements and to identify genes which are potentially co-regulated by the putative regulatory elements. Our proposed approach is applied to Saccharomyces cerevisiae and the promoter regions of yeast ORFs.
14237402
cJ: enhancing java with safe type conditions
cJ is an extension of Java that allows supertypes, fields, and methods of a class or interface to be provided only under some static subtyping condition. For instance, a cJ generic class, C<P>, may provide a member method m only when the type provided for parameter P is a subtype of a specific type Q.From a practical standpoint, cJ adds to generic Java classes and interfaces the ability to express case-specific code. Unlike conditional compilation techniques (e.g., the C/C++ "#ifdef" construct) cJ is statically type safe and maintains the modular type-checking properties of Java generic classes: a cJ generic class can be checked independently of the code that uses it. Just like regular Java, checking a cJ class implies that all uses are safe, under the contract for type parameters specified in the class's signature.As a specific application, cJ addresses the well-known shortcomings of the Java Collections Framework (JCF). JCF data structures often throw run-time errors when an "optional" method is called upon an object that does not support it. Within the constraints of standard Java, the authors of the JCF had to either sacrifice static type safety or suffer a combinatorial explosion of the number of types involved. cJ avoids both problems, maintaining both static safety and conciseness.
1919715
Statically safe program generation with safegen
SafeGen is a meta-programming language for writing statically safe generators of Java programs. If a program generator written in SafeGen passes the checks of the SafeGen compiler, then the generator will only generate well-formed Java programs, for any generator input. In other words, statically checking the generator guarantees the correctness of any generated program, with respect to static checks commonly performed by a conventional compiler (including type safety, existence of a superclass, etc.). To achieve this guarantee, SafeGen supports only language primitives for reflection over an existing well-formed Java program, primitives for creating program fragments, and a restricted set of constructs for iteration, conditional actions, and name generation. SafeGen's static checking algorithm is a combination of traditional type checking for Java, and a series of calls to a theorem prover to check the validity of first-order logical sentences constructed to represent well-formedness properties of the generated program under all inputs. The approach has worked quite well in our tests, providing proofs for correct generators or pointing out interesting bugs.
12033624
Computing motif correlations in proteins
Protein motifs, which are specific regions and conserved regions, are found by comparing multiple protein sequences. These conserved regions in general play an important role in protein functions and protein folds, for example, for their binding properties or enzymatic activities. The aim here is to find the existence correlations of protein motifs. The knowledge of protein motif/domain sharing should be important in shedding new light on the biologic functions of proteins and offering a basis in analyzing the evolution in the human genome or other genomes. The protein sequences used here are obtained from the PIR-NREF database and the protein motifs are retrieved from the PROSITE database. We apply data mining approach to discover the occurrence correlations of motif in protein sequences. The correlation of motifs mined can be used in evolution analyses and protein structure prediction. We discuss the latter, i.e., protein structure prediction in this study. The correlations mined are stored and maintained in a database system. The database is now available at http://bioinfo.csie.ncu.edu.tw/ProMotif/.