Program Slicing
   HOME





Program Slicing
In computer programming, program slicing is the computation of the set of program statements, the program slice, that may affect the values at some point of interest, referred to as a slicing criterion. Program slicing can be used in debugging to locate source of errors more easily. Other applications of slicing include software maintenance, Optimization (computer science), optimization, Program analysis (computer science), program analysis, and Non-interference (security), information flow control. Slicing techniques have been seeing a rapid development since the original definition by Mark Weiser. At first, slicing was only static, i.e., applied on the source code with no other information than the source code. Bogdan Korel and Janusz Laski introduced ''dynamic slicing'', which works on a specific execution of the program (for a given execution trace). Other forms of slicing exist, for instance path slicing. Static slicing Based on the original definition of Weiser, informa ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Computer Programming
Computer programming or coding is the composition of sequences of instructions, called computer program, programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of procedures, by writing source code, code in one or more programming languages. Programmers typically use high-level programming languages that are more easily intelligible to humans than machine code, which is directly executed by the central processing unit. Proficient programming usually requires expertise in several different subjects, including knowledge of the Domain (software engineering), application domain, details of programming languages and generic code library (computing), libraries, specialized algorithms, and Logic#Formal logic, formal logic. Auxiliary tasks accompanying and related to programming include Requirements analysis, analyzing requirements, Software testing, testing, debugging (investigating and fixing problems), imple ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Frama-C
Frama-C is a set of interoperable program analyzers for C programs. The name ''Frama-C'' stands for ''Framework for Modular Analysis of C programs''. Frama-C has been developed by the French Commissariat à l'Énergie Atomique et aux Énergies Alternatives ( CEA-List) and Inria. It has also received funding from the Core Infrastructure Initiative. Frama-C, as a static analyzer, inspects programs without executing them. Despite its name, the software is not related to the French project Framasoft. Architecture Frama-C has a modular plugin architecture comparable to that of Eclipse (software) or GIMP. Frama-C relies on CIL ( C Intermediate Language) to generate an abstract syntax tree. The abstract syntax tree supports annotations written in ANSI/ISO C Specification Language (ACSL). Several modules can manipulate the abstract syntax tree to add ANSI/ISO C Specification Language (ACSL) annotations. Among frequently used plugins are: * ''Value analysis'' computes ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Program Analysis
In computer science, program analysis is the process of analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness. Program analysis focuses on two major areas: program optimization and program correctness. The first focuses on improving the program’s performance while reducing the resource usage while the latter focuses on ensuring that the program does what it is supposed to do. Program analysis can be performed without executing the program ( static program analysis), during runtime (dynamic program analysis) or in a combination of both. Static program analysis In the context of program correctness, static analysis can discover vulnerabilities during the development phase of the program.Jovanovic, N., Kruegel, C., & Kirda, E. (2006, May). Pixy: A static analysis tool for detecting web application vulnerabilities. In Security and Privacy, 2006 IEEE Symposium on (pp. 6-pp). IEEE. These vulnerabilities are easier t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Debugging
In engineering, debugging is the process of finding the Root cause analysis, root cause, workarounds, and possible fixes for bug (engineering), bugs. For software, debugging tactics can involve interactive debugging, control flow analysis, Logfile, log file analysis, monitoring at the application monitoring, application or system monitoring, system level, memory dumps, and profiling (computer programming), profiling. Many Programming language, programming languages and Programming tool, software development tools also offer programs to aid in debugging, known as debuggers. Etymology The term ''bug'', in the sense of defect, dates back at least to 1878 when Thomas Edison wrote "little faults and difficulties" in his inventions as "Bugs". A popular story from the 1940s is from Admiral Grace Hopper. While she was working on a Harvard Mark II, Mark II computer at Harvard University, her associates discovered a moth stuck in a relay that impeded operation and wrote in a log book ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Association For Computing Machinery
The Association for Computing Machinery (ACM) is a US-based international learned society for computing. It was founded in 1947 and is the world's largest scientific and educational computing society. The ACM is a non-profit professional membership group, reporting nearly 110,000 student and professional members . Its headquarters are in New York City. The ACM is an umbrella organization for academic and scholarly interests in computer science (informatics). Its motto is "Advancing Computing as a Science & Profession". History In 1947, a notice was sent to various people: On January 10, 1947, at the Symposium on Large-Scale Digital Calculating Machinery at the Harvard computation Laboratory, Professor Samuel H. Caldwell of Massachusetts Institute of Technology spoke of the need for an association of those interested in computing machinery, and of the need for communication between them. ..After making some inquiries during May and June, we believe there is ample interest to ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


