Slicing for Java Program: A Preliminary Study

Siti Aminah Selamat, Amir Ngah

Abstract


Program slicing is a technique that proposed to help in understanding the program code. After several decades, the technique has been derived into several other techniques and proposed to be applied in many fields such as debugging, program comprehension, software measurement, testing and maintenance. The application of program slicing sometimes specifies for certain programming language such as C and Java. This paper will discuss existing program slicing techniques that were proposed focusing on the Java programming language.

Keywords


Dependency Representation; Java; Program Analysis; Program Slicing;

Full Text:

PDF

References


M. Weiser, “Program slicing,” IEEE Trans. Softw. Eng., vol. SE-10, no. 4, pp. 352–357, 1984.

M. Weiser, “Program slicing,” in Proc. 5th Int. Conf. Softw. Eng., 1981, pp. 439–449.

G. L. Taboada, S. Ramos, R. R. Expósito, J. Touriño, and R. Doallo, “Java in the high performance computing arena: research, practice and experience,” Sci. Comput. Program., vol. 78, no. 5, pp. 425–444, 2013.

K. B. Gallagher and J. R. Lyle, “Using program slicing in software maintenance,” IEEE Trans. Softw. Eng. (TSE ’91), vol. 17, no. 8, pp. 751–761, 1991.

Devaraj, “A static slicing tool for sequential java programs”, M.S. thesis, Fac. of Eng., Indian Inst. of Sci., Bangalore, 2007.

J. Krinke, “Advanced slicing of sequential and concurrent programs,” in IEEE Int. Conf. Softw. Maintenance, ICSM, 2004, pp. 464–468.

Korel and J. Laski, “Dynamic program slicing,” Inf. Process. Lett., vol. 29, no. 3, pp. 155–163, 1988.

Korel and J. Rilling, “Dynamic program slicing methods,” Inf. Softw. Technol., vol. 40, no. 11–12, pp. 647–659, 1998.

S. Danicic, M. Harman, and Y. Sivagurunathan, “A parallel algorithm for static program slicing,” Inf. Process. Lett., vol. 56, no. 6, pp. 307– 313, 1995.

J. Zhao, J. Cheng, and K. Ushijima, “Static slicing of concurrent objectoriented programs,” in Proceedings of 20th International Computer Software and Applications Conference, 1996, pp. 312–320.

Binkley and K. B. Gallagher, “Program slicing,” Adv. in Computes, vol. 43, pp. 1-52, 1996.

Ngah and Selamat, S. A. “A brief survey of program slicing,” Sci. Int., vol. 26, no. 4, pp. 1467-1470, 2014.

J.-F. Bergeretti and B. A. Carré, “Information-flow and data-flow analysis of while-programs,” ACM Trans. Program. Lang. Syst., vol. 7, no. 1, pp. 37–61, 1985.

R. Raphnash and E. Bidyadhar, “Forward static program slicing”, B. of Tech. thesis, Comp. Sci. and Eng. Dept., National Inst. of Technology Rourkela, India, 2010.

H. W. Alomari, M. L. Collard, and J. I. Maletic, “A very efficient and scalable forward static slicing approach,” in Proceedings - Working Conference on Reverse Engineering, WCRE, 2012, pp. 425–434.

H. W. Alomari, M. L. Collard, J. I. Maletic, N. Alhindawi, and O. Meqdadi, “srcSlice: very efficient and scalable forward static slicing,” J. Softw. Evol. Process, vol. 26, no. 11, pp. 931–961, 2014.

B. Korel and J. Rilling, “Dynamic program slicing methods,” Inf. Softw. Technol., vol. 40, no. 11, pp. 647–659, 1998.

G. Kovács, F. Magyar, and T. Gyimóthy, “Static slicing of java programs,” Technical Report TR-96-108, József Attila University, Hungary, December, 1996.

Z. Q. Chen and B. W. Xu, “Slicing concurrent Java programs,” Acm Sigplan Not., vol. 36, no. 4, pp. 41–47, 2001.

J. Zhao and B. Li, “Dependence-based representation for concurrent Java programs and its application to slicing,” in Proc. Int. Symp. Futur. Softw. Technol., 2004, pp. 105- 112.

V. P. Ranganath and J. Hatcliff, “Slicing concurrent java programs using Indus and Kaveri,” Int. J. Softw. Tools Technol. Transf., vol. 9, no. 5–6, pp. 489–504, 2007.

P. Mohapatra, R. Kumar, R. Mall, D. S. Kumar, and M. Bhasin, “Distributed dynamic slicing of Java programs,” J. Syst. Softw., vol. 79, no. 12, pp. 1661–1678, 2006.

T. Wang and A. Roychoudhury, “Dynamic slicing on Java bytecode traces,” ACM Trans. Program. Lang. Syst., vol. 30, no. 2, pp. 1–49, 2008.

Szegedi and T. Gyimóthy, “Dynamic slicing of java bytecode programs,” in Proc. - Fifth IEEE Int. Work. Source Code Anal. Manip. SCAM 2005, 2005, pp. 35–44.

