Analyzing the conceptual integrity of computing applications through ontological excavation and analysis

In the world of commercial computing, consumers are being inundated with baroque, bloated, and difficult-to-use computing applications, tools that use computational methods and technologies to perform tasks. Market forces demand that new versions of these applications implement more features, the user-accessible behaviors and services implemented by the application, than their predecessors or competitors. Ensuring that planned features required for market competitiveness enhance a computing application without these side effects first requires that we understand how these features contribute to the overall design and conceptual integrity of the application. While conceptual integrity affects all aspect of the application, we are primarily interested in how an application's user-accessible features have been designed and implemented. To this end, we have developed a research framework, methodologies, and artifacts for measuring the conceptual integrity of a computing artifact from its theory of the world or its ontology. We use conceptual coherence, which we define as the degree to which an application's concepts are tightly related, as a first approximation for conceptual integrity. We claim the following: any computing application has a central or core set of concepts that are essential to that application's ontology and can be identified through analytical means; and concepts that are not essential to an application's ontology either exist to support core concepts or are peripheral to the ontology. Peripheral concepts reduce an application's conceptual coherence. We have developed the method of ontological excavation to identify the concepts in a computing application and model them as an ontology expressed as a semantic network. To identify core and peripheral concepts and to measure an ontology's conceptual coherence, we developed methodologies for ontological analysis. If usefulness depends on the conceptual integrity of an application's ontology such that it ensures high fitness to a problem domain, then we would expect that users solving problems in that domain will invoke the concepts integral to the solution more often than those concepts that do not. Thus, to validate our structural measures, we claim the following: the probable use of the application will invoke core concepts more frequently than peripheral concepts in the ontology.

[1]  Barr and Feigenbaum Edward A. Avron The Handbook of Artificial Intelligence , 1981 .

[2]  Michalis Vazirgiannis,et al.  c ○ 2001 Kluwer Academic Publishers. Manufactured in The Netherlands. On Clustering Validation Techniques , 2022 .

[3]  Eleni Stroulia,et al.  From run-time behavior to usage scenarios: an interaction-pattern mining approach , 2002, KDD.

[4]  Gale Moore,et al.  Reducing the gap between what users know and what they need to know , 2000, CUU '00.

[5]  B. A. Farbey,et al.  Structural Models: An Introduction to the Theory of Directed Graphs , 1966 .

[6]  Nicolas Anquetil,et al.  Characterizing the informal knowledge contained in systems , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[7]  Klaus Schmid,et al.  A systematic approach to derive the scope of software product lines , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[8]  Deborah L. McGuinness,et al.  CLASSIC: a structural data model for objects , 1989, SIGMOD '89.

[9]  Nicola Guarino,et al.  Ontological Analysis of Taxonomic Relationships , 2000, ER.

[10]  Eleni Stroulia,et al.  Reverse Engineering Interaction Plans for Legacy Interface Migration , 2002, CADUI.

[11]  Gale Moore,et al.  Are We All In the Same "Bloat"? , 2000, Graphics Interface.

[12]  Shailey Minocha,et al.  Supporting Scenario-Based Requirements Engineering , 1998, IEEE Trans. Software Eng..

[13]  Pamela Zave,et al.  Feature interactions and formal specifications in telecommunications , 1993, Computer.

[14]  Mark T. Keane,et al.  Cognitive Psychology: A Student's Handbook , 1990 .

[15]  Annie I. Antón,et al.  Functional paleontology: system evolution as the user sees it , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[16]  Colin Potts,et al.  Studying the evolution and enhancement of software features , 2000, Proceedings 2000 International Conference on Software Maintenance.

[17]  Deborah L. McGuinness,et al.  The Chimaera Ontology Environment , 2000, AAAI/IAAI.

[18]  Helen Z. Margetts,et al.  Computerization and Controversy: Value Conflicts and Social Choices , 1993, J. Inf. Technol..

[19]  Murray Maloney,et al.  SGML on the Web : small steps beyond H.T.M.L. , 1997 .

[20]  Thomas Ertl,et al.  Computer Graphics - Principles and Practice, 3rd Edition , 2014 .

[21]  Bill Hillier,et al.  Space is the machine: A configurational theory of architecture , 1996 .

[22]  Eleni Stroulia,et al.  Recovering software requirements from system-user interaction traces , 2002, SEKE '02.

[23]  Robert Balzer Living with COTS , 2002, ICSE '02.

[24]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[25]  Dewayne E. Perry,et al.  Dimensions of software evolution , 1994, Proceedings 1994 International Conference on Software Maintenance.

[26]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[27]  Spencer Rugaber,et al.  Domain analysis and reverse engineering , 1994, Proceedings 1994 International Conference on Software Maintenance.

[28]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[29]  Martin G. Everett,et al.  Models of core/periphery structures , 2000, Soc. Networks.

[30]  Thomas R. Gruber,et al.  Toward principles for the design of ontologies used for knowledge sharing? , 1995, Int. J. Hum. Comput. Stud..

[31]  W. Freeman The physiology of perception. , 1991, Scientific American.

[32]  Peter F. Patel-Schneider,et al.  Living wiht Classic: When and How to Use a KL-ONE-Like Language , 1991, Principles of Semantic Networks.

[33]  D. Oxley Design Paradigms: Case Histories of Error and Judgment in Engineering , 1997 .

[34]  Dan R. Olsen,et al.  Developing user interfaces , 1998 .

[35]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[36]  Henry Petroski,et al.  The Evolution of Useful Things , 1992, Symposium on Designing Interactive Systems.

[37]  John Mylopoulos,et al.  Capturing more world knowledge in the requirements specification , 1982, ICSE '82.

[38]  S. Joy Mountford,et al.  The Art of Human-Computer Interface Design , 1990 .

[39]  Kenji Takahashi,et al.  Inquiry-based requirements analysis , 1994, IEEE Software.

[40]  Eleni Stroulia,et al.  From legacy to Web through interaction modeling , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[41]  Anna De Fina,et al.  The ethnographic interview , 2019, The Routledge Handbook of Linguistic Ethnography.

[42]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[43]  Terry Halpin Conceptual schema and relational database design (2nd ed.) , 1996 .

[44]  Colin Potts,et al.  Abstraction and context in requirements engineering: Toward a synthesis , 1997, Ann. Softw. Eng..

[45]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[46]  John F. Sowa,et al.  Conceptual Structures: Information Processing in Mind and Machine , 1983 .

[47]  Colin Potts,et al.  Design of Everyday Things , 1988 .

[48]  Joanna McGrenere,et al.  "Bloat": the objective and subject dimensions , 2000, CHI Extended Abstracts.

[49]  David W. Embley,et al.  Object-oriented systems analysis - a model-driven approach , 1991, Yourdon Press Computing series.

[50]  Jean-Marc Nerson,et al.  Object-Oriented Analysis and Design , 1992, TOOLS.

[51]  Douglas B. Lenat,et al.  CYC: a large-scale investment in knowledge infrastructure , 1995, CACM.

[52]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[53]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[54]  R. Lewontin ‘The Selfish Gene’ , 1977, Nature.

[55]  Allen Newell,et al.  The psychology of human-computer interaction , 1983 .

[56]  Annie I. Antón,et al.  Goal Decomposition and Scenario Analysis in Business Process Reengineering , 1994, CAiSE.

[57]  M E Raichle,et al.  Visualizing the mind. , 1994, Scientific American.

[58]  Henry Petroski,et al.  Invention by design: how engineers get from thought to thing , 1996 .

[59]  Douglas K. van Duyne,et al.  The Design of Sites , 2003 .

[60]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[61]  Kevin M. Brooks Dancing with Digital Interface Complexity: A Story Approach , 2002, IEEE Multim..

[62]  Guillermo Arango,et al.  Domain Analysis and Software Systems Modeling , 1991 .

[63]  Peyman Oreizy A flexible approach to decentralized software evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[64]  David Benyon,et al.  The skull beneath the skin: entity-relationship models of information artifacts , 1996, Int. J. Hum. Comput. Stud..

[65]  Steve Maguire,et al.  Writing Solid Code , 1993 .

[66]  Rob Kling,et al.  Computerization, Office Routines, and Changes in Clerical Work , 1991, Computerization and Controversy, 2nd Ed..

[67]  Xiaodi Huang,et al.  Identification of clusters in the Web graph based on link topology , 2003, Seventh International Database Engineering and Applications Symposium, 2003. Proceedings..

[68]  R S Pressman,et al.  Software engineering: a practitioner's approach (2nd ed.) , 1986 .

[69]  Karen Holtzblatt,et al.  Contextual design , 1997, INTR.

[70]  Alexander L. Wolf,et al.  A conceptual basis for feature engineering , 1999, J. Syst. Softw..

[71]  Alexander L. Wolf,et al.  Feature Engineering , 1998 .

[72]  David A. Cook,et al.  Requirements Risks Can Drown Software Projects , 2002 .