World Scientific Publishing
World Scientific Publishing is an academic publisher of scientific, technical, and medical books and journals headquartered in Singapore. The company was founded in 1981. It publishes about 600 books annually, with more than 170 journals in various fields. In 1995, World Scientific co-founded the London-based Imperial College Press together with the Imperial College of Science, Technology and Medicine. Company structure The company head office is in Singapore. The Chairman and Editor-in-Chief is Dr Phua Kok Khoo, while the Managing Director is Doreen Liu. The company was co-founded by them in 1981. Imperial College Press In 1995 the company co-founded Imperial College Press, specializing in engineering, medicine and information technology, with Imperial College London Imperial College London, also known as Imperial, is a Public university, public research university in London, England. Its history began with Prince Albert of Saxe-Coburg and Gotha, Prince Albert, h ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Academic Press
Academic Press (AP) is an academic book publisher founded in 1941. It launched a British division in the 1950s. Academic Press was acquired by Harcourt, Brace & World in 1969. Reed Elsevier said in 2000 it would buy Harcourt, a deal completed the next year, after a regulatory review. Thus, Academic Press is now an imprint of Elsevier. Academic Press publishes reference books, serials and online products in the subject areas of: * Communications engineering * Economics * Environmental science * Finance * Food science and nutrition * Geophysics * Life sciences * Mathematics and statistics * Neuroscience * Physical sciences * Psychology Psychology is the scientific study of mind and behavior. Its subject matter includes the behavior of humans and nonhumans, both consciousness, conscious and Unconscious mind, unconscious phenomena, and mental processes such as thoughts, feel ... Well-known products include the '' Methods in Enzymology'' series and encyclopedias such ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Thomas W
Thomas may refer to: People * List of people with given name Thomas * Thomas (name) * Thomas (surname) * Saint Thomas (other) * Thomas Aquinas (1225–1274) Italian Dominican friar, philosopher, and Doctor of the Church * Thomas the Apostle * Thomas (bishop of the East Angles) (fl. 640s–650s), medieval Bishop of the East Angles * Thomas (Archdeacon of Barnstaple) (fl. 1203), Archdeacon of Barnstaple * Thomas, Count of Perche (1195–1217), Count of Perche * Thomas (bishop of Finland) (1248), first known Bishop of Finland * Thomas, Earl of Mar (1330–1377), 14th-century Earl, Aberdeen, Scotland Geography Places in the United States * Thomas, Idaho * Thomas, Illinois * Thomas, Oklahoma * Thomas, Oregon * Thomas, South Dakota * Thomas, Virginia * Thomas, Washington * Thomas, West Virginia * Thomas County (other) * Thomas Township (other) Elsewhere * Thomas Glacier (Greenland) Arts and entertainment * ''Thomas'' (Burton novel), a 19 ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Susan B
Susan is a feminine given name, the usual English version of Susanna or Susannah. All are versions of the Hebrew name Shoshana, which is derived from the Hebrew ''shoshan'', meaning ''lotus flower'' in Egyptian, original derivation, and several other languages. Variations * Susana, Susanna (or Suzanna), Susannah, Suzana, Suzannah * Susann, Sussan, Suzan, Suzann * Susanne, Suzanne * Susanne * Suzan * Suzanne * Suzette * Susie, Suzy Nicknames Common nicknames for Susan include: * Sue, Susie, Susi (German), Suzi, Suzy, Suzie, Suze, Sanna, Suzie, Sookie, Sukie, Sukey, Subo, Suus (Dutch), Shanti In other languages * Albanian and * * , or * * , or * * , or * Catalan, Estonian and * ** * Czech Czech may refer to: * Anything from or related to the Czech Republic, a country in Europe ** Czech language ** Czechs, the people of the area ** Czech culture ** Czech cuisine * One of three mythical brothers, Lech, Czech, and Rus *Czech (surnam ... and * D ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

IEEE Computer Society
IEEE Computer Society (commonly known as the Computer Society or CS) is a technical society of the Institute of Electrical and Electronics Engineers (IEEE) dedicated to computing, namely the major areas of hardware, software, standards and people, "advancing the theory, practice, and application of computer and information processing science and technology." It was founded in 1946 and is the largest of 39 technical societies organized under the IEEE Technical Activities Board with over 375,000 members in 150 countries, more than 100,000 being based in the United States alone. It operates as a "global, non-governmental, not-for-profit professional society" publishing 23 peer-reviewed journals, facilitating numerous technical committees, and developing IEEE computing standards, It maintains its headquarters in Washington, DC and additional offices in California, China, and Japan. History The IEEE Computer Society traces its origins to the Subcommittee on Large-Scale Computing, est ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Partial Dead Code Elimination
In compiler theory, dead-code elimination (DCE, dead-code removal, dead-code stripping, or dead-code strip) is a compiler optimization to remove dead code (code that does not affect the program results). Removing such code has several benefits: it shrinks program size, an important consideration in some contexts, it reduces resource usage such as the number of bytes to be transferredMalavolta, Ivano et al. “JavaScript Dead Code Identification, Elimination, and Empirical Assessment.” IEEE transactions on software engineering 49.7 (2023): 3692–3714. Web. and it allows the running program to avoid executing irrelevant operations, which reduces its running time. It can also enable further optimizations by simplifying program structure. Dead code includes code that can never be executed (unreachable code), and code that only affects dead variables (written to, but never read again), that is, irrelevant to the program. Examples Consider the following example written in C. int ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

C Program
C (''pronounced'' '' – like the letter c'') is a general-purpose programming language. It was created in the 1970s by Dennis Ritchie and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of the targeted Central processing unit, CPUs. It has found lasting use in operating systems code (especially in Kernel (operating system), kernels), device drivers, and protocol stacks, but its use in application software has been decreasing. C is commonly used on computer architectures that range from the largest supercomputers to the smallest microcontrollers and embedded systems. A successor to the programming language B (programming language), B, C was originally developed at Bell Labs by Ritchie between 1972 and 1973 to construct utilities running on Unix. It was applied to re-implementing the kernel of the Unix operating system. During the 1980s, C gradually gained popularity. It has become one of the most widely used programming langu ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]