Szegedi, T. Gergely, Á. Beszédes, T. Gyimóthy, and G. Tóth, “Verifying the concept of union slices on java programs,” in Proc. Eur. Conf. Softw. Maint. Reengineering, CSMR, 2007, pp. 233–242.

S. Panda and D. P. Mohapatra, “Application of hierarchical slicing to regression test selection of Java programs,” in Workshop on Advanced Model Based Software Engineering (WAMBSE) of 6th India Software Engineering Conference (ISEC) 2013, vol. 11, no. 2, pp. 3–20, 2013.

S. Panda and D. P. Mohapatra, “ACCo: a novel approach to measure cohesion using hierarchical slicing of Java programs,” Innov. Syst. Softw. Eng., vol. 11, no. 4, pp. 243–260, 2015.

N. Walkinshaw, M. Roper, and M. Wood, “The Java system dependence graph,” in Proc. - 3rd IEEE Int. Work. Source Code Anal. Manip. SCAM 2003, vol. 0, pp. 55–64, 2003.

S. K. Behera, “Slicing of object-oriented and aspect-oriented programs,” M.S thesis, Comp. Sci. and Eng. Dept., National Inst. of Technology Rourkela, India, 2014.

Shu, B. Sun, T. A. D. Henderson, and A. Podgurski, “JavaPDG: a new platform for program dependence analysis,” in Proc. - IEEE 6th Int. Conf. Softw. Testing, Verif. Validation, ICST 2013, 2013, pp. 408–415.

M. Weiser, “Programmers use slices when debugging,” Commun. ACM, vol. 25, no. 7, pp. 446–452, 1982.

Tip, “A survey of program slicing techniques,” J. Program. Lang., vol. 5399, no. 3, pp. 1–65, 1995.

K. L. N. Eranki and K. M. Moudgalya, “Program slicing technique: a novel approach to improve programming skills in novice learners,” in Proceedings of the 17th Annual Conference on Information Technology Education, 2016, pp. 160–165.

M. Lillack, M. Johannes, and U. W. Eisenecker, “Program slicing to understand software generators,” in Proceedings of the 5th International Workshop on Feature-Oriented Software Development, 2013, pp. 41–48.

E. Hosnieh and H. Haga, “A novel approach to program comprehension process using slicing techniques,” J. Comput., vol. 11, no. 5, pp. 353– 365, 2016.

M. Acharya and B. Robinson, “Practical change impact analysis based on static program slicing for industrial software systems,” in Proceeding of the 33rd international conference on Software engineering - ICSE ’11, 2011, pp. 746-755.

O. Chebaro and N. Kosmatov, “Program slicing enhances a verification technique combining static and dynamic analysis,” in Proceedings of the 27th Anuual ACM Symposium on Applied Computing (SAC '12), 2012, pp. 1284–1291.

O. Chebaro, N. Kosmatov, A. Giorgetti, and J. Julliand, “Combining static analysis and test generation for c program debugging,” in International Conference on Tests and Proofs, 2010, pp. 94–100.

O. Chebaro, N. Kosmatov, A. Giorgetti, and J. Julliand, “The SANTE tool: value analysis, program slicing and test generation for c program debugging,” in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 6706 LNCS, pp. 78–83, 2011.

W. Wen, “Software fault localization based on program slicing spectrum,” in 34th Int. Conf. Softw. Eng.(ICSE '12), 2012, pp. 1511– 1514.

W. Wen, B. Li, X. Sun, and J. Li, “Program slicing spectrum-based software fault localization*,” in Proceedings of the International Conference on Software Engineering and Knowledge Engineering (SEKE ’11), 2011, pp. 213–218.

Surendran and P. Samuel, “Fault localization using forward slicing spectrum,” in Proceedings of the 2013 Research in Adaptive and Convergent Systems. ACM, 2013, pp. 397–398.

S. A. Bohner, “Extending software change impact analysis into COTS components,” in Proceedings. 27th Annual NASA Goddard/ IEEE Software Engineering Workshop (SEW'02), 2002, pp. 175–182.

X. Sun, B. Li, C. Tao, and S. Zhang, “HSM-based change impact analysis of object-oriented java programs,” Chinese J. Electron., vol. 20, no. 2, pp. 247–251, 2011.

Li, X. Fan, J. Pang, and J. Zhao, “Model for slicing java programs hierarchically,” J. Comput. Sci. Tech.(Jcst), vol. 19, no. 6, pp. 848–858, 2004.

F. Servant and J. A. Jones, “History slicing,” in 26th IEEE/ACM Int. Conf. Autom. Softw. Eng. (ASE 2011), pp. 452–455, 2011.

W. Alomari, M. L. Collard, and J. I. Maletic, “A slice-based estimation approach for maintenance effort,” in Proceedings - 30th International Conference on Software Maintenance and Evolution, ICSME 2014, 2014, pp. 81–90.

Hoffmann, M. Ussath, T. Holz, and M. Spreitzenbarth, “Slicing droids: program slicing for smali code,” in 28th Annu. ACM Symp. Appl. Comput.( SAC ’13), 2013, pp. 1844–1851.


Refbacks

  • There are currently no refbacks.


Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.

ISSN: 2180-1843

eISSN: 2289-8131