[73]  Martin G. Everett,et al.  Peripheries of cohesive subsets , 2000, Soc. Networks.

[74]  Annie I. Antón,et al.  Requirements Engineering in the Long-Term: Fifty Years of Telephony Feature Evolution , 1999 .

[75]  Mark Guzdial,et al.  Ectropic Software , 1999 .

[76]  Martin S. Feather,et al.  Building an evolution transformation library , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[77]  Stewart Brand,et al.  How Buildings Learn , 1994 .

[78]  Mario Kolberg,et al.  Feature interactions in services for Internet personal appliances , 2002, 2002 IEEE International Conference on Communications. Conference Proceedings. ICC 2002 (Cat. No.02CH37333).

[79]  Deborah L. McGuinness,et al.  An Environment for Merging and Testing Large Ontologies , 2000, KR.

[80]  H. Velthuijsen,et al.  Feature interactions in telecommunications systems , 1993, IEEE Communications Magazine.

[81]  Tom Rodden,et al.  Presenting ethnography in the requirements process , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[82]  Kyo Chul Kang Feature-oriented development of applications for a domain , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[83]  Brad A. Myers,et al.  User interface software tools , 1995, TCHI.

[84]  James Martin,et al.  Object-oriented analysis and design , 1992 .

[85]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[86]  W. Buxton Human-Computer Interaction , 1988, Springer Berlin Heidelberg.

[87]  John Davey,et al.  Studying the process of software change: an analysis of software evolution , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[88]  R.A. DeMillo,et al.  An extended overview of the Mothra software testing environment , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[89]  Alessandro Maccari Experiences in assessing product family software architecture for evolution , 2002, ICSE '02.

[90]  Terry Halpin Data modeling in UML and ORM revisited , 1999 .

[91]  Meir M. Lehman,et al.  Software's future: managing evolution , 1998, IEEE Software.

[92]  G. Herman,et al.  The feature interaction problem in telecommunications systems , 1989 .

[93]  Colin Potts,et al.  Ontological excavation: unearthing the core concepts of the application , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[94]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[95]  Mikio Aoyama Continuous and discontinuous software evolution: aspects of software evolution across multiple product lines , 2001, IWPSE '01.

[96]  Kellogg S. Booth,et al.  An evaluation of a multiple interface design solution for bloated software , 2002, CHI.

[97]  Andrew S. Ball,et al.  Instant Notes Ecology , 1998 .

[98]  Lowell Jay Arthur Software evolution: the software maintenance challenge , 1988 .

[99]  Chris F. Kemerer,et al.  An empirical analysis of software evolution profiles and outcomes , 1999, ICIS.

[100]  David Attenborough The Living Planet. A Portrait of the Earth , 1985 .

[101]  H. Penny Nii,et al.  The Handbook of Artificial Intelligence , 1982 .

[102]  J. J. V. R. Wintraecken,et al.  The NIAM Information Analysis Method , 1990, Springer Netherlands.

[103]  Meir M. Lehman,et al.  The impact of feedback in the global software process , 1999, J. Syst. Softw..

[104]  Rachel Harrison,et al.  An empirical study of the evolution of a software system , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[105]  Kellogg S. Booth,et al.  The design and evaluation of multiple interfaces : a solution for complex software , 2002 .

[106]  Luqi A Graph Model for Software Evolution , 1990, IEEE Trans. Software Eng..

[107]  Giancarlo Guizzardi,et al.  An ontological approach to domain engineering , 2002, SEKE '02.

[108]  Tom Mens,et al.  Future trends in software evolution metrics , 2001, IWPSE '01.

[109]  T. Brooks Information Ecologies: Using Technology with Heart , 1999 .

[110]  Richard Barker,et al.  CASE method - entity relationship modelling , 1990, Computer aided systems engineering.

[111]  Shamkant B. Navathe,et al.  Conceptual Database Design: An Entity-Relationship Approach , 1991 .

[112]  Doug Lowe,et al.  Powerpoint 2000 For Windows For Dummies , 1997 .

[113]  Meir M. Lehman,et al.  Laws of Software Evolution Revisited , 1996, EWSPT.

[114]  Lawrence G. Jones,et al.  Software Process Improvement and Product Line Practice: CMMI and the Framework for Software Product Line Practice , 2002 .

[115]  David Benyon,et al.  Conceptual Modeling for User Interface Development , 1999, Practitioner Series.

[116]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[117]  Colin Potts,et al.  Using schematic scenarios to understand user needs , 1995, Symposium on Designing Interactive Systems.

