| D. C. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Papers presented at the first workshop on Empirical studies of programmers, pages 80--98, Norwood, NJ, USA, 1986. |
....and agreed upon enumeration of these functions, but they include planning, learning, deliberating, perceiving, communicating, being vigilant, and so on. Newell [446, pg. 15] provided a tentative list of such functions, Sometimes other distinctions are used such as systematic versus as needed [388, 676], however these distinctions do not yield different problem solving strategies: it is possible to be either systematic or as needed using either top down or bottom up comprehension. however numerous similar lists can easily be constructed just by browsing through the tables of contents for many ....
Littman, D. C., Pinto, J., Letovsky, S., and Soloway, E. M. Mental models and software maintenance. In ESP'86
....understanding can deteriorate based on such delocalized structures, and this can often lead to serious maintenance errors [18, 21] An important step toward efficient software maintenance is to locate the code relevant to a particular feature. There are two methods for achieving this [12]. First, a systematic approach can be followed that requires a complete understanding of the program behavior before any code modification. Second, an as needed approach can be adopted that requires only a partial understanding of the program so as to locate, as quickly as possible, certain code ....
D. Littman, J. Pinto, S. Letovsky, and E. Soloway, "Mental Models and Software Maintenance," in Empirical Studies of Programmers (E. Soloway and S. Iyengar, Eds.). Ablex Publishing Corp., Norwood, NJ, 1986.
....These maintenance activities all have their own specific objective and one would assume, their own most effective method of understanding code to complete the tasks. On the other hand, existing cognition literature tells us that cognitive results are best when code is systematically understood [9]. This requires that all code is understood at the same level of thorough detail. For large size software this does not seem feasible nor desirable and we need a better model to understand code cognition in an industrial setting. To this end we investigated two existing comprehension models: ....
....to understanding, for example code comprehension one line at a time. An opportunistic approach involves studying code in a more haphazard fashion, i.e. there is no logical order to understanding. The distinction between systematic and opportunistic (or as needed) is important because Littman et al. [9] found that programmers who used a systematic approach to comprehension were more successful at modifying code (once they understood it) than programmers who took the opportunistic approach. Although the systematic strategy seems better or safer, it is unrealistic for reasonably large programs. We ....
[Article contains additional citation context not shown here]
David C. Littman, Jeannine Pinto, Stanley Letovsky, and Elliot Soloway, Mental Models and Software Maintenance, In: Empirical Studies of Programmers, Eds. Soloway and Iyengar, c fl1986, Ablex Publishing Corporation, pp. 80 - 98.
....opportunistic top down, or a mixed systematic opportunistic strategy. In a systematic approach, the programmer applies a systematic order to understanding code completely, for example code comprehension line by line. An opportunistic approach studies code in an as needed fashion. Littman et al. [3] found that programmers using a systematic approach to comprehension are more successful at modifying code (once they understand it) Unfortunately, the systematic strategy is unrealistic for large programs. A disadvantage to the opportunistic approach is that understanding is incomplete and code ....
....are more successful at modifying code (once they understand it) Unfortunately, the systematic strategy is unrealistic for large programs. A disadvantage to the opportunistic approach is that understanding is incomplete and code modifications based on this understanding can be error prone [3]. Various aspects of this model were confirmed in prior studies. 9] showed for one enhancement task that the software engineer switched between all model components of the Integrated Model and reported actions occurring at all three levels of the model. 8] extended these results to include a ....
D. C. Littman, J. Pinto, S. Letovsky, E. Soloway, `Mental Models and Software Maintenance', Empirical Studies of Programmers, Eds. Soloway, Iyengar, Ablex, 1986, pp. 80 - 98.
....For formal problem solving several theories existed. Software engineering can be seen as a special form of problem solving. The splitting of the software lice cycle into several steps is the division of a problem into subproblems (a general problem solving method) The use of program plans [7, 8, 9, 10] can be compared with the schemata [11] Functional fixedness in programming was proved by [12] The human understander is best viewed as an opportunistic processor, capable of exploiting both Dusink 2 bottom up and top down cues as they become available [13] This is consistent with the memory ....
....in the short term memory. As the short term memory is non associative and can contain up till 7 items, one sees the relevance of laying relations with existing knowledge [17, 6, 16, 18] There are different approaches when trying to understand code, a systematic strategy and an ad hoc strategy [8, 19]. In the systematic approach first the total documentation is studied in a systematic manner. In the ad hoc approach documentation is read at random. The systematic approach can take too much time for large pieces of program and the ad hoc strategy gives poorer results when adapting a program. ....
[Article contains additional citation context not shown here]
D. Littman, J. Pinto, S. Letovsky, and E. Soloway, "Mental Models and Software Maintenance, " in Soloway and Iyengar [26], pp. 80--98. (Human/Computer Interaction Series).
....is the case for many practical systems. von Mayrhauser and Vans [22, 23] studied processes of program comprehension and frequencies of individual actions of the programmers. They also suggest that a tool performing partial comprehension will be very helpful in maintenance work. Littman et al. [14] investigate the strategies to use for feature location. They described two feature location strategies: the systematic strategy and as needed strategy. To adopt a systematic strategy, the programmer needs to understand the behavior of the program totally before any change can be made. On the ....
D.C. Littman, J. Pinto, S. Letovsky and E. Soloway, Mental Models and Software Maintenance, Proceedings of the Conference on Empirical Studies of Programmers, Albex, Norwood NJ, pp. 80 - 98, 1986
....program information. Inquiry episodes are a key part of the assimilation process. Such an episode consists of a programmer asking a question, conjecturing an answer, and then searching through the code and documentation to verify or reject the conjecture. Systematic and as needed. Littman et al. [20] observed that programmers use either a systematic approach, reading the code in detail and tracing through control and data flow, or they use an as needed approach, focusing onlyon the code related to the task at hand. Soloway et al. 33] combined these two theories as macro strategies aimed to ....
D. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Empirical Studies of Programmers, pages 80--98. Ablex Publishing Corporation, 1986.
....a set of numbers) and then searching through the code and documentation to verify the answer (the conjecture might be verified if x is in an assignment statement where two values are compared to see which is greater) 2. 4 Systematic and as needed program understanding strategies Littman et al. [9] observed that either programmers systematically read the code in detail, tracing through the control flow and data flow abstractions in the program to gain a global understanding of the program, or they take an as needed approach, focusing only on the code related to a particular task at hand. ....
D.C. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Empirical Studies of Programmers, pages 80--98. Ablex Publishing Corporation, 1986.
....evolves using the programmer s knowledge base together with program source code and documentation. The assimilation process may be a bottom up or top down process depending on the programmer s initial knowledge base. 2. 4 Systematic and as needed program understanding strategies Littman et al. [20] observed that either programmers systematically read the code in detail, tracing through the control flow and data flow abstractions in the program to gain a global understanding of the program, or they take an as needed approach, focusing on only the code related to a particular task at hand. ....
D.C. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Empirical Studies of Programmers, pages 80--98. Ablex Publishing Corporation, 1986.
....language to a specialised domain, the hoped for gains in productivity can be achieved. 2.1. 3 Highly Maintainable Design Studies have shown that the most important factor affecting maintainability is the size of the software system: more lines of code will generally require more maintenance effort [17,30]. The small total size of a system produced by the language oriented approach will implies that it will be therefore be highly maintainable. In addition, major functions of the system are implemented as a few lines of code in an appropriate language: this means that bug fixing and enhancements are ....
D. C. Littman, J. Pinto, S. Letovsky & E. Soloway, "Mental Models and Software Maintenance," in Empirical Studies of Programmers, E. Soloway & S. Iyengar, eds., Ablex, Norwood, NJ, 1986, 80--98.
....functional components and roles. The challenges in achieving understanding of a poorly understood system are to generate such hypotheses, which are in fact correct, and to establish why they are correct. Rephrasing slightly to reflect the connection with related work on program understanding [Littman 86, Chandrasekaran 93] a reverse engineering project can be considered to include many instances of two subtasks: Making a hypothesis about the existence of particular functional components and their roles, especially causal relationships, in producing particular higher level run time behavior of ....
....some hypotheses that are informal and ambiguous. But if the understanding of the system achieved by reverse engineering is not to be entirely superficial say, we are supposed to use it to decide how to modify the program then it is necessary to have a strong mental model of the system [Littman 86] So some other hypotheses simply must get to the heart of the matter and deal with a level of detail where ambiguity (intentional or not) is inappropriate. 2.4. Substantive Hypotheses To argue that our main technical claim (see Section 3.4) implies the intractability of reverse engineering, we ....
Littman, D.C., Pinto, J., Letovsky, S., and Soloway, E. Mental models and software maintenance. In Empirical Studies of Programmers, E. Soloway and S. Iyengar, eds., Ablex, 1986, 80-98.
....that full comprehension is not obtained. 3. Program Comprehension Within the software maintenance process, anywhere up to 60 of the total time is spent on program comprehension [9] Due to this large amount of effort required there has been a sizeable amount of research carried out in this area [6, 33, 41, 55, 60]. Program comprehension is a technique used by software engineers when they are attempting to understand a program. From this and other research, several cognitive models have been described for program comprehension. Researchers agree however that there is no one cognitive model that explains the ....
....strategies discovered, and briefly describes a set of comprehension criteria for program comprehension tools. 3.1 Cognitive Models for Program Comprehension The following is a summary of some of the better known cognitive models. For more detailed information on the cognitive models refer to [6] [33], 41] 55] 60] 75] 3.1.1 Bottom up Comprehension The bottom up model for program comprehension groups together small chunks of the source code to build up higher levels of abstraction. These abstractions are then grouped together to eventually produce a high level design of the code [60] ....
[Article contains additional citation context not shown here]
D. C. Littman, J. Pinto, S. Letovsky, and E. Soloway, Mental models and software maintenance, In Empirical Studies of Programmers, pp. 80-98, Ablex Publishing Corporation, 1986.
....and programming expertise; a mental model that represents the programmer s current understanding of the program; and an assimilation process that describes how the mental model evolves using the programmer s knowledge base and program information. Systematic and as needed. Littman et al. [8] observed that programmers use either a systematic approach, reading the code in detail and tracing through control and data flow, or they use an as needed approach, focusing onlyon the code related to the task at hand. Integrated approaches. Von Mayrhauser and Vans [18] combined the top down, ....
D. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Empirical Studies of Programmers, pages 80--98. Ablex Publishing Corporation, 1986.
....be comprehended with incomplete or no documentation. However, these results do suggest that expert programmers familiar with the application domain may comprehend programs top down. 2. 3 Systematic and As Needed Strategies Littman et al. observed programmers enhancing a personnel database program [87]. They observed that programmers either systematically read the code in detail, tracing through the control flow and data flow abstractions in the program to gain a global understanding of the program, or that they take an as needed approach, focusing only on the code relating to a particular task ....
D.C. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Empirical Studies of Programmers, pages 80--98. Ablex Publishing Corporation, 1986.
....a knowledge based tool should support: understanding the system architecture and understanding impacts of change. Understanding of system architecture is necessary for almost all other program comprehension tasks in large systems. Practical software maintainers must follow an as needed strategy [9] that locates and examines only program components related to the needed change if their work is to be completed within reasonable deadlines. But an understanding of the system architecture is essential to locate and provide context to these key components. Software Engineers study code by ....
Littman, D. C., Pinto, J., Letovsky, S., and Soloway, E., "Mental Models and Software Maintenance," in Empirical Studies of Programmers (E. Soloway and S. Iyengar, eds.), Ablex Publishing Corp., Norwood, N.J., 1986.
....understand a block of code, the strategy may be to go about it systematically by reading and understanding every single line of code while building a mental representation at higher and higher levels of abstraction. An opportunistic strategy studies code in a more haphazard fashion. Littman et al. [22] found that programmers who used a systematic approach to comprehension were more successful at modifying code (once they understood it) than programmers who took the opportunistic approach. On the other hand, for large programs systematic understanding may not be possible. Strategies also differ ....
.... used by experts 67 42 Novice Cobol Protocol Analysis Investigate nature of [35] 58 Experts [Knowledge Structures] expert chunks Enhance 250 6 Expert Fortran Protocol Analysis Study question asking [21] Hypotheses] hypotheses 250 10 Expert Fortran Protocol Analysis Show success failure [22] [Strategies] of task related to strategies 1057 12 Grad C Protocol Analysis Book paradigm using beacons [23] Behaviors] better than source listings 200 40 Expert Cobol Protocol Analysis Study role of knowledge [25] Fortran [Strategies] in programming 250 20 Expert Fortran Protocol Analysis ....
David C. Littman, Jeannine Pinto, Stanley Letovsky, and Elliot Soloway, Mental Models and Software Maintenance, In: Empirical Studies of Programmers, Eds. Soloway and Iyengar, c fl1986, Ablex Publishing Corporation, pp. 80 - 98.
.... cues, the type of maintenance[vMV93] and the maintainer s syntactic and semantic knowledge base[YB93] The process might also be systematic an attempt to understand the entire program, or as needed , where only the parts of a program necessary to carry out a particular task are investigated[LPLS86] Another view holds that program understanding takes place in a feedback loop[DPKV94] where the program implementation is compared to the maintainer s conceptual model of how the program should solve the problem. Research in the area of program comprehension has been focused on providing tools ....
D.C. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In E. Solloway and S. Iyengar, editors, Empirical Studies of Programmers, pages 80--98, Norwood, NJ, 1986.
No context found.
D. C. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Papers presented at the first workshop on Empirical studies of programmers, pages 80--98, Norwood, NJ, USA, 1986.
No context found.
D. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Soloway and Iyengar, editors, Empirical Studies of Programmers, First Workshop, pages 80--98, 1996.
No context found.
D. Littman, J. Pinto, S. Letovsky, and E. Soloway, "Mental Models and Software Maintenance," Empirical Studies of Programmers, Proc. First Workshop, pp. 80-98, 1996.
No context found.
D. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Soloway and Iyengar, editors, Empirical Studies of Programmers, First Workshop, pages 80--98, 1996.
No context found.
D. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Soloway and Iyengar, editors, Empirical Studies of Programmers, First Workshop, pages 80--98, 1996.
No context found.
D. Littman, J. Pinto, S. Letovsky, and E. Soloway, "Mental models and software maintenance," in Empirical Studies of Programmers, First Workshop, 1996, pp. 80--98.
No context found.
D. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Soloway and Iyengar, editors, Empirical Studies of Programmers, First Workshop, pages 80--98, 1996.
No context found.
D. Littman, J. Pinto, S. Letovsky, and E. Soloway, "Mental Models and Software Maintenance", in Empirical Studies of Programmers, E. Soloway and S. Iyengar (editors), Ablex, Norwood, NJ, 1986.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC