@article {19721, title = {InterPro in 2011: new developments in the family and domain prediction database.}, journal = {Nucleic Acids Res}, volume = {40}, year = {2012}, month = {2012 Jan}, pages = {D306-12}, abstract = {

InterPro (http://www.ebi.ac.uk/interpro/) is a database that integrates diverse information about protein families, domains and functional sites, and makes it freely available to the public via Web-based interfaces and services. Central to the database are diagnostic models, known as signatures, against which protein sequences can be searched to determine their potential function. InterPro has utility in the large-scale analysis of whole genomes and meta-genomes, as well as in characterizing individual protein sequences. Herein we give an overview of new developments in the database and its associated software since 2009, including updates to database content, curation processes and Web and programmatic interfaces.

}, keywords = {Databases, Protein, Protein Structure, Tertiary, Proteins, Sequence Analysis, Protein, software, Terminology as Topic, User-Computer Interface}, issn = {1362-4962}, doi = {10.1093/nar/gkr948}, author = {Hunter, Sarah and Jones, Philip and Mitchell, Alex and Apweiler, Rolf and Attwood, Teresa K and Bateman, Alex and Bernard, Thomas and Binns, David and Bork, Peer and Burge, Sarah and de Castro, Edouard and Coggill, Penny and Corbett, Matthew and Das, Ujjwal and Daugherty, Louise and Duquenne, Lauranne and Finn, Robert D and Fraser, Matthew and Gough, Julian and Haft, Daniel and Hulo, Nicolas and Kahn, Daniel and Kelly, Elizabeth and Letunic, Ivica and Lonsdale, David and Lopez, Rodrigo and Madera, Martin and Maslen, John and McAnulla, Craig and McDowall, Jennifer and McMenamin, Conor and Mi, Huaiyu and Mutowo-Muellenet, Prudence and Mulder, Nicola and Natale, Darren and Orengo, Christine and Pesseat, Sebastien and Punta, Marco and Quinn, Antony F and Rivoire, Catherine and Sangrador-Vegas, Amaia and Jeremy D Selengut and Sigrist, Christian J A and Scheremetjew, Maxim and Tate, John and Thimmajanarthanan, Manjulapramila and Thomas, Paul D and Wu, Cathy H and Yeats, Corin and Yong, Siew-Yit} } @conference {19505, title = {The Provenance of WINE}, booktitle = {Dependable Computing Conference (EDCC), 2012 Ninth European}, year = {2012}, month = {2012///}, pages = {126 - 131}, abstract = {The results of cyber security experiments are often impossible to reproduce, owing to the lack of adequate descriptions of the data collection and experimental processes. Such provenance information is difficult to record consistently when collecting data from distributed sensors and when sharing raw data among research groups with variable standards for documenting the steps that produce the final experimental result. In the WINE benchmark, which provides field data for cyber security experiments, we aim to make the experimental process self-documenting. The data collected includes provenance information {\textendash} such as when, where and how an attack was first observed or detected {\textendash} and allows researchers to gauge information quality. Experiments are conducted on a common test bed, which provides tools for recording each procedural step. The ability to understand the provenance of research results enables rigorous cyber security experiments, conducted at scale.}, keywords = {Benchmark testing, CYBER SECURITY, cyber security experiments, data attacks, data collection, dependability benchmarking, distributed databases, distributed sensors, experimental research, field data, information quality, MALWARE, Pipelines, provenance, provenance information, raw data sharing, research groups, security of data, self-documenting experimental process, sensor fusion, software, variable standards, WINE, WINE benchmark}, author = {Tudor Dumitras and Efstathopoulos, P.} } @article {14690, title = {Evaluating Dynamic Software Update Safety Using Systematic Testing}, journal = {IEEE Transactions on Software Engineering}, volume = {PP}, year = {2011}, pages = {1 - 1}, abstract = {Dynamic software updating (DSU) systems patch programs on the fly without incurring downtime. To avoid failures due to the updating process itself, many DSU systems employ timing restrictions. However, timing restrictions are theoretically imperfect, and their practical effectiveness is an open question. This paper presents the first significant empirical evaluation of three popular timing restrictions: activeness safety (AS), which prevents updates to active functions; con-freeness safety (CFS), which only allows modifications to active functions when doing so is provably type-safe; and manual identification of the event-handling loops during which an update may occur. We evaluated these timing restrictions using a series of DSU patches to three programs: OpenSSH, vsftpd, and ngIRCd. We systematically applied updates at each distinct update point reached during execution of a suite of system tests for these programs to determine which updates pass and which fail. We found that all three timing restrictions prevented most failures, but only manual identification allowed none. Further, although CFS and AS allowed many more update points, manual identification still supported updates with minimal delay. Finally, we found that manual identification required the least developer effort. Overall, we conclude that manual identification is most effective.}, keywords = {and serviceability, Availability, Computer Systems Organization, Delay, Manuals, Performance of Systems, reliability, Safety, servers, software, software engineering, Test execution, Testing and Debugging}, isbn = {0098-5589}, doi = {10.1109/TSE.2011.101}, author = {Hayden,C. and Smith,E. and Hardisty,E. and Hicks, Michael W. and Foster, Jeffrey S.} } @article {19722, title = {ProPhylo: partial phylogenetic profiling to guide protein family construction and assignment of biological process.}, journal = {BMC Bioinformatics}, volume = {12}, year = {2011}, month = {2011}, pages = {434}, abstract = {

BACKGROUND: Phylogenetic profiling is a technique of scoring co-occurrence between a protein family and some other trait, usually another protein family, across a set of taxonomic groups. In spite of several refinements in recent years, the technique still invites significant improvement. To be its most effective, a phylogenetic profiling algorithm must be able to examine co-occurrences among protein families whose boundaries are uncertain within large homologous protein superfamilies.

RESULTS: Partial Phylogenetic Profiling (PPP) is an iterative algorithm that scores a given taxonomic profile against the taxonomic distribution of families for all proteins in a genome. The method works through optimizing the boundary of each protein family, rather than by relying on prebuilt protein families or fixed sequence similarity thresholds. Double Partial Phylogenetic Profiling (DPPP) is a related procedure that begins with a single sequence and searches for optimal granularities for its surrounding protein family in order to generate the best query profiles for PPP. We present ProPhylo, a high-performance software package for phylogenetic profiling studies through creating individually optimized protein family boundaries. ProPhylo provides precomputed databases for immediate use and tools for manipulating the taxonomic profiles used as queries.

CONCLUSION: ProPhylo results show universal markers of methanogenesis, a new DNA phosphorothioation-dependent restriction enzyme, and efficacy in guiding protein family construction. The software and the associated databases are freely available under the open source Perl Artistic License from ftp://ftp.jcvi.org/pub/data/ppp/.

}, keywords = {algorithms, Archaea, Archaeal Proteins, DNA, Methane, Phylogeny, software}, issn = {1471-2105}, doi = {10.1186/1471-2105-12-434}, author = {Basu, Malay K and Jeremy D Selengut and Haft, Daniel H} } @conference {19502, title = {Second ACM Workshop on Hot Topics in Software Upgrades (HotSWUp 2009)}, series = {OOPSLA {\textquoteright}09}, year = {2009}, month = {2009///}, pages = {705 - 706}, publisher = {ACM}, organization = {ACM}, abstract = {The goal of HotSWUp is to identify cutting-edge research ideas for implementing software upgrades. In the presence of modified user requirements, deployment environments, and bug fixes, actively-used software must be upgraded continuously to ensure its utility and safety. The upgrades incorporate changes to the structure, behavior, configuration, data, or topology of a computer system. Whether applied offline or directly to a live system, such upgrades may have a significant impact on the performance and reliability of the software. Indeed, recent studies and a large body of anecdotal evidence suggest that, in practice, upgrades are failure-prone and can lead to outages, data corruption or latent errors. These problems not only inconvenience end users - they create a significant burden for organizations due to the associated downtime and high administrative costs.}, keywords = {software, upgrades}, isbn = {978-1-60558-768-4}, url = {http://doi.acm.org/10.1145/1639950.1639974}, author = {Tudor Dumitras and Neamtiu, Iulian and Tilevich, Eli} } @conference {12163, title = {Tool supported detection and judgment of nonconformance in process execution}, booktitle = {Empirical Software Engineering and Measurement, 2009. ESEM 2009. 3rd International Symposium on}, year = {2009}, month = {2009/10//}, pages = {312 - 323}, abstract = {In the past decades the software engineering community has proposed a large collection of software development life cycles, models, and processes. The goal of a major set of these processes is to assure that the product is finished within time and budget, and that a predefined set of functional and nonfunctional requirements (e.g. quality goals) are satisfied at delivery time. Based upon the assumption that there is a real relationship between the process applied and the characteristics of the product developed from that process, we developed a tool supported approach that uses process nonconformance detection to identify potential risks in achieving the required process characteristics. In this paper we present the approach and a feasibility study that demonstrates its use on a large-scale software development project in the aerospace domain. We demonstrate that our approach, in addition to meeting the criteria above, can be applied to a real system of reasonable size; can represent a useful and adequate set of rules of relevance in such an environment; and can detect relevant examples of process nonconformance that provide useful insight to the project manager.}, keywords = {aerospace, community;tool, cycle;software, detection;software, development, domain;large-scale, engineering, execution;process, life, management;software, nonconformance, project;nonfunctional, requirement;process, software, supported, tools;}, doi = {10.1109/ESEM.2009.5315983}, author = {Zazworka, N. and Basili, Victor R. and Shull, F.} } @conference {19483, title = {1st ACM workshop on hot topics in software upgrades (HotSWUp 2008)}, booktitle = {OOPSLA Companion{\textquoteright}08 Companion to the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications}, series = {OOPSLA Companion {\textquoteright}08}, year = {2008}, month = {2008///}, pages = {837 - 838}, publisher = {ACM}, organization = {ACM}, abstract = {The goal of HotSWUp is to identify cutting-edge research ideas for implementing software upgrades. Actively-used software is upgraded regularly to incorporate bug fixes and security patches or to keep up with the evolving requirements. Whether upgrades are applied offline or online, they significantly impact the software{\textquoteright}s performance and reliability. Recently-introduced commercial products aim to address various aspects of this problem, e.g., programing language/framework/middleware support for online upgrade, large-scale dissemination of fine-grained updates, live data migration in storage-area networks. However, recent studies and a large body of anecdotal evidence suggest that, in practice, upgrades are failure-prone, tedious, and expensive.}, keywords = {software, upgrades}, isbn = {978-1-60558-220-7}, url = {http://doi.acm.org/10.1145/1449814.1449877}, author = {Tudor Dumitras and Dig, Danny and Neamtiu, Iulian} } @article {12158, title = {The ASC-Alliance Projects: A Case Study of Large-Scale Parallel Scientific Code Development}, journal = {Computer}, volume = {41}, year = {2008}, month = {2008/03//}, pages = {50 - 58}, abstract = {Computational scientists face many challenges when developing software that runs on large-scale parallel machines. However, software-engineering researchers haven{\textquoteright}t studied their software development processes in much detail. To better understand the nature of software development in this context, the authors examined five large-scale computational science software projects operated at the five ASC-Alliance centers.}, keywords = {ASC-Alliance, code, development;large-scale, development;parallel, engineering;, machines;software, Parallel, projects;computational, scale, Science, scientific, scientists;large, software, systems;parallel}, isbn = {0018-9162}, doi = {10.1109/MC.2008.101}, author = {Hochstein, L. and Basili, Victor R.} } @article {16983, title = {Balancing Systematic and Flexible Exploration of Social Networks}, journal = {IEEE Transactions on Visualization and Computer Graphics}, volume = {12}, year = {2006}, month = {2006/10//Sept}, pages = {693 - 700}, abstract = {Social network analysis (SNA) has emerged as a powerful method for understanding the importance of relationships in networks. However, interactive exploration of networks is currently challenging because: (1) it is difficult to find patterns and comprehend the structure of networks with many nodes and links, and (2) current systems are often a medley of statistical methods and overwhelming visual output which leaves many analysts uncertain about how to explore in an orderly manner. This results in exploration that is largely opportunistic. Our contributions are techniques to help structural analysts understand social networks more effectively. We present SocialAction, a system that uses attribute ranking and coordinated views to help users systematically examine numerous SNA measures. Users can (1) flexibly iterate through visualizations of measures to gain an overview, filter nodes, and find outliers, (2) aggregate networks using link structure, find cohesive subgroups, and focus on communities of interest, and (3) untangle networks by viewing different link types separately, or find patterns across different link types using a matrix overview. For each operation, a stable node layout is maintained in the network visualization so users can make comparisons. SocialAction offers analysts a strategy beyond opportunism, as it provides systematic, yet flexible, techniques for exploring social networks}, keywords = {Aggregates, algorithms, attribute ranking, Cluster Analysis, Computer Graphics, Computer simulation, Coordinate measuring machines, coordinated views, Data analysis, data visualisation, Data visualization, exploratory data analysis, Filters, Gain measurement, graph theory, Graphical user interfaces, Information Storage and Retrieval, interactive graph visualization, matrix algebra, matrix overview, Models, Biological, Navigation, network visualization, Pattern analysis, Population Dynamics, Social Behavior, social network analysis, Social network services, social networks, social sciences computing, Social Support, SocialAction, software, statistical analysis, statistical methods, User-Computer Interface}, isbn = {1077-2626}, doi = {10.1109/TVCG.2006.122}, author = {Perer,A. and Shneiderman, Ben} } @article {16949, title = {A telescope for high-dimensional data}, journal = {Computing in Science \& Engineering}, volume = {8}, year = {2006}, month = {2006/04//March}, pages = {48 - 53}, abstract = {Muscular dystrophy is a degenerative disease that destroys muscles and ultimately kills its victims. Researchers worldwide are racing to find a cure by trying to uncover the genetic processes that cause it. Given that a key process is muscle development, researchers at a consortium of 10 institutions are studying 1,000 men and women, ages 18 to 40 years, to see how their muscles enlarge with exercise. The 150 variables collected for each participant will make this data analysis task challenging for users of traditional statistical software tools. However, a new approach to visual data analysis is helping these researchers speed up their work. At the University of Maryland{\textquoteright}s Human-Computer Interaction Library, we developed an interactive approach to let researchers explore high-dimensional data in an orderly manner, focusing on specific features one at a time. The rank-by-feature framework lets them adjust controls to specify what they{\textquoteright}re looking for, and then, with only a glance, they can spot strong relationships among variables, find tight data clusters, or identify unexpected gaps. Sometimes surprising outliers invite further study as to whether they represent errors or an unusual outcome. Similar data analysis problems come up in meteorology, finance, chemistry, and other sciences in which complex relationships among many variables govern outcomes. The rank-by-feature framework could be helpful to many researchers, engineers, and managers because they can then steer their analyses toward the action}, keywords = {Chemistry, Data analysis, data mining, data visualisation, degenerative disease, Degenerative diseases, diseases, Finance, genetic process, Genetics, high-dimensional data, interactive data analysis, medical computing, Meteorology, muscle, muscle development, Muscles, muscular dystrophy, Rank-by-feature framework, software, software libraries, software tools, Telescopes, visual data, visual data analysis}, isbn = {1521-9615}, doi = {10.1109/MCSE.2006.21}, author = {Shneiderman, Ben} } @conference {17895, title = {And away we go: understanding the complexity of launching complex HPC applications}, booktitle = {Proceedings of the second international workshop on Software engineering for high performance computing system applications}, series = {SE-HPCS {\textquoteright}05}, year = {2005}, month = {2005///}, pages = {45 - 49}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, abstract = {Although not well-studied, launching HPC applications is extremely complex. To better understand the launching process, we conducted a simple case study. Based in part on this study and an examination of existing toolkits, we have begun to develop a prototype environment to support HPC application launching.}, keywords = {development, high-performance, Productivity, software}, isbn = {1-59593-117-1}, doi = {10.1145/1145319.1145333}, url = {http://doi.acm.org/10.1145/1145319.1145333}, author = {Yoon,Il-Chul and Sussman, Alan and Porter, Adam} } @article {18431, title = {Software process improvement in small organizations: a case study}, journal = {Software, IEEE}, volume = {22}, year = {2005}, month = {2005/12//nov}, pages = {68 - 75}, abstract = {The Capability Maturity Model for software has become a major force in software development process improvement. We looked at the role of process improvement in the context of a small organization. Although the Capability Maturity Model integration is replacing the CMM, we focused on the older CMM. We had to look at more than which CMM key process areas apply to small businesses. Our overall goal was to institute good software development practices, we used the language of the CMM to gain the management{\textquoteright}s cooperation. Applying these practices is essential to managing growth, yet undertaking this effort without prior experience could impede a small company{\textquoteright}s innovative nature. This case study{\textquoteright}s purpose was to investigate the success factors of a software process improvement effort for a small software development organization.}, keywords = {area;, aspects;, capability, CMM, development, improvement;, key, management;, Maturity, model;, organisational, organization;, process, small, software}, isbn = {0740-7459}, doi = {10.1109/MS.2005.162}, author = {Dangle,K.C. and Larsen,P. and Shaw,M. and Zelkowitz, Marvin V} } @article {18437, title = {Susceptibility matrix: a new aid to software auditing}, journal = {Security Privacy, IEEE}, volume = {2}, year = {2004}, month = {2004/04//mar}, pages = {16 - 21}, abstract = {Testing for security is lengthy, complex, and costly, so focusing test efforts in areas that have the greatest number of security vulnerabilities is essential. This article describes a taxonomy-based approach that gives an insight into the distribution of vulnerabilities in a system.}, keywords = {approach;, auditing;, data;, matrix;, of, program, Security, software, susceptibility, taxonomy-based, testing;, vulnerabilities;}, isbn = {1540-7993}, doi = {10.1109/MSECP.2004.1281240}, author = {Jiwnani,K. and Zelkowitz, Marvin V} } @article {12129, title = {Eight lessons learned during COTS-based systems maintenance}, journal = {Software, IEEE}, volume = {20}, year = {2003}, month = {2003/10//sept}, pages = {94 - 96}, abstract = {To make better decisions relative to CBSs, we need empirical knowledge. To gain this knowledge, we must more fully understand the lifecycle processes people use when harnessing COTS packages. The initial findings reported here are but the first step in our attempts to capture this empirical knowledge. We plan to continue collecting data and investigating the phenomenology of COTS-based systems.}, keywords = {COTS, COTS-based, cycle, life, lifecycle, Maintenance, maintenance;, object-oriented, packages;, phase;, processes;, programming;, reusability;, software, systems}, isbn = {0740-7459}, doi = {10.1109/MS.2003.1231161}, author = {Reifer,D.J. and Basili, Victor R. and Boehm,B.W. and Clark,B.} } @conference {12299, title = {On the use of flow migration for handling short-term overloads}, booktitle = {Global Telecommunications Conference, 2003. GLOBECOM {\textquoteright}03. IEEE}, volume = {6}, year = {2003}, month = {2003/12//}, pages = {3108 - 3112 vol.6 - 3108 - 3112 vol.6}, abstract = {In this work, we investigate flow migration as a mechanism to sustain QoS to network users during short-term overloads in the context of an MPLS IP network. We experiment with three different control techniques: static long-term optimal mapping of flows to LSPs; on-line locally optimal mapping of flows to LSPs at flow set-up time; and dynamic flow migration in response to transient congestion. These techniques are applicable over different timescales, have different run-time overheads, and require different levels of monitoring and control software inside the network. We present results both from detailed simulations and a complete implementation using software IP routers. We use voice-over-IP as our test application, and show that if end-to-end quality is to be maintained during short unpredictable bursts of high load, then a fast-timescale control such as migration is required.}, keywords = {computing;, CONGESTION, congestion;, CONTROL, control;, dynamic, end-to-end, engineering, fast-timescale, flow, Internet, IP, label, long-term, mapping;, migration;, MPLS, multiprotocol, network, network;, networks;, of, optimal, overloads;, protocol;, QoS;, QUALITY, quality;, routers;, routing;, service;, set-up, short-term, software, software;, static, switching;, Telecommunication, telephony;, time;, transient, voice-over-IP;}, doi = {10.1109/GLOCOM.2003.1258807}, author = {Kuo,Kuo-Tung and Phuvoravan,S. and Bhattacharjee, Bobby and Jun La,R. and Shayman,M. and Chang,Hyeong Soo} } @article {12165, title = {User interface evaluation and empirically-based evolution of a prototype experience management tool}, journal = {Software Engineering, IEEE Transactions on}, volume = {29}, year = {2003}, month = {2003/09//}, pages = {838 - 850}, abstract = {Experience management refers to the capture, structuring, analysis, synthesis, and reuse of an organization{\textquoteright}s experience in the form of documents, plans, templates, processes, data, etc. The problem of managing experience effectively is not unique to software development, but the field of software engineering has had a high-level approach to this problem for some time. The Experience Factory is an organizational infrastructure whose goal is to produce, store, and reuse experiences gained in a software development organization. This paper describes The Q-Labs Experience Management System (Q-Labs EMS), which is based on the Experience Factory concept and was developed for use in a multinational software engineering consultancy. A critical aspect of the Q-Labs EMS project is its emphasis on empirical evaluation as a major driver of its development and evolution. The initial prototype requirements were grounded in the organizational needs and vision of Q-Labs, as were the goals and evaluation criteria later used to evaluate the prototype. However, the Q-Labs EMS architecture, data model, and user interface were designed to evolve, based on evolving user needs. This paper describes this approach, including the evaluation that was conducted of the initial prototype and its implications for the further development of systems to support software experience management.}, keywords = {data, development;, empirical, EMS;, engineering;, evaluation;, experience, experience;, Factory;, interface, interfaces;, knowledge, management, management;, model;, models;, organization, performance, prototype, Q-Labs, re-engineering;, reusability;, reuse;, software, system;, systems, tool;, user}, isbn = {0098-5589}, doi = {10.1109/TSE.2003.1232288}, author = {Seaman,C.B and Mendonca,M.G. and Basili, Victor R. and Kim,Y. M} } @article {17849, title = {The virtual microscope}, journal = {IEEE Transactions on Information Technology in Biomedicine}, volume = {7}, year = {2003}, month = {2003/12//}, pages = {230 - 248}, abstract = {We present the design and implementation of the virtual microscope, a software system employing a client/server architecture to provide a realistic emulation of a high power light microscope. The system provides a form of completely digital telepathology, allowing simultaneous access to archived digital slide images by multiple clients. The main problem the system targets is storing and processing the extremely large quantities of data required to represent a collection of slides. The virtual microscope client software runs on the end user{\textquoteright}s PC or workstation, while database software for storing, retrieving and processing the microscope image data runs on a parallel computer or on a set of workstations at one or more potentially remote sites. We have designed and implemented two versions of the data server software. One implementation is a customization of a database system framework that is optimized for a tightly coupled parallel machine with attached local disks. The second implementation is component-based, and has been designed to accommodate access to and processing of data in a distributed, heterogeneous environment. We also have developed caching client software, implemented in Java, to achieve good response time and portability across different computer platforms. The performance results presented show that the Virtual Microscope systems scales well, so that many clients can be adequately serviced by an appropriately configured data server.}, keywords = {biomedical optical imaging, client software, client/server architecture, Computer architecture, Computer Graphics, computer platforms, Computer simulation, Concurrent computing, configured data server, data server software, database management systems, database software, Database systems, digital slide images, digital telepathology, diseases, emulation, Environment, Equipment Design, Equipment Failure Analysis, high power light microscope, Image databases, Image Enhancement, Image Interpretation, Computer-Assisted, Image retrieval, Information retrieval, Information Storage and Retrieval, java, local disks, microscope image data, Microscopy, multiple clients, optical microscopy, PACS, software, Software design, software system, Software systems, Systems Integration, Telepathology, User-Computer Interface, virtual microscope design, Virtual reality, Workstations}, isbn = {1089-7771}, doi = {10.1109/TITB.2004.823952}, author = {Catalyurek,U. and Beynon,M. D and Chang,Chialin and Kurc, T. and Sussman, Alan and Saltz, J.} } @article {12133, title = {Experience in implementing a learning software organization}, journal = {Software, IEEE}, volume = {19}, year = {2002}, month = {2002/06//may}, pages = {46 - 49}, abstract = {In an effort to improve software development and acquisition processes and explicitly reuse knowledge from previous software projects, DaimlerChrysler created a software experience center (SEC). The authors report on challenges the company faced in creating the SEC}, keywords = {ACQUISITION, center;software, centres;project, DaimlerChrysler;explicit, development, experience, improvement;, improvement;automobile, industry;computer, knowledge, management;software, organization;previous, process, processes;software, projects;software, reuse;learning, software}, isbn = {0740-7459}, doi = {10.1109/MS.2002.1003453}, author = {Schneider,K. and von Hunnius,J.-P. and Basili, Victor R.} } @conference {18400, title = {Maintaining software with a security perspective}, booktitle = {Software Maintenance, 2002. Proceedings. International Conference on}, year = {2002}, month = {2002///}, pages = {194 - 203}, abstract = {Testing for software security is a lengthy, complex and costly process. Currently, security testing is done using penetration analysis and formal verification of security kernels. These methods are not complete and are difficult to use. Hence it is essential to focus testing effort in areas that have a greater number of security vulnerabilities to develop secure software as well as meet budget and time constraints. We propose a testing strategy based on a classification of vulnerabilities to develop secure and stable systems. This taxonomy will enable a system testing and maintenance group to understand the distribution of security vulnerabilities and prioritize their testing effort according to the impact the vulnerabilities have on the system. This is based on Landwehr{\textquoteright}s (1994) classification scheme for security flaws and we evaluated it using a database of 1360 operating system vulnerabilities. This analysis indicates vulnerabilities tend to be focused in relatively few areas and associated with a small number of software engineering issues.}, keywords = {(computers);, budget, classification, classification;, constraints;, data;, engineering;, flaw, maintenance;, of, operating, program, scheme;, Security, software, stable, system, systems, systems;, testing;, TIME, vulnerabilities;, vulnerability}, doi = {10.1109/ICSM.2002.1167766}, author = {Jiwnani,K. and Zelkowitz, Marvin V} } @article {12121, title = {An operational process for goal-driven definition of measures}, journal = {Software Engineering, IEEE Transactions on}, volume = {28}, year = {2002}, month = {2002/12//}, pages = {1106 - 1125}, abstract = {We propose an approach (GOM/MEDEA) for defining measures of product attributes in software engineering. The approach is driven by the experimental goals of measurement, expressed via the GQM paradigm, and a set of empirical hypotheses. To make the empirical hypotheses quantitatively verifiable, GQM/MEDEA supports the definition of theoretically valid measures for the attributes of interest based on their expected mathematical properties. The empirical hypotheses are subject to experimental verification. This approach integrates several research contributions from the literature into a consistent, practical, and rigorous approach.}, keywords = {attributes;, definition;, development, empirical, engineering;, expected, experimental, goal-driven, GQM, GQM/MEDEA;, hypotheses;, management;, mathematical, measure, measurement;, metrics;, operational, paradigm;, process;, Product, properties;, quality;, software, verification;}, isbn = {0098-5589}, doi = {10.1109/TSE.2002.1158285}, author = {Briand,L.C. and Morasca,S. and Basili, Victor R.} } @conference {18156, title = {A recognition algorithm for Chinese characters in diverse fonts}, booktitle = {Image Processing. 2002. Proceedings. 2002 International Conference on}, volume = {3}, year = {2002}, month = {2002/06//}, pages = {981 - 984 vol.3 - 981 - 984 vol.3}, abstract = {The paper proposes an algorithm for recognizing Chinese characters in many diverse fonts including Song, Fang, Kai, Hei, Yuan, Lishu, Weibei and Xingkai. The algorithm is based on features derived from peripheral direction contributions and utilizes a set of dictionaries. A 3-level matching is first performed with respect to each dictionary. The distance measures associated with these matches are then fed into a central discriminator to output the final recognition result. We propose a new multi-dictionary matching algorithm for use in the central discriminator that utilizes estimated information of neighborhood fonts. Experiments have been performed on a practical OCR software system whose recognition kernel is based on the proposed algorithm. Fast and accurate recognition has been accomplished both in title recognition, involving all of the 8 fonts, and in main-body recognition, that usually involves only the first 4 most commonly used fonts.}, keywords = {algorithm;, central, character, Chinese, contributions;, direction, discriminator;, diverse, fonts;, image, interfaces;, LANGUAGE, MATCHING, matching;, multi-dictionary, natural, OCR, optical, peripheral, recognition, recognition;, sets;, software, system;}, doi = {10.1109/ICIP.2002.1039139}, author = {Wu,Xianli and M. Wu} } @article {11913, title = {Rover: scalable location-aware computing}, journal = {Computer}, volume = {35}, year = {2002}, month = {2002/10//}, pages = {46 - 53}, abstract = {All the components necessary for realizing location-aware computing are available in the marketplace today. What has hindered the widespread deployment of location-based systems is the lack of an integration architecture that scales with user populations. The authors have completed the initial implementation of Rover, a system designed to achieve this sort of integration and to automatically tailor information and services to a mobile user{\textquoteright}s location. Their studies have validated Rover{\textquoteright}s underlying software architecture, which achieves system scalability through high-resolution, application-specific resource scheduling at the servers and network. The authors believe that this technology will greatly enhance the user experience in many places, including museums, amusement and theme parks, shopping malls, game fields, offices, and business centers. They designed the system specifically to scale to large user populations and expect its benefits to increase with them.}, keywords = {amusement, application-specific, architecture;, automation;, business, business;, computing;, data, entertainment;, handheld, humanities;, integration, LAN;, location-aware, malls;, mobile, museums;, office, parks;, processing;, resource, Rover;, scalability;, scalable, scheduling;, shopping, software, system, theme, units;, user;, wireless}, isbn = {0018-9162}, doi = {10.1109/MC.2002.1039517}, author = {Banerjee,S. and Agarwal,S. and Kamel,K. and Kochut, A. and Kommareddy,C. and Nadeem,T. and Thakkar,P. and Trinh,Bao and Youssef,A. and Youssef, M. and Larsen,R.L. and Udaya Shankar,A. and Agrawala, Ashok K.} } @conference {18453, title = {What we have learned about fighting defects}, booktitle = {Software Metrics, 2002. Proceedings. Eighth IEEE Symposium on}, year = {2002}, month = {2002///}, pages = {249 - 258}, abstract = {The Center for Empirically Based Software Engineering helps improve software development by providing guidelines for selecting development techniques, recommending areas for further research, and supporting software engineering education. A central activity toward achieving this goal has been the running of "e- Workshops" that capture expert knowledge with a minimum of overhead effort to formulate heuristics on a particular topic. The resulting heuristics are a useful summary of the current state of knowledge in an area based on expert opinion. This paper discusses the results to date of a series of e-Workshops on software defect reduction. The original discussion items are presented along with an encapsulated summary of the expert discussion. The reformulated heuristics can be useful both to researchers (for pointing out gaps in the current state of the knowledge requiring further investigation) and to practitioners (for benchmarking or setting expectations about development practices).}, keywords = {based, Center, Computer, defect, development;, education;, electronic, Empiric, engineering, engineering;, eWorkshops;, for, heuristics;, reduction;, Science, software, workshops;}, doi = {10.1109/METRIC.2002.1011343}, author = {Shull, F. and Basili, Victor R. and Boehm,B. and Brown,A. W and Costa,P. and Lindvall,M. and Port,D. and Rus,I. and Tesoriero,R. and Zelkowitz, Marvin V} } @conference {12120, title = {An experience management system for a software engineering research organization}, booktitle = {Software Engineering Workshop, 2001. Proceedings. 26th Annual NASA Goddard}, year = {2001}, month = {2001///}, pages = {29 - 35}, abstract = {Most businesses rely on the fact that their employees possess relevant knowledge and that they can apply it to the task at hand. The problem is that this knowledge is not owned by the organization. It is owned and controlled by its employees. Maintaining an appropriate level of knowledge in the organization is a very important issue. It is, however, not an easy task for most organizations, and it is particularly problematic for software organizations, which are human- and knowledge-intensive. Knowledge management is a relatively new area that has attempted to address these problems. This paper introduces an approach called the "knowledge dust-to-pearls" approach. This approach addresses some of the issues with knowledge management by providing low-barrier mechanisms to "jump start" the experience base. This approach allows the experience base to become more useful more quickly than traditional approaches. This paper describes the approach and gives an example of its use at the Fraunhofer Center for Experimental Software Engineering, Maryland, USA}, keywords = {and, approach;knowledge, base;experience, Center, control;knowledge, data, development, dust-to-pearls, engineering, Engineering;business, engineering;software, experimental, for, Fraunhofer, houses;, knowledge;employee, knowledge;experience, level, maintenance;knowledge, management, management;knowledge, management;software, mechanisms;software, organization;software, organizational, organizations;administrative, organizations;knowledge, organizations;low-barrier, ownership;knowledge-intensive, processing;personnel;research, research, software, system;human-intensive}, doi = {10.1109/SEW.2001.992652}, author = {Basili, Victor R. and Costa,P. and Lindvall,M. and Mendonca,M. and Seaman,C. and Tesoriero,R. and Zelkowitz, Marvin V} } @article {15473, title = {Hierarchical GUI test case generation using automated planning}, journal = {Software Engineering, IEEE Transactions on}, volume = {27}, year = {2001}, month = {2001/02//}, pages = {144 - 155}, abstract = {The widespread use of GUIs for interacting with software is leading to the construction of more and more complex GUIs. With the growing complexity come challenges in testing the correctness of a GUI and its underlying software. We present a new technique to automatically generate test cases for GUIs that exploits planning, a well-developed and used technique in artificial intelligence. Given a set of operators, an initial state, and a goal state, a planner produces a sequence of the operators that will transform the initial state to the goal state. Our test case generation technique enables efficient application of planning by first creating a hierarchical model of a GUI based on its structure. The GUI model consists of hierarchical planning operators representing the possible events in the GUI. The test designer defines the preconditions and effects of the hierarchical operators, which are input into a plan-generation system. The test designer also creates scenarios that represent typical initial and goal states for a GUI user. The planner then generates plans representing sequences of GUI interactions that a user might employ to reach the goal state from the initial state. We implemented our test case generation system, called Planning Assisted Tester for Graphical User Interface Systems (PATHS) and experimentally evaluated its practicality and effectiveness. We describe a prototype implementation of PATHS and report on the results of controlled experiments to generate test cases for Microsoft{\textquoteright}s WordPad}, keywords = {Artificial intelligence, automated planning, automatic test case generation, Automatic testing, correctness testing, goal state, Graphical user interfaces, hierarchical GUI test case generation, initial state, Microsoft WordPad, operators, plan-generation system, planning (artificial intelligence), Planning Assisted Tester for Graphical User Interface Systems, program testing, software}, isbn = {0098-5589}, doi = {10.1109/32.908959}, author = {Memon, Atif M. and Pollack,M. E and Soffa,M. L} } @conference {18442, title = {The role of independent verification and validation in maintaining a safety critical evolutionary software in a complex environment: the NASA Space Shuttle program}, booktitle = {Software Maintenance, 2001. Proceedings. IEEE International Conference on}, year = {2001}, month = {2001///}, pages = {118 - 126}, abstract = {The National Aeronautics and Space Administration (NASA) Space Shuttle program is a multi-billion dollar activity scheduled to span over 40 years. Maintaining such software with requirements for high reliability and mission safety taxes current development methods. The authors present how independent verification and validation (IV amp;V) activities are used to support these requirements. They also show how the IV amp;V activities for this program differ from those of more traditional software developments}, keywords = {activities;NASA, Administration;complex, Aeronautics, amp;V, and, computing;program, critical, developments;aerospace, environment;development, evolutionary, IV, maintenance;software, maintenance;traditional, methods;high, program;National, prototyping;space, reliability;independent, safety;safety, Shuttle, software, software;software, space, validation;mission, vehicles;, verification, verification;safety-critical}, doi = {10.1109/ICSM.2001.972722}, author = {Zelkowitz, Marvin V and Rus,L.} } @conference {15467, title = {Using a goal-driven approach to generate test cases for GUIs}, booktitle = {Software Engineering, 1999. Proceedings of the 1999 International Conference on}, year = {1999}, month = {1999/05//}, pages = {257 - 266}, abstract = {The widespread use of GUIs for interacting with software is leading to the construction of more and more complex GUIs. With the growing complexity comes challenges in testing the correctness of a GUI and the underlying software. We present a new technique to automatically generate test cases for GUIs that exploits planning, a well developed and used technique in artificial intelligence. Given a set of operators, an initial state and a goal state, a planner produces a sequence of the operators that will change the initial state to the goal state. Our test case generation technique first analyzes a GUI and derives hierarchical planning operators from the actions in the GUI. The test designer determines the preconditions and effects of the hierarchical operators, which are then input into a planning system. With the knowledge of the GUI and the way in which the user will interact with the GUI, the test designer creates sets of initial and goal states. Given these initial and final states of the GUI, a hierarchical planner produces plans, or a set of test cases, that enable the goal state to be reached. Our technique has the additional benefit of putting verification commands into the test cases automatically. We implemented our technique by developing the GUI analyzer and extending a planner. We generated test cases for Microsoft{\textquoteright}s Word-Pad to demonstrate the viability and practicality of the approach.}, keywords = {Artificial intelligence, automatic test case generation, goal state, goal-driven approach, Graphical user interfaces, GUIs, hierarchical planning operators, initial state, Microsoft Word-Pad, operators, planning (artificial intelligence), program testing, software, verification commands}, author = {Memon, Atif M. and Pollack,M. E and Soffa,M. L} } @article {18377, title = {Comments on "Towards a framework for software measurement validation"}, journal = {Software Engineering, IEEE Transactions on}, volume = {23}, year = {1997}, month = {1997/03//}, pages = {187 - 189}, abstract = {A view of software measurement that disagrees with the model presented by Kitchenham, Pfleeger, and Fenton (1995), is given. Whereas Kitchenham et al. argue that properties used to define measures should not constrain the scale type of measures, the authors contend that that is an inappropriate restriction. In addition, a misinterpretation of Weyuker{\textquoteright}s (1988) properties is noted.}, keywords = {measurement, metrics;, software, testing;program, validation;program, verification;software}, isbn = {0098-5589}, doi = {10.1109/32.585506}, author = {Morasca,S. and Briand,L.C. and Basili, Victor R. and Weyuker,E.J. and Zelkowitz, Marvin V and Kitchenham,B. and Lawrence Pfleeger,S. and Fenton,N.} } @article {18378, title = {Complexity measure evaluation and selection}, journal = {Software Engineering, IEEE Transactions on}, volume = {21}, year = {1995}, month = {1995/08//}, pages = {641 - 650}, abstract = {A formal model of program complexity developed earlier by the authors is used to derive evaluation criteria for program complexity measures. This is then used to determine which measures are appropriate within a particular application domain. A set of rules for determining feasible measures for a particular application domain are given, and an evaluation model for choosing among alternative feasible measures is presented. This model is used to select measures from the classification trees produced by the empirically guided software development environment of R.W. Selby and A.A. Porter, and early experiments show it to be an effective process}, keywords = {alternative, complexity, criteria;evaluation, development, domain;classification, environment;evaluation, evaluation;empirically, evaluation;software, feasible, guided, measure, measures;application, measures;program, measures;software, metrics;software, model;feasible, performance, quality;software, selection;, software, trees;complexity}, isbn = {0098-5589}, doi = {10.1109/32.403788}, author = {Tian,J. and Zelkowitz, Marvin V} } @article {18426, title = {SEL{\textquoteright}s software process improvement program}, journal = {Software, IEEE}, volume = {12}, year = {1995}, month = {1995/11//}, pages = {83 - 87}, abstract = {We select candidates for process change on the basis of quantified Software Engineering Laboratory (SEL) experiences and clearly defined goals for the software. After we select the changes, we provide training and formulate experiment plans. We then apply the new process to one or more production projects and take detailed measurements. We assess process success by comparing these measures with the continually evolving baseline. Based upon the results of the analysis, we adopt, discard, or revise the process}, keywords = {baseline;detailed, engineering, engineering;, evolving, improvement, Laboratory;continually, measurements;experiment, plans;production, process, program;software, projects;training;software, SEL, software}, isbn = {0740-7459}, doi = {10.1109/52.469763}, author = {Basili, Victor R. and Zelkowitz, Marvin V and McGarry,F. and Page,J. and Waligora,S. and Pajerski,R.} } @conference {18373, title = {An improved classification tree analysis of high cost modules based upon an axiomatic definition of complexity}, booktitle = {Software Reliability Engineering, 1992. Proceedings., Third International Symposium on}, year = {1992}, month = {1992/10//}, pages = {164 - 172}, abstract = {Identification of high cost modules has been viewed as one mechanism to improve overall system reliability, since such modules tend to produce more than their fair share of problems. A decision tree model has previously been used to identify such modules. In this paper, a previously developed axiomatic model of program complexity is merged with the previously developed decision tree process for an improvement in the ability to identify such modules. This improvement has been tested using data from the NASA Software Engineering Laboratory}, keywords = {(mathematics);, analysis;, axiomatic, classification, classification;, complexity;, computational, cost, decision, definition;, high, metrics;, model;, modules;, overall, program, reliability;, software, subroutines;, system, tree, TREES}, doi = {10.1109/ISSRE.1992.285848}, author = {Tian,Jianhui and Porter, Adam and Zelkowitz, Marvin V} } @conference {18406, title = {On the nature of bias and defects in the software specification process}, booktitle = {Computer Software and Applications Conference, 1992. COMPSAC {\textquoteright}92. Proceedings., Sixteenth Annual International}, year = {1992}, month = {1992/09//}, pages = {17 - 24}, abstract = {Implementation bias in a specification is an arbitrary constraint in the solution space. The authors describe the problem of bias and then present a model of the specification and design processes describing individual subprocesses in terms of precision/detail programs, and a model of bias in multi-attribute software specifications. While studying how bias is introduced into a specification it was realized that software defects and bias are dual problems of a single phenomenon. This has been used to explain the large proportion of faults found during the coding phase at the Software Engineering Laboratory at NASA Goddard Space Flight Center}, keywords = {Center;NASA;Software, defects;software, engineering, Flight, Goddard, Laboratory;bias;coding, phase;design, processes;multiattribute, reliability;, reliability;formal, software, space, specification;software}, doi = {10.1109/CMPSAC.1992.217609}, author = {Straub,P. and Zelkowitz, Marvin V} } @article {18389, title = {Experiences building a syntax-directed editor}, journal = {Software Engineering Journal}, volume = {4}, year = {1989}, month = {1989/11//}, pages = {294 - 294}, abstract = {The paper presents a set of techniques for building robust software using the development of a microprocessor SUPPORT programming environment as an example. It discusses some of the attributes built into the system to best handle the concerns of portability, functionality, and effectiveness that had to be dealt with for the system to be reliable on a small machine, and it describes some of the choices made to obtain the best use of available hardware}, keywords = {applications;, editing;, editor;, engineering;, environment;, environments;, microcomputer, microprocessor;, portability;, Programming, robust, software, software;, Support, syntax-directed, text}, isbn = {0268-6961}, author = {Zelkowitz, Marvin V and Kowalchack,B. and Itkin,D. and Herman,L.} }