[118]  Juha Kuusela,et al.  Requirements engineering for product families , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[119]  Terry Halpin,et al.  Conceptual Schema and Relational Database Design , 1995 .

[120]  Richard Bentley,et al.  Integrating ethnography into the requirements engineering process , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[121]  Yow-Jian Lin,et al.  A feature-interaction benchmark for IN and beyond , 1993, IEEE Communications Magazine.

[122]  Alan M. Davis,et al.  Software requirements - analysis and specification , 1990 .

[123]  Hermann Kaindl,et al.  An integration of scenarios with their purposes in task modeling , 1995, Symposium on Designing Interactive Systems.

[124]  Spencer Rugaber,et al.  Dowsing: a tool framework for domain-oriented browsing of software artifacts , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[125]  William Kent,et al.  Data and Reality: Basic Assumptions in Data Processing Reconsidered , 1978 .

[126]  John A. Bateman Ontology Construction and Natural Language , 1993 .

[127]  Don S. Batory,et al.  A tutorial on feature oriented programming and product-lines , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[128]  Veda C. Storey,et al.  An ontological analysis of the relationship construct in conceptual modeling , 1999, TODS.

[129]  Norman,et al.  Structural Models: An Introduction to the Theory of Directed Graphs. , 1966 .

[130]  Evelyn Jacob,et al.  Qualitative Research Traditions: A Review , 1987 .

[131]  Chris F. Kemerer,et al.  An Empirical Approach to Studying Software Evolution , 1999, IEEE Trans. Software Eng..

[132]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[133]  Dewayne E. Perry,et al.  Implications of evolution metrics on software maintenance , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[134]  Niklaus Wirth,et al.  A Plea for Lean Software , 1995, Computer.

[135]  John Scott What is social network analysis , 2010 .

[136]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[137]  Donald A. Norman,et al.  The invisible computer , 1998 .

[138]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[139]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[140]  Deborah L. McGuinness,et al.  Conceptual Modeling for Distributed Ontology Environments , 2000, ICCS.

[141]  W. Gibbs Taking Computers to Task , 1997 .

[142]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[143]  Richard Y. Wang,et al.  Anchoring data quality dimensions in ontological foundations , 1996, CACM.

[144]  Idris Hsi,et al.  Analyzing the Conceptual Coherence of Computing Applications Through Ontological Excavation , 2004 .

[145]  David Chenho Kung,et al.  Status report: requirements engineering , 1993, IEEE Software.

[146]  Colin Potts,et al.  Requirements models in context , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[147]  Anil K. Jain,et al.  Data clustering: a review , 1999, CSUR.

[148]  Nicola Guarino,et al.  Towards a methodology for ontology based model engineering , 2000 .

[149]  Mehdi T. Harandi,et al.  Workshop on software specification and design , 1988, SOEN.

[150]  Spencer Rugaber,et al.  User interface reengineering , 1998 .

[151]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[152]  Fred D. Davis Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology , 1989, MIS Q..

[153]  Clive Richards,et al.  The Blind Watchmaker , 1987, Bristol Medico-Chirurgical Journal.

[154]  Atif M. Memon,et al.  GUI ripping: reverse engineering of graphical user interfaces for testing , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[155]  Thomas R. Gruber,et al.  Ontolingua: a mechanism to support portable ontologies , 1991 .

[156]  Leon J. Osterweil,et al.  Product families and process families , 1996, Proceedings 10th International Software Process Workshop.

[157]  M. Bunge A World Of Systems , 1979 .

[158]  Nicola Guarino,et al.  Formal ontology, conceptual analysis and knowledge representation , 1995, Int. J. Hum. Comput. Stud..

[159]  Dirk Muthig,et al.  Efficient and systematic software evolution through domain analysis , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[160]  B. Nardi Studying context: a comparison of activity theory, situated action models, and distributed cognition , 1995 .

[161]  Tharam S. Dillon,et al.  Extended activity diagrams for adaptive workflow modelling , 2001, Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISORC 2001.

[162]  S RosenblumDavid,et al.  An Architecture-Based Approach to Self-Adaptive Software , 1999 .

[163]  Guillermo Arango,et al.  Designing software for customization and evolution , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

[164]  Arie van Deursen,et al.  Identifying objects using cluster and concept analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[165]  Don S. Batory,et al.  Achieving extensibility through product-lines and domain-specific languages: a case study , 2000, TSEM.

[166]  David F. Redmiles,et al.  Extracting usability information from user interface events , 2000, CSUR.

[167]  B. Hillier,et al.  The Social Logic of Space , 1984 .